How massimoaddesse/caimg works
CaImg analyzes neuronal-culture calcium-imaging TIFF recordings, from ROI segmentation and fluorescence traces through event detection and cellular/population metrics. In the newer PySide6 workflow, the analysis page starts a worker, which configures and runs the pipeline; results are passed to the export page, though README notes that newer-GUI export integration is still under development. The Tkinter entry point also exposes Excel export. Spike inference is experimental and separate from the documented main workflow. Arrows reflect shown excerpts, SOURCE INDEX references, or README statements; unsampled implementation details are not inferred.
Main entry points: pipeline.py Analysis pipeline · analysis_runner.py Cell and network analysis · main_window.py Main window · analysis_worker.py Analysis worker
Components 24
User interfaces
- Qt application
main_gui.py - Main window
gui/main_window.py - Analysis page
gui/pages/analysis_page.py - Analysis worker
gui/analysis_worker.py - Tkinter interface
main.py
Recording processing
- Analysis settings
config/analysis_config.py - Analysis pipeline
src/pipeline.py - TIFF loading
src/dataio/tiff_loader.py - Cell segmentation
src/segmentation/cellpose.py - Fluorescence extraction
src/fluorescence/extraction.py - ΔF/F normalization
src/fluorescence/normalization.py
Event analysis
- Detection dispatch
src/detection/runner.py - Detection methods
src/detection - Event metrics
src/metrics/event_analysis.py - Event metric dispatch
src/metrics/runner.py - Cell and network analysis
src/analysis/analysis_runner.py - Cell activity metrics
src/analysis/cell_metrics.py - Cell correlations
src/analysis/correlation.py - Population coactivity
src/analysis/coactivity.py - Event synchrony
src/analysis/synchrony.py
Experimental inference
- Spike inference
src/inference
Results and export
- Export page
gui/pages/export_page.py - Excel exporter
src/dataio/exporter.py
Other components
- Analyst
Connections 26
- Analyst → Qt application: launches
README.md - Qt application → Main window: opens
main_gui.py - Main window → Analysis page: shows
gui/main_window.py - Analysis page → Analysis worker: starts
gui/pages/analysis_page.py - Analysis worker → Analysis settings: configures
gui/analysis_worker.py - Analysis worker → Analysis pipeline: runs
gui/analysis_worker.py - Analysis pipeline → TIFF loading: loads
src/pipeline.py - Analysis pipeline → Cell segmentation: segments
src/pipeline.py - Analysis pipeline → Fluorescence extraction: extracts
src/pipeline.py - Analysis pipeline → ΔF/F normalization: normalizes
src/pipeline.py - Analysis pipeline → Detection dispatch: dispatches detection
src/pipeline.py - Analysis pipeline → Event metric dispatch: dispatches metrics
src/pipeline.py - Analysis pipeline → Cell and network analysis: runs analysis
src/pipeline.py - Analysis worker → Detection methods: selects method
gui/analysis_worker.py - Detection dispatch → Detection methods: invokes detector
src/detection/runner.py - Event metric dispatch → Event metrics: uses profiler
src/metrics/runner.py - Cell and network analysis → Cell activity metrics: calculates
src/analysis/analysis_runner.py - Cell and network analysis → Cell correlations: calculates
src/analysis/analysis_runner.py - Cell and network analysis → Population coactivity: calculates
src/analysis/analysis_runner.py - Cell and network analysis → Event synchrony: calculates
src/analysis/analysis_runner.py - Main window → Export page: shows
gui/main_window.py - Main window → Export page: passes results
gui/main_window.py - Analyst → Tkinter interface: launches
README.md - Tkinter interface → Analysis pipeline: runs
main.py - Tkinter interface → Excel exporter: exports results
main.py - Analysis pipeline → Spike inference: experimental, not integrated
README.md