{"name":"napari-mAIcrobe","display_name":"mAIcrobe","visibility":"public","icon":"","categories":[],"schema_version":"0.2.1","on_activate":null,"on_deactivate":null,"contributions":{"commands":[{"id":"napari-mAIcrobe.phase_example","title":"Load phase contrast S.aureus sample data","python_name":"napari_mAIcrobe._sample_data:phase_example","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-mAIcrobe.membrane_example","title":"Load membrane dye S.aureus sample data","python_name":"napari_mAIcrobe._sample_data:membrane_example","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-mAIcrobe.dna_example","title":"Load DNA dye S.aureus sample data","python_name":"napari_mAIcrobe._sample_data:dna_example","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-mAIcrobe.compute_label","title":"Compute label","python_name":"napari_mAIcrobe._computelabel:compute_label","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-mAIcrobe.compute_cells","title":"Compute cells","python_name":"napari_mAIcrobe._computecells:compute_cells","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-mAIcrobe.filter_cells","title":"Filter cells","python_name":"napari_mAIcrobe._filtercells:filter_cells","short_title":null,"category":null,"icon":null,"enablement":null},{"id":"napari-mAIcrobe.compute_pickles","title":"Save annotated cells as pickles","python_name":"napari_mAIcrobe._compute_pickles:compute_pickles","short_title":null,"category":null,"icon":null,"enablement":null}],"readers":null,"writers":null,"widgets":[{"command":"napari-mAIcrobe.compute_label","display_name":"Compute label","autogenerate":false},{"command":"napari-mAIcrobe.compute_cells","display_name":"Compute cells","autogenerate":false},{"command":"napari-mAIcrobe.filter_cells","display_name":"Filter cells","autogenerate":false},{"command":"napari-mAIcrobe.compute_pickles","display_name":"Save annotated cells as pickles","autogenerate":false}],"sample_data":[{"command":"napari-mAIcrobe.phase_example","key":"unique_id.1","display_name":"Phase contrast S. aureus"},{"command":"napari-mAIcrobe.membrane_example","key":"unique_id.2","display_name":"Membrane dye S.aureus"},{"command":"napari-mAIcrobe.dna_example","key":"unique_id.3","display_name":"DNA dye S.aureus"}],"themes":null,"menus":{},"submenus":null,"keybindings":null,"configuration":[]},"package_metadata":{"metadata_version":"2.4","name":"napari-mAIcrobe","version":"0.0.5","dynamic":["license-file"],"platform":null,"supported_platform":null,"summary":"mAIcrobe","description":"[![License BSD-3](https://img.shields.io/pypi/l/napari-mAIcrobe.svg?color=green)](https://github.com/HenriquesLab/mAIcrobe/raw/main/LICENSE)\n[![PyPI](https://img.shields.io/pypi/v/napari-mAIcrobe.svg?color=green)](https://pypi.org/project/napari-mAIcrobe)\n[![Python Version](https://img.shields.io/pypi/pyversions/napari-mAIcrobe.svg?color=green)](https://python.org)\n[![tests](https://github.com/HenriquesLab/mAIcrobe/actions/workflows/test_oncall.yml/badge.svg)](https://github.com/HenriquesLab/mAIcrobe/actions/workflows/test_oncall.yml)\n[![napari hub](https://img.shields.io/endpoint?url=https://api.napari-hub.org/shields/napari-mAIcrobe)](https://napari-hub.org/plugins/napari-mAIcrobe)\n\n# mAIcrobe\n\n<img src=\"docs/logowhitebg.png\" align=\"right\" width=\"200\" style=\"margin-left: 20px;\"/>\n\n**mAIcrobe: a napari plugin for microbial image analysis.**\n\nmAIcrobe 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.\n\n## ✨ Why mAIcrobe?\n\n### 🔬 **For Microbiologists**\n- **Automated Cell Segmentation**: StarDist2D, Cellpose, and custom U-Net models\n- **Deep learning classification**: 6 pre-trained CNN models for *S. aureus* cell cycle determination plus support for custom models\n- **Morphological Analysis**: Comprehensive measurements using scikit-image regionprops\n- **Interactive Filtering**: Real-time cell selection based on computed statistics\n\n### 📊 **For Quantitative Research**\n- **Colocalization Analysis**: Multi-channel fluorescence quantification\n- **Automated Reports**: HTML reports with visualizations and statistics\n- **Data Export**: CSV export for downstream statistical analysis\n\n\n## 🚀 Installation\n\n**Standard Installation:**\n\n```bash\npip install napari-mAIcrobe\n```\n\n**Development Installation:**\n\n```bash\ngit clone https://github.com/HenriquesLab/mAIcrobe.git\ncd mAIcrobe\npip install -e .\n```\n\n\n**🎯 [Complete Tutorial →](docs/tutorials/basic-workflow.md)**\n\n## 🏆 Key Features\n\n### 🎨 **Cell Segmentation**\n- **Thresholding**: Isodata and Local Average methods with watershed\n- **StarDist2D**: custom models\n- **Cellpose**: cyto3 model\n- **Custom U-Net Models**: custom models\n\n### 🧠 **Single cell Classification**\n- **Pre-trained Models**: 6 specialized models for cell cycle determination in *S. aureus*:\n  - DNA+Membrane (Epifluorescence & SIM)\n  - DNA-only (Epifluorescence & SIM)\n  - Membrane-only (Epifluorescence & SIM)\n- **Custom Model Support**: Load your own TensorFlow models\n\n### 📊 **Comprehensive Morphometry**\n- **Shape Analysis**: Area, perimeter, eccentricity\n- **Intensity Measurements**: Fluorescence statistics\n- **Custom Measurements**: Septum detection\n\n## 📖 Documentation\n\n| Guide | Purpose |\n|-------|---------|\n| **[🚀 Getting Started](docs/user-guide/getting-started.md)** | Installation to first analysis |\n| **[🔬 Segmentation Guide](docs/user-guide/segmentation-guide.md)** | Choose the right segmentation method |\n| **[📊 Cell Analysis](docs/user-guide/cell-analysis.md)** | Complete analysis workflows |\n| **[🧠 Cell Classification Guide](docs/user-guide/cell-classification.md)** | Cell cycle classification setup |\n| **[⚙️ API Reference](docs/api/api-reference.md)** | Programmatic usage |\n\n## 🎯 Analysis Workflow\n\n### 📄 **Single Image Analysis**\n1. **Load Images**: Phase contrast and/or fluorescence\n2. **Segment Cells**: Choose segmentation algorithm and parameters\n3. **Analyze Cells**: Extract morphological and intensity features and choose classification model\n4. **Filter Results**: Interactive filtering of cell populations\n5. **Generate Report**: Create comprehensive analysis report\n\n\n## 🧪 Sample Data\n\nThe plugin includes test datasets for method validation:\n\n- **Phase Contrast**: _S. aureus_ cells in exponential growth\n- **Membrane Stain**: NileRed fluorescence imaging\n- **DNA Stain**: Hoechst nuclear labeling\n\nAccess via napari: `File > Open Sample > napari-mAIcrobe`\n\n## 🏃‍♀️ Example Analysis\n\n**Input Data:**\n- Phase contrast image\n- Membrane fluorescence\n- DNA fluorescence\n\n**Analysis Pipeline:**\n1. **Segmentation**: Isodata or CellPose's cyto3 identifies individual cells in the phase contrast image\n2. **Morphology**: Calculate morphological and intensity measurements\n3. **Classification**: Cell cycle phase determination using pre-trained CNN model\n4. **Quality Control**: Interactive filtering of analysis results. Select subpopulations based on size, intensity, or classification\n5. **Report Generation**: HTML output\n\n\n## 📚 Available Jupyter Notebooks\n\nExplore advanced functionality with included notebooks:\n\n- **[Cell Cycle Model Training](notebooks/napari_mAIcrobe_cellcyclemodel.ipynb)**: Train custom classification models\n- **[StarDist Segmentation](notebooks/StarDistSegmentationTraining.ipynb)**: Retrain a StarDist segmentation model\n\n## 🤝 Community\n\n- **🐛 [Issues](https://github.com/HenriquesLab/mAIcrobe/issues)** - Report bugs, request features\n- **📚 [napari hub](https://napari-hub.org/plugins/napari-mAIcrobe)** - Plugin ecosystem\n\n## 🏗️ Contributing\n\nWe welcome contributions! Whether it's:\n\n- 🐛 Bug reports and fixes\n- ✨ New segmentation algorithms\n- 📖 Documentation improvements\n- 🧪 Additional test datasets\n- 🤖 New AI models for classification\n\n**Quick contributor setup:**\n```bash\ngit clone https://github.com/HenriquesLab/mAIcrobe.git\ncd mAIcrobe\npip install -e .[testing]\npre-commit install\n```\n\n**Testing:**\n```bash\n# Run tests\npytest -v\n\n# Run tests with coverage\npytest --cov=napari_mAIcrobe\n\n# Run tests across Python versions\ntox\n```\n\n**[📋 Full Contributing Guide →](CONTRIBUTING.md)**\n\n\n## 📜 License\n\nDistributed under the terms of the [BSD-3](http://opensource.org/licenses/BSD-3-Clause) license, mAIcrobe is free and open source software.\n\n## 🙏 Acknowledgments\n\nmAIcrobe 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.\n\n**Built with:**\n- [napari](https://napari.org/) - Multi-dimensional image viewer\n- [TensorFlow](https://tensorflow.org/) - Machine learning framework\n- [StarDist](https://github.com/stardist/stardist) - Object detection with star-convex shapes\n- [Cellpose](https://github.com/MouseLand/cellpose) - Generalist cell segmentation\n- [scikit-image](https://scikit-image.org/) - Image processing library\n\n---\n\n<div align=\"center\">\n\n**🔬 From the [Henriques](https://henriqueslab.org) and [Pinho](https://www.itqb.unl.pt/research/biology/bacterial-cell-biology) Labs**\n\n*\"Advancing microbiology through AI-powered image analysis.\"*\n\n**[🚀 Get Started →](docs/user-guide/getting-started.md)** | **[📚 Learn More →](docs/user-guide/segmentation-guide.md)** | **[⚙️ API Docs →](docs/api/api-reference.md)**\n\n</div>\n","description_content_type":"text/markdown","keywords":null,"home_page":"https://github.com/HenriquesLab/napari-mAIcrobe","download_url":null,"author":"António Brito","author_email":"antmsbrito95@gmail.com","maintainer":null,"maintainer_email":null,"license":"BSD-3-Clause","classifier":["Development Status :: 2 - Pre-Alpha","Framework :: napari","Intended Audience :: Developers","License :: OSI Approved :: BSD License","Operating System :: OS Independent","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Topic :: Scientific/Engineering :: Image Processing"],"requires_dist":["numpy<2.0","magicgui>=0.10.0","napari[all]","tensorflow<=2.15.0","napari-skimage-regionprops","stardist-napari==2022.12.6","scikit-learn","scikit-image==0.20.0","pandas","cellpose==3.1.1.1","tox; extra == \"testing\"","pytest; extra == \"testing\"","pytest-cov; extra == \"testing\"","pytest-qt; extra == \"testing\"","napari; extra == \"testing\"","pyqt5; extra == \"testing\""],"requires_python":">=3.8","requires_external":null,"project_url":["Bug Tracker, https://github.com/HenriquesLab/mAIcrobe/issues","Documentation, https://github.com/HenriquesLab/mAIcrobe#README.md","Source Code, https://github.com/HenriquesLab/mAIcrobe","User Support, https://github.com/HenriquesLab/mAIcrobe/issues"],"provides_extra":["testing"],"provides_dist":null,"obsoletes_dist":null},"npe1_shim":false}