SegMNet
Repository for SegMNet project. Kidney tumor/cyst segmentator based on DeepLabV3+ (UNet++) and KiTS23 dataset.
Install / Use
/learn @lskog7/SegMNetREADME
SegMNet v0.1.0
SegMNet is a Python-based web application designed for processing and segmenting kidney CT scans. Users can upload CT studies in .nii.gz format, which are processed by a segmentation model to generate 3D segmentations. While future versions aim to support interactive online visualization, the application currently enables downloading processed results for further use.
Table of Contents
- Features
- Technologies Used
- Project Structure
- Setup Instructions
- Usage Guide
- API Endpoints
- Contributing
- License
Features
- File Upload:
Supports all popular images formats (.png,.jpg,.jpeg,.webp), numpy-arrays, torch-tensors and.nii.gzfiles for 3D CT scan uploads. - Segmentation:
Leverages a trained segmentation model for efficient predictions. Predict both kidney and tumor, if present. - Visualization:
Interactive visualization using Gradio functions. - Download Results:
Export segmentation outputs in.npyor.png.
Technologies Used
| Component | Technology/Library | Purpose |
|------------------------|--------------------|-----------------------------------|
| Backend Framework | Gradio | API management and web server |
| Segmentation Model | PyTorch | 3D segmentation model |
| Visualization | Gradio | Interactive visualization |
| Deployment | Poetry | Containerization and serving |
Setup Instructions
Prerequisites
- Python 3.11+
- PyTorch 2.4+
- Poetry
- CUDA-enabled GPU (optional, for faster inference)
Installation Steps
-
Clone the Repository
git clone https://github.com/lskog7/SegMNet.git cd SegMNet -
Create virtual environment and install dependencies
poetry config virtualenvs.in-project true poetry install poetry shell -
Run the Server
gradio segmnet.py
Usage Guide
- Upload CT Scans: Use simple Gradio interface to upload an image.
- Process Scans: The segmentation model processes uploads to generate results.
- Review and Download Results: Seen the model output and export processed files in desired formats.
Contributing
We welcome contributions! To contribute:
- Fork the repository.
- Create a feature branch.
- Submit a pull request with detailed changes.
License
This project is licensed under the MIT License.
Note
Features and APIs marked as "Planned" are not yet implemented. Updates will be rolled out incrementally.
