https://github.com/henriqueslab/maicrobe
https://github.com/henriqueslab/maicrobe
Last synced: 8 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/henriqueslab/maicrobe
- Owner: HenriquesLab
- License: bsd-3-clause
- Created: 2025-03-05T15:46:01.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-09-23T15:04:19.000Z (9 months ago)
- Last Synced: 2025-09-23T17:18:15.105Z (9 months ago)
- Language: Python
- Size: 102 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/HenriquesLab/mAIcrobe/raw/main/LICENSE)
[](https://pypi.org/project/napari-mAIcrobe)
[](https://python.org)
[](https://github.com/HenriquesLab/mAIcrobe/actions/workflows/test_oncall.yml)
[](https://napari-hub.org/plugins/napari-mAIcrobe)
# mAIcrobe

**mAIcrobe: a napari plugin for microbial image analysis.**
mAIcrobe is a comprehensive napari plugin that facilitates image analysis workflows of bacterial cells. Combining state-of-the-art segmentation approaches, morphological analysis and adaptable classification models into a napari-plugin, mAIcrobe aims to deliver a user-friendly interface that helps inexperienced users perform image analysis tasks regardless of the bacterial species and microscopy modality.
## โจ Why mAIcrobe?
### ๐ฌ **For Microbiologists**
- **Automated Cell Segmentation**: StarDist2D, Cellpose, and custom U-Net models
- **Deep learning classification**: 6 pre-trained CNN models for *S. aureus* cell cycle determination plus support for custom models
- **Morphological Analysis**: Comprehensive measurements using scikit-image regionprops
- **Interactive Filtering**: Real-time cell selection based on computed statistics
### ๐ **For Quantitative Research**
- **Colocalization Analysis**: Multi-channel fluorescence quantification
- **Automated Reports**: HTML reports with visualizations and statistics
- **Data Export**: CSV export for downstream statistical analysis
## ๐ Installation
**Standard Installation:**
```bash
pip install napari-mAIcrobe
```
**Development Installation:**
```bash
git clone https://github.com/HenriquesLab/mAIcrobe.git
cd mAIcrobe
pip install -e .
```
**๐ฏ [Complete Tutorial โ](docs/tutorials/basic-workflow.md)**
## ๐ Key Features
### ๐จ **Cell Segmentation**
- **Thresholding**: Isodata and Local Average methods with watershed
- **StarDist2D**: custom models
- **Cellpose**: cyto3 model
- **Custom U-Net Models**: custom models
### ๐ง **Single cell Classification**
- **Pre-trained Models**: 6 specialized models for cell cycle determination in *S. aureus*:
- DNA+Membrane (Epifluorescence & SIM)
- DNA-only (Epifluorescence & SIM)
- Membrane-only (Epifluorescence & SIM)
- **Custom Model Support**: Load your own TensorFlow models
### ๐ **Comprehensive Morphometry**
- **Shape Analysis**: Area, perimeter, eccentricity
- **Intensity Measurements**: Fluorescence statistics
- **Custom Measurements**: Septum detection
## ๐ Documentation
| Guide | Purpose |
|-------|---------|
| **[๐ Getting Started](docs/user-guide/getting-started.md)** | Installation to first analysis |
| **[๐ฌ Segmentation Guide](docs/user-guide/segmentation-guide.md)** | Choose the right segmentation method |
| **[๐ Cell Analysis](docs/user-guide/cell-analysis.md)** | Complete analysis workflows |
| **[๐ง Cell Classification Guide](docs/user-guide/cell-classification.md)** | Cell cycle classification setup |
| **[โ๏ธ API Reference](docs/api/api-reference.md)** | Programmatic usage |
## ๐ฏ Analysis Workflow
### ๐ **Single Image Analysis**
1. **Load Images**: Phase contrast and/or fluorescence
2. **Segment Cells**: Choose segmentation algorithm and parameters
3. **Analyze Cells**: Extract morphological and intensity features and choose classification model
4. **Filter Results**: Interactive filtering of cell populations
5. **Generate Report**: Create comprehensive analysis report
## ๐งช Sample Data
The plugin includes test datasets for method validation:
- **Phase Contrast**: _S. aureus_ cells in exponential growth
- **Membrane Stain**: NileRed fluorescence imaging
- **DNA Stain**: Hoechst nuclear labeling
Access via napari: `File > Open Sample > napari-mAIcrobe`
## ๐โโ๏ธ Example Analysis
**Input Data:**
- Phase contrast image
- Membrane fluorescence
- DNA fluorescence
**Analysis Pipeline:**
1. **Segmentation**: Isodata or CellPose's cyto3 identifies individual cells in the phase contrast image
2. **Morphology**: Calculate morphological and intensity measurements
3. **Classification**: Cell cycle phase determination using pre-trained CNN model
4. **Quality Control**: Interactive filtering of analysis results. Select subpopulations based on size, intensity, or classification
5. **Report Generation**: HTML output
## ๐ Available Jupyter Notebooks
Explore advanced functionality with included notebooks:
- **[Cell Cycle Model Training](notebooks/napari_mAIcrobe_cellcyclemodel.ipynb)**: Train custom classification models
- **[StarDist Segmentation](notebooks/StarDistSegmentationTraining.ipynb)**: Retrain a StarDist segmentation model
## ๐ค Community
- **๐ [Issues](https://github.com/HenriquesLab/mAIcrobe/issues)** - Report bugs, request features
- **๐ [napari hub](https://napari-hub.org/plugins/napari-mAIcrobe)** - Plugin ecosystem
## ๐๏ธ Contributing
We welcome contributions! Whether it's:
- ๐ Bug reports and fixes
- โจ New segmentation algorithms
- ๐ Documentation improvements
- ๐งช Additional test datasets
- ๐ค New AI models for classification
**Quick contributor setup:**
```bash
git clone https://github.com/HenriquesLab/mAIcrobe.git
cd mAIcrobe
pip install -e .[testing]
pre-commit install
```
**Testing:**
```bash
# Run tests
pytest -v
# Run tests with coverage
pytest --cov=napari_mAIcrobe
# Run tests across Python versions
tox
```
**[๐ Full Contributing Guide โ](CONTRIBUTING.md)**
## ๐ License
Distributed under the terms of the [BSD-3](http://opensource.org/licenses/BSD-3-Clause) license, mAIcrobe is free and open source software.
## ๐ Acknowledgments
mAIcrobe is developed in the [Henriques](https://henriqueslab.org) and [Pinho](https://www.itqb.unl.pt/research/biology/bacterial-cell-biology) Labs with contributions from the napari and scientific Python communities.
**Built with:**
- [napari](https://napari.org/) - Multi-dimensional image viewer
- [TensorFlow](https://tensorflow.org/) - Machine learning framework
- [StarDist](https://github.com/stardist/stardist) - Object detection with star-convex shapes
- [Cellpose](https://github.com/MouseLand/cellpose) - Generalist cell segmentation
- [scikit-image](https://scikit-image.org/) - Image processing library
---
**๐ฌ From the [Henriques](https://henriqueslab.org) and [Pinho](https://www.itqb.unl.pt/research/biology/bacterial-cell-biology) Labs**
*"Advancing microbiology through AI-powered image analysis."*
**[๐ Get Started โ](docs/user-guide/getting-started.md)** | **[๐ Learn More โ](docs/user-guide/segmentation-guide.md)** | **[โ๏ธ API Docs โ](docs/api/api-reference.md)**