Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sd338/fractureai
This tool helps people upload X-rays to find broken bones. It uses a machine to mark where the breaks are and gives users marked pictures to download. A smart computer also helps people understand their broken bones and gives them advice.
https://github.com/sd338/fractureai
css cv2 flask gorq html javascript matplotlib npm numpy pandas pydantic python react scikit-learn torch torchvision ultralytics
Last synced: 4 days ago
JSON representation
This tool helps people upload X-rays to find broken bones. It uses a machine to mark where the breaks are and gives users marked pictures to download. A smart computer also helps people understand their broken bones and gives them advice.
- Host: GitHub
- URL: https://github.com/sd338/fractureai
- Owner: Sd338
- License: mit
- Created: 2024-10-04T06:43:12.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-10-25T14:28:35.000Z (about 2 months ago)
- Last Synced: 2024-10-25T17:39:12.862Z (about 2 months ago)
- Topics: css, cv2, flask, gorq, html, javascript, matplotlib, npm, numpy, pandas, pydantic, python, react, scikit-learn, torch, torchvision, ultralytics
- Language: Python
- Homepage: https://huggingface.co/spaces/sd711/Fracture_AI
- Size: 287 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# FractureAI π©Ίβ¨
## Overview π
**FractureAI** is a smart web application that helps doctors find and understand fractures in X-ray images. It uses advanced technology to analyze the images, highlight the broken bones, and create detailed reports about the fractures. This tool makes it easier for healthcare professionals to diagnose and treat patients quickly and accurately. FractureAI is user-friendly, allowing anyone to upload images and get instant results without needing technical knowledge.
## Features π
- **User-Friendly Interface**: Simple design to upload and analyze images.
- **Fast Fracture Detection**: Uses YOLOv8 for quick identification of fractures.
- **Detailed Analysis Reports**: Generates reports with insights about detected fractures.
- **Supports Multiple Users**: Efficiently handles many users at once without delays.## Project Structure π
Here's a quick look at how the project is organized:
```
FractureAI/
β
βββ backend/ # Backend logic for the FractureAI project
β βββ app/ # Main backend application directory
β β βββ __init__.py # Makes the 'app' directory a package
β β βββ main.py # Main FastAPI application file
β β βββ api/ # API-related files (endpoints)
β β β βββ __init__.py # Makes the 'api' directory a package
β β β βββ endpoints.py # API route definitions for serving requests
β β βββ models/ # Model-related files
β β β βββ yolo.py # YOLO model integration and functionality
β β β βββ llama.py # LLAMA model integration and functionality
β β βββ core/ # Core application helpers and configs
β β β βββ config.py # Configuration settings for the backend
β β β βββ helpers.py # Helper functions used across the backend
β β βββ utils/ # Utility functions and classes
β β β βββ image_processing.py # Functions for image processing (loading, preprocessing)
β β β βββ database.py # Database-related utilities (if needed)
β β βββ static/ # Static files like images, CSS, JS
β β β βββ sample_xray.jpg # Example sample X-ray image for testing
β βββ tests/ # Unit and integration tests for the backend
β β βββ test_api.py # Test cases for the API endpoints
β β βββ test_model.py # Test cases for model integration and outputs
β
βββ huggingface/ # Hugging Face-specific logic for the project
β βββ spaces/ # Hugging Face Spaces deployment files
β β βββ app.py # Main script for deploying on Hugging Face Spaces
β β βββ requirements.txt # Dependencies required by Hugging Face Spaces
β βββ models/ # Hugging Face-related model files
β β βββ llama_model.py # Hugging Face LLAMA model handling
β βββ utils/ # Utility functions specific to Hugging Face
β β βββ helpers.py # Helper functions for Hugging Face usage
β
βββ vercel/ # Vercel-specific logic for serverless backend
β βββ api/ # API files for Vercel deployment (serverless functions)
β β βββ index.py # Main handler for Vercel functions
β βββ config/ # Configuration files for Vercel
β β βββ vercel.json # Vercel configuration settings (routing, etc.)
β βββ utils/ # Utility functions for Vercel
β β βββ helpers.py # Vercel-specific helper functions
β
βββ training/ # Model training and dataset management
β βββ datasets/ # Folder for datasets used for training models
β β βββ custom_data/ # Custom dataset for training the fracture detection models
β β β βββ images/ # Images used for training (input)
β β β βββ annotations/ # Annotations for the images (output)
β βββ scripts/ # Scripts to manage training, preprocessing, and evaluation
β β βββ preprocess.py # Preprocess images and annotations for training
β β βββ train_yolo.py # Script to train the YOLO model
β β βββ evaluate.py # Script to evaluate model performance after training
β βββ configs/ # Configuration files for training models
β β βββ yolo_config.yaml # YOLO model configuration file for training parameters
β βββ outputs/ # Model outputs (checkpoints, logs)
β β βββ model_checkpoints/ # Directory to store trained model checkpoints
β β βββ logs/ # Directory to store training logs
β
βββ frontend/ # Frontend logic for FractureAI (Vercel/Vue/React)
β βββ public/ # Public assets (e.g., HTML, images)
β β βββ index.html # Main HTML page
β βββ src/ # Source code for the frontend components
β β βββ components/ # React components used in the app
β β β βββ ImageUploader.jsx # Component for uploading images
β β β βββ ResultsDisplay.jsx # Component for displaying results after image processing
β β βββ styles/ # Stylesheets for the app
β β β βββ App.css # Main stylesheet for the frontend
β β βββ App.jsx # Main React app component
β β βββ index.js # Entry point for React app
β
βββ requirements.txt # Python dependencies for the entire project
βββ package.json # Node.js dependencies for the frontend
βββ README.md # Project documentation
βββ .gitignore # Git ignore file to exclude files from version control
βββ LICENSE # Project license file
```## Getting Started π
### Prerequisites π
Ensure you have the following installed:
- Python 3.7 or higher
- Node.js and npm
- A terminal or command prompt to run commands### Installation π οΈ
1. Clone the project:
```bash
git clone https://github.com/yourusername/FractureAI.git
cd FractureAI
```2. Install the necessary Python packages:
```bash
pip install -r requirements.txt
```3. Start the backend server:
```bash
cd backend/app
python main.py
```4. Start the frontend:
```bash
cd frontend
npm install
npm start
```5. Open your browser and go to `http://localhost:5000` to use the app.
## Usage π‘
1. Upload an X-ray image using the upload feature.
2. Click the "Analyze X-ray" button to check the image.
3. View the results, including marked fractures and a detailed report.## Contributing π€
Want to help? Hereβs how you can contribute:
1. Fork the project.
2. Create a new branch: `git checkout -b feature/YourFeature`.
3. Make your changes and commit: `git commit -m 'Add some feature'`.
4. Push your branch: `git push origin feature/YourFeature`.
5. Open a pull request.**Guidelines**:
- Follow the existing code style.
- Write clear commit messages.
- Test your changes before submitting a pull request.Thank you for contributing!
## π License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.## π§ Contact
For questions or support, please reach out via the contact methods on my GitHub profile.