AutoMorphoTrack 2.0.2__tar.gz → 2.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {automorphotrack-2.0.2 → automorphotrack-2.1.0}/MANIFEST.in +1 -0
- automorphotrack-2.1.0/PKG-INFO +258 -0
- automorphotrack-2.1.0/README.md +222 -0
- {automorphotrack-2.0.2 → automorphotrack-2.1.0}/automorphotrack/__init__.py +20 -2
- {automorphotrack-2.0.2 → automorphotrack-2.1.0}/automorphotrack/colocalization.py +1 -1
- {automorphotrack-2.0.2 → automorphotrack-2.1.0}/automorphotrack/detection.py +1 -1
- {automorphotrack-2.0.2 → automorphotrack-2.1.0}/automorphotrack/lyso_count.py +1 -1
- {automorphotrack-2.0.2 → automorphotrack-2.1.0}/automorphotrack/morphology.py +1 -1
- automorphotrack-2.1.0/automorphotrack/network_analysis.py +197 -0
- automorphotrack-2.1.0/automorphotrack/shape_profiling.py +258 -0
- automorphotrack-2.1.0/automorphotrack/spatial_statistics.py +258 -0
- {automorphotrack-2.0.2 → automorphotrack-2.1.0}/automorphotrack/summary.py +2 -3
- automorphotrack-2.1.0/automorphotrack/temporal_dynamics.py +211 -0
- {automorphotrack-2.0.2 → automorphotrack-2.1.0}/automorphotrack/tracking_overlay.py +1 -1
- {automorphotrack-2.0.2 → automorphotrack-2.1.0}/automorphotrack/utils.py +1 -1
- automorphotrack-2.1.0/automorphotrack/validation.py +308 -0
- automorphotrack-2.1.0/automorphotrack.egg-info/PKG-INFO +258 -0
- {automorphotrack-2.0.2 → automorphotrack-2.1.0}/automorphotrack.egg-info/SOURCES.txt +4 -12
- automorphotrack-2.1.0/pyproject.toml +40 -0
- {automorphotrack-2.0.2 → automorphotrack-2.1.0}/setup.py +5 -5
- automorphotrack-2.0.2/PKG-INFO +0 -133
- automorphotrack-2.0.2/README.md +0 -93
- automorphotrack-2.0.2/automorphotrack/.___init__.py +0 -0
- automorphotrack-2.0.2/automorphotrack/._colocalization.py +0 -0
- automorphotrack-2.0.2/automorphotrack/._detection.py +0 -0
- automorphotrack-2.0.2/automorphotrack/._lyso_count.py +0 -0
- automorphotrack-2.0.2/automorphotrack/._morphology.py +0 -0
- automorphotrack-2.0.2/automorphotrack/._motility.py +0 -0
- automorphotrack-2.0.2/automorphotrack/._shape_features.py +0 -0
- automorphotrack-2.0.2/automorphotrack/._shape_profiling.py +0 -0
- automorphotrack-2.0.2/automorphotrack/._summary.py +0 -0
- automorphotrack-2.0.2/automorphotrack/._tracking.py +0 -0
- automorphotrack-2.0.2/automorphotrack/._tracking_overlay.py +0 -0
- automorphotrack-2.0.2/automorphotrack/._utils.py +0 -0
- automorphotrack-2.0.2/automorphotrack/shape_profiling.py +0 -51
- automorphotrack-2.0.2/automorphotrack.egg-info/PKG-INFO +0 -133
- automorphotrack-2.0.2/pyproject.toml +0 -3
- {automorphotrack-2.0.2 → automorphotrack-2.1.0}/LICENSE.md +0 -0
- {automorphotrack-2.0.2 → automorphotrack-2.1.0}/automorphotrack/motility.py +0 -0
- {automorphotrack-2.0.2 → automorphotrack-2.1.0}/automorphotrack/shape_features.py +0 -0
- {automorphotrack-2.0.2 → automorphotrack-2.1.0}/automorphotrack/tracking.py +0 -0
- {automorphotrack-2.0.2 → automorphotrack-2.1.0}/automorphotrack.egg-info/dependency_links.txt +0 -0
- {automorphotrack-2.0.2 → automorphotrack-2.1.0}/automorphotrack.egg-info/requires.txt +0 -0
- {automorphotrack-2.0.2 → automorphotrack-2.1.0}/automorphotrack.egg-info/top_level.txt +0 -0
- {automorphotrack-2.0.2 → automorphotrack-2.1.0}/setup.cfg +0 -0
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: automorphotrack
|
|
3
|
+
Version: 2.1.0
|
|
4
|
+
Summary: Automated pipeline for mitochondrial and lysosomal detection, tracking, morphology, and colocalization analysis in microscopy images.
|
|
5
|
+
Home-page: https://github.com/abayatibrain/AutoMorphoTrack
|
|
6
|
+
Author: Armin Bayati, Ph.D.
|
|
7
|
+
Author-email: "Armin Bayati, Ph.D." <a.bayati.brain@gmail.com>
|
|
8
|
+
License: MIT
|
|
9
|
+
Project-URL: Documentation, https://github.com/abayatibrain/AutoMorphoTrack
|
|
10
|
+
Project-URL: Source, https://github.com/abayatibrain/AutoMorphoTrack
|
|
11
|
+
Project-URL: Tracker, https://github.com/abayatibrain/AutoMorphoTrack/issues
|
|
12
|
+
Keywords: image-processing,microscopy,organelle-tracking,mitochondria,lysosomes
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
18
|
+
Classifier: Operating System :: OS Independent
|
|
19
|
+
Classifier: Intended Audience :: Science/Research
|
|
20
|
+
Classifier: Topic :: Scientific/Engineering :: Image Processing
|
|
21
|
+
Requires-Python: >=3.9
|
|
22
|
+
Description-Content-Type: text/markdown
|
|
23
|
+
License-File: LICENSE.md
|
|
24
|
+
Requires-Dist: numpy>=1.23.0
|
|
25
|
+
Requires-Dist: pandas>=1.5.0
|
|
26
|
+
Requires-Dist: matplotlib>=3.6.0
|
|
27
|
+
Requires-Dist: seaborn>=0.12.0
|
|
28
|
+
Requires-Dist: opencv-python>=4.6.0
|
|
29
|
+
Requires-Dist: scikit-image>=0.19.0
|
|
30
|
+
Requires-Dist: scipy>=1.9.0
|
|
31
|
+
Requires-Dist: tifffile>=2022.8.12
|
|
32
|
+
Dynamic: author
|
|
33
|
+
Dynamic: home-page
|
|
34
|
+
Dynamic: license-file
|
|
35
|
+
Dynamic: requires-python
|
|
36
|
+
|
|
37
|
+
# AutoMorphoTrack
|
|
38
|
+
|
|
39
|
+
**AutoMorphoTrack** is a comprehensive, modular image-analysis pipeline for automated detection, morphology classification, shape profiling, motility tracking, and colocalization analysis of mitochondria and lysosomes in multichannel fluorescence microscopy data.
|
|
40
|
+
|
|
41
|
+
Developed by **Armin Bayati, Ph.D.**
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Overview
|
|
46
|
+
|
|
47
|
+
AutoMorphoTrack processes time-lapse `.tif` stacks (typically two-channel: mitochondria + lysosomes) and generates **publication-ready visual and quantitative outputs** at every analysis step. The pipeline integrates seamlessly into scientific workflows and prioritizes **transparency, reproducibility, and ease of use**.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Key Features
|
|
52
|
+
|
|
53
|
+
- **Automated organelle detection** with morphological filtering
|
|
54
|
+
- **Integrated tracking** of mitochondria and lysosomes across time
|
|
55
|
+
- **Shape profiling** with publication-ready violin plots
|
|
56
|
+
- **Motility analysis** with velocity and displacement quantification
|
|
57
|
+
- **Colocalization metrics** (Manders, Pearson coefficients)
|
|
58
|
+
- **Comprehensive validation tools** for segmentation and tracking accuracy
|
|
59
|
+
- **Colorblind-safe visualizations** throughout
|
|
60
|
+
- **High-resolution outputs** (600 DPI publication-ready figures)
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Installation
|
|
65
|
+
|
|
66
|
+
### Via PyPI (Recommended)
|
|
67
|
+
```bash
|
|
68
|
+
pip install automorphotrack
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### From Source
|
|
72
|
+
```bash
|
|
73
|
+
git clone https://github.com/abayatibrain/AutoMorphoTrack.git
|
|
74
|
+
cd AutoMorphoTrack
|
|
75
|
+
pip install -e .
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Development Install
|
|
79
|
+
```bash
|
|
80
|
+
git clone https://github.com/abayatibrain/AutoMorphoTrack.git
|
|
81
|
+
cd AutoMorphoTrack
|
|
82
|
+
pip install -e ".[dev]"
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Quick Start
|
|
88
|
+
|
|
89
|
+
```python
|
|
90
|
+
from automorphotrack import (
|
|
91
|
+
detect_organelles,
|
|
92
|
+
count_lysosomes_per_frame,
|
|
93
|
+
classify_morphology,
|
|
94
|
+
analyze_shape_features,
|
|
95
|
+
profile_shape_data,
|
|
96
|
+
track_organelles,
|
|
97
|
+
track_overlay,
|
|
98
|
+
analyze_motility,
|
|
99
|
+
analyze_colocalization,
|
|
100
|
+
summarize_integrated_data
|
|
101
|
+
)
|
|
102
|
+
|
|
103
|
+
tif_path = "path/to/Composite.tif"
|
|
104
|
+
|
|
105
|
+
# Run full pipeline
|
|
106
|
+
detect_organelles(tif_path)
|
|
107
|
+
count_lysosomes_per_frame(tif_path)
|
|
108
|
+
classify_morphology(tif_path)
|
|
109
|
+
analyze_shape_features(tif_path)
|
|
110
|
+
profile_shape_data()
|
|
111
|
+
track_organelles(tif_path)
|
|
112
|
+
track_overlay(tif_path)
|
|
113
|
+
analyze_motility()
|
|
114
|
+
analyze_colocalization(tif_path)
|
|
115
|
+
summarize_integrated_data()
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Module Overview
|
|
121
|
+
|
|
122
|
+
| Module | Function | Inputs | Outputs | Purpose |
|
|
123
|
+
|--------|----------|--------|---------|---------|
|
|
124
|
+
| **detection** | `detect_organelles()` | TIF file | PNG, MP4, masks | Segment mitochondria and lysosomes |
|
|
125
|
+
| **lyso_count** | `count_lysosomes_per_frame()` | TIF file | PNG, CSV, MP4 | Quantify lysosomes per frame |
|
|
126
|
+
| **morphology** | `classify_morphology()` | TIF file | PNG, CSV, MP4 | Classify mitochondria as elongated vs. punctate |
|
|
127
|
+
| **shape_features** | `analyze_shape_features()` | TIF file | PNG, CSV | Extract circularity, solidity, aspect ratio |
|
|
128
|
+
| **shape_profiling** | `profile_shape_data()` | CSVs | PNG, CSV | Generate combined violin plots |
|
|
129
|
+
| **tracking** | `track_organelles()` | TIF file | PNG, CSV, MP4 | Track organelle trajectories |
|
|
130
|
+
| **tracking_overlay** | `track_overlay()` | TIF file | PNG, CSV, MP4 | Overlay tracks on intensity images |
|
|
131
|
+
| **motility** | `analyze_motility()` | CSVs | PNG, CSV | Compute velocity and displacement |
|
|
132
|
+
| **colocalization** | `analyze_colocalization()` | TIF file | PNG, CSV, MP4 | Quantify mitochondrial-lysosomal overlap |
|
|
133
|
+
| **summary** | `summarize_integrated_data()` | CSVs | PNG, CSV | Correlation matrix across all metrics |
|
|
134
|
+
| **validation** | `validate_segmentation()` | Masks | dict | Compute Dice, IoU, F1, precision, recall |
|
|
135
|
+
| **validation** | `validate_tracking()` | CSVs | dict | Track accuracy metrics |
|
|
136
|
+
| **validation** | `sensitivity_analysis()` | TIF + params | CSV, plots | Parameter sweep analysis |
|
|
137
|
+
| **validation** | `generate_validation_report()` | Results | PNG, CSV | Comprehensive validation summary |
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Output Files
|
|
142
|
+
|
|
143
|
+
| Step | Output Type | Example Files |
|
|
144
|
+
|------|--------------|---------------|
|
|
145
|
+
| **Detection** | PNG + MP4 | `Mito_Frame0.png`, `Mitochondria_Detection.mp4` |
|
|
146
|
+
| **Lysosome Count** | PNG + CSV + MP4 | `Lyso_Count_Plot.png`, `Lysosome_Counts.csv` |
|
|
147
|
+
| **Morphology** | PNG + MP4 + CSV | `Morphology_Frame0_Labeled.png`, `Morphology_Labeled.mp4` |
|
|
148
|
+
| **Shape Features** | PNG + CSV | `Shape_Distributions.png`, `Mito_ShapeMetrics.csv` |
|
|
149
|
+
| **Shape Profiling** | PNG + CSV | `Shape_ViolinPlots.png`, `Combined_ShapeData.csv` |
|
|
150
|
+
| **Tracking** | PNG + MP4 + CSV | `Cumulative_Mito.png`, `Mito_Tracks.csv` |
|
|
151
|
+
| **Tracking Overlay** | PNG + MP4 | `Cumulative_Composite.png`, `Composite_CumulativeTracks.mp4` |
|
|
152
|
+
| **Motility** | PNG + CSV | `Motility_Distributions.png`, `Motility_Scatter.png` |
|
|
153
|
+
| **Colocalization** | PNG + MP4 + CSV | `Colocalization_Frame0.png`, `Colocalization.csv` |
|
|
154
|
+
| **Summary** | PNG + CSV | `Integrated_CorrelationMatrix.png`, `Integrated_Merged_Data.csv` |
|
|
155
|
+
| **Validation** | PNG + CSV | `Validation_Report.png`, `Validation_Summary.csv` |
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Dependencies
|
|
160
|
+
|
|
161
|
+
**Core Requirements:**
|
|
162
|
+
- Python ≥ 3.9
|
|
163
|
+
- numpy ≥ 1.23.0
|
|
164
|
+
- pandas ≥ 1.5.0
|
|
165
|
+
- matplotlib ≥ 3.6.0
|
|
166
|
+
- seaborn ≥ 0.12.0
|
|
167
|
+
- opencv-python ≥ 4.6.0
|
|
168
|
+
- scikit-image ≥ 0.19.0
|
|
169
|
+
- scipy ≥ 1.9.0
|
|
170
|
+
- tifffile ≥ 2022.8.12
|
|
171
|
+
|
|
172
|
+
**Optional:**
|
|
173
|
+
- scikit-learn (for validation metrics)
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Visualization Design
|
|
178
|
+
|
|
179
|
+
**Colorblind-Safe Palette:**
|
|
180
|
+
- Mitochondria: `#0173B2` (blue)
|
|
181
|
+
- Lysosomes: `#DE8F05` (orange)
|
|
182
|
+
|
|
183
|
+
All visualizations use colorblind-safe colors to ensure accessibility and publication readiness.
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## Statistical Notes
|
|
188
|
+
|
|
189
|
+
**Correlation Analysis (Summary Module):**
|
|
190
|
+
The integrated summary module uses **Spearman rank correlation** to compute relationships between extracted metrics, providing a distribution-free assessment of feature associations.
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## Comparison with Existing Tools
|
|
195
|
+
|
|
196
|
+
| Feature | AutoMorphoTrack | CellProfiler | MiNA | MitoGraph | Imaris |
|
|
197
|
+
|---------|-----------------|--------------|------|-----------|--------|
|
|
198
|
+
| **Ease of Use** | High (Python API) | Medium (GUI-heavy) | Medium | Medium | Low (proprietary) |
|
|
199
|
+
| **Transparency** | Full (open source) | Partial | Partial | Partial | Closed |
|
|
200
|
+
| **Lightweight** | Yes | No | No | No | No |
|
|
201
|
+
| **Publication-Ready Outputs** | Yes | Yes | Partial | Partial | Yes |
|
|
202
|
+
| **Tracking** | Yes | Optional | Yes | Yes | Yes |
|
|
203
|
+
| **Shape Profiling** | Yes | Limited | Yes | Yes | Yes |
|
|
204
|
+
| **Colocalization** | Yes | Yes | Limited | Limited | Yes |
|
|
205
|
+
| **Customizable** | Yes (modular) | Yes | Limited | Limited | No |
|
|
206
|
+
| **Cost** | Free | Free | Free | Free | Expensive |
|
|
207
|
+
|
|
208
|
+
**What Makes AutoMorphoTrack Different:**
|
|
209
|
+
- **Integrated workflow**: All analyses in one package without external dependencies
|
|
210
|
+
- **Full transparency**: Complete source code and methodology documentation
|
|
211
|
+
- **Lightweight**: Minimal dependencies, fast execution
|
|
212
|
+
- **Publication-ready**: High-DPI outputs and colorblind-safe visualizations by default
|
|
213
|
+
- **Modular design**: Use only the modules you need
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## AI Assistance Note
|
|
218
|
+
|
|
219
|
+
This package was developed with support from AI language models (e.g., ChatGPT, Claude). The term "AI assistance" refers to using external LLMs to help generate, review, and refine analysis code—**NOT** a built-in AI interface or algorithmic component. All algorithms are explicit, interpretable, and scientifically grounded.
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## License
|
|
224
|
+
|
|
225
|
+
MIT License – See [LICENSE.md](LICENSE.md) for details.
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## Citation
|
|
230
|
+
|
|
231
|
+
If you use this pipeline in your work, please cite:
|
|
232
|
+
|
|
233
|
+
```bibtex
|
|
234
|
+
@article{bayati2025automorphotrack,
|
|
235
|
+
title={AutoMorphoTrack: Automated Organelle Tracking and Morphometric Profiling Toolkit},
|
|
236
|
+
author={Bayati, Armin and others},
|
|
237
|
+
year={2025}
|
|
238
|
+
}
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
Or in text:
|
|
242
|
+
|
|
243
|
+
> **Bayati, A. et al.** AutoMorphoTrack: Automated Organelle Tracking and Morphometric Profiling Toolkit (2025)
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
## Documentation
|
|
248
|
+
|
|
249
|
+
For detailed documentation, examples, and tutorials, visit:
|
|
250
|
+
- **GitHub**: [github.com/abayatibrain/AutoMorphoTrack](https://github.com/abayatibrain/AutoMorphoTrack)
|
|
251
|
+
- **Issues & Support**: [github.com/abayatibrain/AutoMorphoTrack/issues](https://github.com/abayatibrain/AutoMorphoTrack/issues)
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## Author
|
|
256
|
+
|
|
257
|
+
**Armin Bayati, Ph.D.**
|
|
258
|
+
Email: [a.bayati.brain@gmail.com](mailto:a.bayati.brain@gmail.com)
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
# AutoMorphoTrack
|
|
2
|
+
|
|
3
|
+
**AutoMorphoTrack** is a comprehensive, modular image-analysis pipeline for automated detection, morphology classification, shape profiling, motility tracking, and colocalization analysis of mitochondria and lysosomes in multichannel fluorescence microscopy data.
|
|
4
|
+
|
|
5
|
+
Developed by **Armin Bayati, Ph.D.**
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
AutoMorphoTrack processes time-lapse `.tif` stacks (typically two-channel: mitochondria + lysosomes) and generates **publication-ready visual and quantitative outputs** at every analysis step. The pipeline integrates seamlessly into scientific workflows and prioritizes **transparency, reproducibility, and ease of use**.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Key Features
|
|
16
|
+
|
|
17
|
+
- **Automated organelle detection** with morphological filtering
|
|
18
|
+
- **Integrated tracking** of mitochondria and lysosomes across time
|
|
19
|
+
- **Shape profiling** with publication-ready violin plots
|
|
20
|
+
- **Motility analysis** with velocity and displacement quantification
|
|
21
|
+
- **Colocalization metrics** (Manders, Pearson coefficients)
|
|
22
|
+
- **Comprehensive validation tools** for segmentation and tracking accuracy
|
|
23
|
+
- **Colorblind-safe visualizations** throughout
|
|
24
|
+
- **High-resolution outputs** (600 DPI publication-ready figures)
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Installation
|
|
29
|
+
|
|
30
|
+
### Via PyPI (Recommended)
|
|
31
|
+
```bash
|
|
32
|
+
pip install automorphotrack
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### From Source
|
|
36
|
+
```bash
|
|
37
|
+
git clone https://github.com/abayatibrain/AutoMorphoTrack.git
|
|
38
|
+
cd AutoMorphoTrack
|
|
39
|
+
pip install -e .
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Development Install
|
|
43
|
+
```bash
|
|
44
|
+
git clone https://github.com/abayatibrain/AutoMorphoTrack.git
|
|
45
|
+
cd AutoMorphoTrack
|
|
46
|
+
pip install -e ".[dev]"
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Quick Start
|
|
52
|
+
|
|
53
|
+
```python
|
|
54
|
+
from automorphotrack import (
|
|
55
|
+
detect_organelles,
|
|
56
|
+
count_lysosomes_per_frame,
|
|
57
|
+
classify_morphology,
|
|
58
|
+
analyze_shape_features,
|
|
59
|
+
profile_shape_data,
|
|
60
|
+
track_organelles,
|
|
61
|
+
track_overlay,
|
|
62
|
+
analyze_motility,
|
|
63
|
+
analyze_colocalization,
|
|
64
|
+
summarize_integrated_data
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
tif_path = "path/to/Composite.tif"
|
|
68
|
+
|
|
69
|
+
# Run full pipeline
|
|
70
|
+
detect_organelles(tif_path)
|
|
71
|
+
count_lysosomes_per_frame(tif_path)
|
|
72
|
+
classify_morphology(tif_path)
|
|
73
|
+
analyze_shape_features(tif_path)
|
|
74
|
+
profile_shape_data()
|
|
75
|
+
track_organelles(tif_path)
|
|
76
|
+
track_overlay(tif_path)
|
|
77
|
+
analyze_motility()
|
|
78
|
+
analyze_colocalization(tif_path)
|
|
79
|
+
summarize_integrated_data()
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Module Overview
|
|
85
|
+
|
|
86
|
+
| Module | Function | Inputs | Outputs | Purpose |
|
|
87
|
+
|--------|----------|--------|---------|---------|
|
|
88
|
+
| **detection** | `detect_organelles()` | TIF file | PNG, MP4, masks | Segment mitochondria and lysosomes |
|
|
89
|
+
| **lyso_count** | `count_lysosomes_per_frame()` | TIF file | PNG, CSV, MP4 | Quantify lysosomes per frame |
|
|
90
|
+
| **morphology** | `classify_morphology()` | TIF file | PNG, CSV, MP4 | Classify mitochondria as elongated vs. punctate |
|
|
91
|
+
| **shape_features** | `analyze_shape_features()` | TIF file | PNG, CSV | Extract circularity, solidity, aspect ratio |
|
|
92
|
+
| **shape_profiling** | `profile_shape_data()` | CSVs | PNG, CSV | Generate combined violin plots |
|
|
93
|
+
| **tracking** | `track_organelles()` | TIF file | PNG, CSV, MP4 | Track organelle trajectories |
|
|
94
|
+
| **tracking_overlay** | `track_overlay()` | TIF file | PNG, CSV, MP4 | Overlay tracks on intensity images |
|
|
95
|
+
| **motility** | `analyze_motility()` | CSVs | PNG, CSV | Compute velocity and displacement |
|
|
96
|
+
| **colocalization** | `analyze_colocalization()` | TIF file | PNG, CSV, MP4 | Quantify mitochondrial-lysosomal overlap |
|
|
97
|
+
| **summary** | `summarize_integrated_data()` | CSVs | PNG, CSV | Correlation matrix across all metrics |
|
|
98
|
+
| **validation** | `validate_segmentation()` | Masks | dict | Compute Dice, IoU, F1, precision, recall |
|
|
99
|
+
| **validation** | `validate_tracking()` | CSVs | dict | Track accuracy metrics |
|
|
100
|
+
| **validation** | `sensitivity_analysis()` | TIF + params | CSV, plots | Parameter sweep analysis |
|
|
101
|
+
| **validation** | `generate_validation_report()` | Results | PNG, CSV | Comprehensive validation summary |
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Output Files
|
|
106
|
+
|
|
107
|
+
| Step | Output Type | Example Files |
|
|
108
|
+
|------|--------------|---------------|
|
|
109
|
+
| **Detection** | PNG + MP4 | `Mito_Frame0.png`, `Mitochondria_Detection.mp4` |
|
|
110
|
+
| **Lysosome Count** | PNG + CSV + MP4 | `Lyso_Count_Plot.png`, `Lysosome_Counts.csv` |
|
|
111
|
+
| **Morphology** | PNG + MP4 + CSV | `Morphology_Frame0_Labeled.png`, `Morphology_Labeled.mp4` |
|
|
112
|
+
| **Shape Features** | PNG + CSV | `Shape_Distributions.png`, `Mito_ShapeMetrics.csv` |
|
|
113
|
+
| **Shape Profiling** | PNG + CSV | `Shape_ViolinPlots.png`, `Combined_ShapeData.csv` |
|
|
114
|
+
| **Tracking** | PNG + MP4 + CSV | `Cumulative_Mito.png`, `Mito_Tracks.csv` |
|
|
115
|
+
| **Tracking Overlay** | PNG + MP4 | `Cumulative_Composite.png`, `Composite_CumulativeTracks.mp4` |
|
|
116
|
+
| **Motility** | PNG + CSV | `Motility_Distributions.png`, `Motility_Scatter.png` |
|
|
117
|
+
| **Colocalization** | PNG + MP4 + CSV | `Colocalization_Frame0.png`, `Colocalization.csv` |
|
|
118
|
+
| **Summary** | PNG + CSV | `Integrated_CorrelationMatrix.png`, `Integrated_Merged_Data.csv` |
|
|
119
|
+
| **Validation** | PNG + CSV | `Validation_Report.png`, `Validation_Summary.csv` |
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## Dependencies
|
|
124
|
+
|
|
125
|
+
**Core Requirements:**
|
|
126
|
+
- Python ≥ 3.9
|
|
127
|
+
- numpy ≥ 1.23.0
|
|
128
|
+
- pandas ≥ 1.5.0
|
|
129
|
+
- matplotlib ≥ 3.6.0
|
|
130
|
+
- seaborn ≥ 0.12.0
|
|
131
|
+
- opencv-python ≥ 4.6.0
|
|
132
|
+
- scikit-image ≥ 0.19.0
|
|
133
|
+
- scipy ≥ 1.9.0
|
|
134
|
+
- tifffile ≥ 2022.8.12
|
|
135
|
+
|
|
136
|
+
**Optional:**
|
|
137
|
+
- scikit-learn (for validation metrics)
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Visualization Design
|
|
142
|
+
|
|
143
|
+
**Colorblind-Safe Palette:**
|
|
144
|
+
- Mitochondria: `#0173B2` (blue)
|
|
145
|
+
- Lysosomes: `#DE8F05` (orange)
|
|
146
|
+
|
|
147
|
+
All visualizations use colorblind-safe colors to ensure accessibility and publication readiness.
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Statistical Notes
|
|
152
|
+
|
|
153
|
+
**Correlation Analysis (Summary Module):**
|
|
154
|
+
The integrated summary module uses **Spearman rank correlation** to compute relationships between extracted metrics, providing a distribution-free assessment of feature associations.
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Comparison with Existing Tools
|
|
159
|
+
|
|
160
|
+
| Feature | AutoMorphoTrack | CellProfiler | MiNA | MitoGraph | Imaris |
|
|
161
|
+
|---------|-----------------|--------------|------|-----------|--------|
|
|
162
|
+
| **Ease of Use** | High (Python API) | Medium (GUI-heavy) | Medium | Medium | Low (proprietary) |
|
|
163
|
+
| **Transparency** | Full (open source) | Partial | Partial | Partial | Closed |
|
|
164
|
+
| **Lightweight** | Yes | No | No | No | No |
|
|
165
|
+
| **Publication-Ready Outputs** | Yes | Yes | Partial | Partial | Yes |
|
|
166
|
+
| **Tracking** | Yes | Optional | Yes | Yes | Yes |
|
|
167
|
+
| **Shape Profiling** | Yes | Limited | Yes | Yes | Yes |
|
|
168
|
+
| **Colocalization** | Yes | Yes | Limited | Limited | Yes |
|
|
169
|
+
| **Customizable** | Yes (modular) | Yes | Limited | Limited | No |
|
|
170
|
+
| **Cost** | Free | Free | Free | Free | Expensive |
|
|
171
|
+
|
|
172
|
+
**What Makes AutoMorphoTrack Different:**
|
|
173
|
+
- **Integrated workflow**: All analyses in one package without external dependencies
|
|
174
|
+
- **Full transparency**: Complete source code and methodology documentation
|
|
175
|
+
- **Lightweight**: Minimal dependencies, fast execution
|
|
176
|
+
- **Publication-ready**: High-DPI outputs and colorblind-safe visualizations by default
|
|
177
|
+
- **Modular design**: Use only the modules you need
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## AI Assistance Note
|
|
182
|
+
|
|
183
|
+
This package was developed with support from AI language models (e.g., ChatGPT, Claude). The term "AI assistance" refers to using external LLMs to help generate, review, and refine analysis code—**NOT** a built-in AI interface or algorithmic component. All algorithms are explicit, interpretable, and scientifically grounded.
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## License
|
|
188
|
+
|
|
189
|
+
MIT License – See [LICENSE.md](LICENSE.md) for details.
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## Citation
|
|
194
|
+
|
|
195
|
+
If you use this pipeline in your work, please cite:
|
|
196
|
+
|
|
197
|
+
```bibtex
|
|
198
|
+
@article{bayati2025automorphotrack,
|
|
199
|
+
title={AutoMorphoTrack: Automated Organelle Tracking and Morphometric Profiling Toolkit},
|
|
200
|
+
author={Bayati, Armin and others},
|
|
201
|
+
year={2025}
|
|
202
|
+
}
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
Or in text:
|
|
206
|
+
|
|
207
|
+
> **Bayati, A. et al.** AutoMorphoTrack: Automated Organelle Tracking and Morphometric Profiling Toolkit (2025)
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## Documentation
|
|
212
|
+
|
|
213
|
+
For detailed documentation, examples, and tutorials, visit:
|
|
214
|
+
- **GitHub**: [github.com/abayatibrain/AutoMorphoTrack](https://github.com/abayatibrain/AutoMorphoTrack)
|
|
215
|
+
- **Issues & Support**: [github.com/abayatibrain/AutoMorphoTrack/issues](https://github.com/abayatibrain/AutoMorphoTrack/issues)
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Author
|
|
220
|
+
|
|
221
|
+
**Armin Bayati, Ph.D.**
|
|
222
|
+
Email: [a.bayati.brain@gmail.com](mailto:a.bayati.brain@gmail.com)
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
# )
|
|
34
34
|
# ============================================================
|
|
35
35
|
|
|
36
|
-
__version__ = "2.0
|
|
36
|
+
__version__ = "2.1.0"
|
|
37
37
|
__author__ = "Armin Bayati"
|
|
38
38
|
|
|
39
39
|
# --- Utility Imports ---
|
|
@@ -55,6 +55,17 @@ from automorphotrack.tracking_overlay import track_overlay
|
|
|
55
55
|
from automorphotrack.motility import analyze_motility
|
|
56
56
|
from automorphotrack.colocalization import analyze_colocalization
|
|
57
57
|
from automorphotrack.summary import summarize_integrated_data
|
|
58
|
+
from automorphotrack.temporal_dynamics import analyze_temporal_dynamics
|
|
59
|
+
from automorphotrack.spatial_statistics import analyze_spatial_statistics
|
|
60
|
+
from automorphotrack.network_analysis import analyze_network_topology
|
|
61
|
+
|
|
62
|
+
# --- Validation Module Imports ---
|
|
63
|
+
from automorphotrack.validation import (
|
|
64
|
+
validate_segmentation,
|
|
65
|
+
sensitivity_analysis,
|
|
66
|
+
validate_tracking,
|
|
67
|
+
generate_validation_report
|
|
68
|
+
)
|
|
58
69
|
|
|
59
70
|
# --- Convenience Alias (optional shortcut API) ---
|
|
60
71
|
__all__ = [
|
|
@@ -71,5 +82,12 @@ __all__ = [
|
|
|
71
82
|
"track_overlay",
|
|
72
83
|
"analyze_motility",
|
|
73
84
|
"analyze_colocalization",
|
|
74
|
-
"summarize_integrated_data"
|
|
85
|
+
"summarize_integrated_data",
|
|
86
|
+
"analyze_temporal_dynamics",
|
|
87
|
+
"analyze_spatial_statistics",
|
|
88
|
+
"analyze_network_topology",
|
|
89
|
+
"validate_segmentation",
|
|
90
|
+
"sensitivity_analysis",
|
|
91
|
+
"validate_tracking",
|
|
92
|
+
"generate_validation_report"
|
|
75
93
|
]
|