AMS-BP 0.3.1__tar.gz → 0.4.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.
- {ams_bp-0.3.1 → ams_bp-0.4.0}/PKG-INFO +46 -27
- {ams_bp-0.3.1 → ams_bp-0.4.0}/README.md +41 -26
- ams_bp-0.4.0/docs/API_Documentation/configio/convertconfig.md +193 -0
- ams_bp-0.4.0/docs/API_Documentation/main_cli.md +184 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/API_Documentation/sim_config.md +1 -1
- {ams_bp-0.3.1 → ams_bp-0.4.0}/examples/QuantitativeExperiments/FRAP/FRAP_methods.ipynb +6 -6
- ams_bp-0.4.0/examples/VisualizingIndividualModules/laser_modulation.ipynb +1087 -0
- ams_bp-0.4.0/examples/VisualizingIndividualModules/modules_explained.ipynb +1468 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/pyproject.toml +5 -1
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/__init__.py +1 -1
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/configio/configmodels.py +26 -12
- ams_bp-0.4.0/src/AMS_BP/configio/convertconfig.py +795 -0
- ams_bp-0.4.0/src/AMS_BP/gui/README.md +77 -0
- ams_bp-0.4.0/src/AMS_BP/gui/assets/drawing.svg +107 -0
- ams_bp-0.4.0/src/AMS_BP/gui/configuration_window.py +333 -0
- ams_bp-0.4.0/src/AMS_BP/gui/help_docs/cell_help.md +45 -0
- ams_bp-0.4.0/src/AMS_BP/gui/help_docs/channels_help.md +78 -0
- ams_bp-0.4.0/src/AMS_BP/gui/help_docs/condensate_help.md +59 -0
- ams_bp-0.4.0/src/AMS_BP/gui/help_docs/detector_help.md +57 -0
- ams_bp-0.4.0/src/AMS_BP/gui/help_docs/experiment_help.md +92 -0
- ams_bp-0.4.0/src/AMS_BP/gui/help_docs/fluorophore_help.md +128 -0
- ams_bp-0.4.0/src/AMS_BP/gui/help_docs/general_help.md +43 -0
- ams_bp-0.4.0/src/AMS_BP/gui/help_docs/global_help.md +47 -0
- ams_bp-0.4.0/src/AMS_BP/gui/help_docs/laser_help.md +76 -0
- ams_bp-0.4.0/src/AMS_BP/gui/help_docs/molecule_help.md +78 -0
- ams_bp-0.4.0/src/AMS_BP/gui/help_docs/output_help.md +5 -0
- ams_bp-0.4.0/src/AMS_BP/gui/help_docs/psf_help.md +51 -0
- ams_bp-0.4.0/src/AMS_BP/gui/help_window.py +26 -0
- ams_bp-0.4.0/src/AMS_BP/gui/logging_window.py +93 -0
- ams_bp-0.4.0/src/AMS_BP/gui/main.py +255 -0
- ams_bp-0.4.0/src/AMS_BP/gui/sim_worker.py +58 -0
- ams_bp-0.4.0/src/AMS_BP/gui/template_window_selection.py +100 -0
- ams_bp-0.4.0/src/AMS_BP/gui/widgets/camera_config_widget.py +213 -0
- ams_bp-0.4.0/src/AMS_BP/gui/widgets/cell_config_widget.py +225 -0
- ams_bp-0.4.0/src/AMS_BP/gui/widgets/channel_config_widget.py +307 -0
- ams_bp-0.4.0/src/AMS_BP/gui/widgets/condensate_config_widget.py +341 -0
- ams_bp-0.4.0/src/AMS_BP/gui/widgets/experiment_config_widget.py +259 -0
- ams_bp-0.4.0/src/AMS_BP/gui/widgets/flurophore_config_widget.py +513 -0
- ams_bp-0.4.0/src/AMS_BP/gui/widgets/general_config_widget.py +47 -0
- ams_bp-0.4.0/src/AMS_BP/gui/widgets/global_config_widget.py +142 -0
- ams_bp-0.4.0/src/AMS_BP/gui/widgets/laser_config_widget.py +255 -0
- ams_bp-0.4.0/src/AMS_BP/gui/widgets/molecule_config_widget.py +714 -0
- ams_bp-0.4.0/src/AMS_BP/gui/widgets/output_config_widget.py +61 -0
- ams_bp-0.4.0/src/AMS_BP/gui/widgets/psf_config_widget.py +128 -0
- ams_bp-0.4.0/src/AMS_BP/gui/widgets/utility_widgets/scinotation_widget.py +21 -0
- ams_bp-0.4.0/src/AMS_BP/gui/widgets/utility_widgets/spectrum_widget.py +115 -0
- ams_bp-0.4.0/src/AMS_BP/logging/logutil.py +83 -0
- ams_bp-0.4.0/src/AMS_BP/logging/setup_run_directory.py +35 -0
- ams_bp-0.3.1/src/AMS_BP/run_cell_simulation.py → ams_bp-0.4.0/src/AMS_BP/main_cli.py +27 -72
- ams_bp-0.4.0/src/AMS_BP/optics/__init__.py +0 -0
- ams_bp-0.4.0/src/AMS_BP/optics/filters/channels/__init__.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/optics/filters/filters.py +2 -0
- ams_bp-0.4.0/src/AMS_BP/photophysics/__init__.py +0 -0
- ams_bp-0.4.0/src/AMS_BP/probabilityfuncs/__init__.py +0 -0
- ams_bp-0.4.0/src/AMS_BP/resources/template_configs/metadata_configs.json +20 -0
- ams_bp-0.4.0/src/AMS_BP/resources/template_configs/sim_config.toml +408 -0
- ams_bp-0.4.0/src/AMS_BP/resources/template_configs/twocolor_widefield_timeseries_live.toml +399 -0
- ams_bp-0.4.0/src/AMS_BP/resources/template_configs/twocolor_widefield_zstack_fixed.toml +406 -0
- ams_bp-0.4.0/src/AMS_BP/resources/template_configs/twocolor_widefield_zstack_live.toml +408 -0
- ams_bp-0.4.0/src/AMS_BP/run_sim_util.py +76 -0
- ams_bp-0.4.0/src/AMS_BP/sample/__init__.py +0 -0
- ams_bp-0.4.0/src/AMS_BP/utils/__init__.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/uv.lock +1000 -1
- ams_bp-0.3.1/docs/API_Documentation/configio/convertconfig.md +0 -166
- ams_bp-0.3.1/docs/API_Documentation/run_cell_simulation.md +0 -140
- ams_bp-0.3.1/examples/VisualizingIndividualModules/laser_modulation.ipynb +0 -1089
- ams_bp-0.3.1/examples/VisualizingIndividualModules/modules_explained.ipynb +0 -1471
- ams_bp-0.3.1/src/AMS_BP/configio/convertconfig.py +0 -919
- {ams_bp-0.3.1 → ams_bp-0.4.0}/.github/workflows/lint.yml +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/.github/workflows/pages.yml +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/.github/workflows/publish_pypi.yml +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/.gitignore +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/LICENSE +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/API_Documentation/configio/configmodels.md +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/API_Documentation/configio/experiments.md +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/API_Documentation/configio/saving.md +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/API_Documentation/groundtruth_generators/nuclearporecomplexes.md +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/API_Documentation/metadata/metadata.md +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/API_Documentation/motion/condensate_movement.md +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/API_Documentation/motion/movement/boundary_conditions.md +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/API_Documentation/motion/movement/fbm_BP.md +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/API_Documentation/motion/track_gen.md +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/API_Documentation/optics/camera/detectors.md +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/API_Documentation/optics/camera/quantum_eff.md +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/API_Documentation/optics/filters/channels/channelschema.md +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/API_Documentation/optics/filters/filters.md +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/API_Documentation/optics/lasers/laser_profiles.md +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/API_Documentation/optics/psf/psf_engine.md +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/API_Documentation/photophysics/photon_physics.md +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/API_Documentation/photophysics/state_kinetics.md +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/API_Documentation/probabilityfuncs/markov_chain.md +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/API_Documentation/probabilityfuncs/probability_functions.md +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/API_Documentation/sample/flurophore/flurophore_schema.md +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/API_Documentation/sample/sim_sampleplane.md +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/API_Documentation/sim_microscopy.md +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/API_Documentation/utils/constants.md +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/API_Documentation/utils/errors.md +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/API_Documentation/utils/util_functions.md +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/assets/buttons/ButtonFigure_FRAP.svg +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/assets/buttons/ButtonFigure_fPALM_NPC.svg +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/assets/buttons/ButtonFigure_sptPALM_mmaple.svg +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/assets/buttons/ButtonFigure_zstack_twocolor_confocal.svg +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/assets/buttons/ButtonFigure_zstack_twocolor_widefield.svg +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/assets/figures/Fig1_Schema.svg +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/assets/icons/Cells-actin-like-a-tree-Jamie-Whitelaw-1.png +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/assets/icons/drawing.pdf +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/assets/icons/drawing.png +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/assets/icons/drawing.svg +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/docs/index.md +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/examples/QuantitativeExperiments/FRAP/FRAP_base_[[0. 0.]].txt +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/examples/QuantitativeExperiments/FRAP/FRAP_base_[[0.04 0.04]].txt +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/examples/QuantitativeExperiments/FRAP/FRAP_base_[[0.1 0.1]].txt +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/examples/QuantitativeExperiments/FRAP/FRAP_base_[[0.4 0.4]].txt +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/examples/QuantitativeExperiments/FRAP/FRAP_data_[[0. 0.]].txt +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/examples/QuantitativeExperiments/FRAP/FRAP_data_[[0.04 0.04]].txt +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/examples/QuantitativeExperiments/FRAP/FRAP_data_[[0.1 0.1]].txt +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/examples/QuantitativeExperiments/FRAP/FRAP_data_[[0.4 0.4]].txt +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/examples/QuantitativeExperiments/MotionModels/groundtruth_boundedfbm.ipynb +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/examples/QuantitativeExperiments/PALM/fPALM/export_full2_0039_039.csv +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/examples/QuantitativeExperiments/PALM/fPALM/npc_palm.ipynb +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/examples/QuantitativeExperiments/PALM/sptPALM/motionmodels_sptmmaple.ipynb +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/examples/QuantitativeExperiments/TwoColor/Confocal/confocal_twocolor.ipynb +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/examples/QuantitativeExperiments/TwoColor/Widefield/widefield_twocolor.ipynb +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/mkdocs.yml +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/pytest.ini +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/cells/__init__.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/cells/budding_yeast_cell.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/cells/cell_factory.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/configio/__init__.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/configio/experiments.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/configio/saving.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/groundtruth_generators/__init__.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/groundtruth_generators/nuclearporecomplexes.py +0 -0
- {ams_bp-0.3.1/src/AMS_BP/metadata → ams_bp-0.4.0/src/AMS_BP/gui}/__init__.py +0 -0
- {ams_bp-0.3.1/src/AMS_BP/optics → ams_bp-0.4.0/src/AMS_BP/gui/assets}/__init__.py +0 -0
- {ams_bp-0.3.1/src/AMS_BP/optics/filters/channels → ams_bp-0.4.0/src/AMS_BP/gui/help_docs}/__init__.py +0 -0
- {ams_bp-0.3.1/src/AMS_BP/photophysics → ams_bp-0.4.0/src/AMS_BP/gui/widgets}/__init__.py +0 -0
- {ams_bp-0.3.1/src/AMS_BP/probabilityfuncs → ams_bp-0.4.0/src/AMS_BP/gui/widgets/utility_widgets}/__init__.py +0 -0
- {ams_bp-0.3.1/src/AMS_BP/sample → ams_bp-0.4.0/src/AMS_BP/logging}/__init__.py +0 -0
- {ams_bp-0.3.1/src/AMS_BP/utils → ams_bp-0.4.0/src/AMS_BP/metadata}/__init__.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/metadata/metadata.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/motion/__init__.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/motion/condensate_movement.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/motion/movement/__init__.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/motion/movement/boundary_conditions.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/motion/track_gen.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/optics/camera/__init__.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/optics/camera/detectors.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/optics/camera/quantum_eff.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/optics/filters/__init__.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/optics/filters/channels/channelschema.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/optics/lasers/__init__.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/optics/lasers/laser_profiles.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/optics/lasers/scanning_patterns.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/optics/psf/__init__.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/optics/psf/psf_engine.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/photophysics/photon_physics.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/photophysics/state_kinetics.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/probabilityfuncs/markov_chain.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/probabilityfuncs/probability_functions.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/sample/flurophores/__init__.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/sample/flurophores/flurophore_schema.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/sample/sim_sampleplane.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/sim_config.toml +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/sim_microscopy.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/utils/constants.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/utils/decorators.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/utils/errors.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/utils/maskMaker.py +0 -0
- {ams_bp-0.3.1 → ams_bp-0.4.0}/src/AMS_BP/utils/util_functions.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: AMS_BP
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.4.0
|
4
4
|
Summary: Advanced Microscopy Simulations developed for the Weber Lab by Baljyot Singh Parmar
|
5
5
|
Project-URL: Documentation, https://joemans3.github.io/AMS_BP/
|
6
6
|
Project-URL: Source code, https://github.com/joemans3/AMS_BP
|
@@ -11,12 +11,16 @@ Keywords: SMS
|
|
11
11
|
Requires-Python: >=3.12
|
12
12
|
Requires-Dist: boundedfbm>=0.4.0
|
13
13
|
Requires-Dist: jsonschema>=4.23.0
|
14
|
+
Requires-Dist: napari[all]>=0.5.6
|
14
15
|
Requires-Dist: numpy>=1.21.2
|
15
16
|
Requires-Dist: pydantic>=2.9.2
|
17
|
+
Requires-Dist: pyqt6>=6.9.0
|
16
18
|
Requires-Dist: pyvista>=0.44.2
|
17
19
|
Requires-Dist: scikit-image>=0.18.3
|
18
20
|
Requires-Dist: scipy>=1.7.1
|
21
|
+
Requires-Dist: tifffile>=2024.12.12
|
19
22
|
Requires-Dist: tomli>=2.0.2
|
23
|
+
Requires-Dist: tomlkit>=0.13.2
|
20
24
|
Requires-Dist: typer>=0.12.5
|
21
25
|
Description-Content-Type: text/markdown
|
22
26
|
|
@@ -50,6 +54,7 @@ Find detailed API references for the library at: [joemans3/github.io/AMS_BP](htt
|
|
50
54
|
## Table of Contents
|
51
55
|
- [Installation](#installation)
|
52
56
|
- [Command Line Interface](#command-line-interface)
|
57
|
+
- [GUI](#gui)
|
53
58
|
- [Configuration File](#configuration-file)
|
54
59
|
- [Running Experiments](#running-experiments)
|
55
60
|
- [Advanced Usage](#advanced-usage)
|
@@ -90,6 +95,9 @@ run_AMS_BP config [OPTIONS]
|
|
90
95
|
|
91
96
|
# Run a simulation using a configuration file
|
92
97
|
run_AMS_BP runsim CONFIG_FILE
|
98
|
+
|
99
|
+
#start the GUI
|
100
|
+
run_AMS_BP gui
|
93
101
|
```
|
94
102
|
|
95
103
|
### Config Command Options
|
@@ -97,6 +105,40 @@ run_AMS_BP runsim CONFIG_FILE
|
|
97
105
|
- `-o, --output_path PATH`: Specify the output directory for the configuration file
|
98
106
|
- `-r, --recursive_o`: Create output directory if it doesn't exist
|
99
107
|
|
108
|
+
## GUI
|
109
|
+
In addition to the CLI and programmatic API, AMS-BP comes with a graphical interface to guide users through the configuration, simulation, and analysis pipeline.
|
110
|
+
|
111
|
+
### Main GUI Features
|
112
|
+
The GUI provides the following tools from a single interface:
|
113
|
+
|
114
|
+
**Create Configuration File** — Launches the visual configuration builder
|
115
|
+
**Run Simulation from Config** — Select a .toml file and run the simulation with logging and progress tracking
|
116
|
+
**Visualize Microscopy Data (Napari)** — Open TIFF, PNG, ND2, or Zarr image files and view with the Napari viewer
|
117
|
+
**Package Logs for Sharing** — Package run directories (e.g., run_2024_04_20_001) into a .zip file for archival or collaboration
|
118
|
+
|
119
|
+
### Launch the GUI
|
120
|
+
To start the GUI, run:
|
121
|
+
|
122
|
+
```bash
|
123
|
+
|
124
|
+
run_AMS_BP gui
|
125
|
+
```
|
126
|
+
#### Configuration Builder
|
127
|
+
Clicking "Create Configuration File" opens a template selector where you can choose a preconfigured simulation (with preview images), and then visually edit all configuration options through dedicated tabs.
|
128
|
+
|
129
|
+
Each section of the configuration is editable via structured UI forms, with contextual help and validation. Tabs include:
|
130
|
+
|
131
|
+
- Global/Cell/Molecule/Condensate/Fluorophore parameters
|
132
|
+
- Laser and optical configuration
|
133
|
+
- Camera and channel settings
|
134
|
+
- Experiment setup (e.g., z-stack vs time-series)
|
135
|
+
Once ready, click "Preview Configuration TOML" to inspect the final file, and "Save" to export.
|
136
|
+
|
137
|
+
#### Running Simulations from GUI
|
138
|
+
Clicking "Run Simulation from Config" lets you select any .toml configuration file. A real-time log viewer shows progress, and outputs are saved in a structured AMS_runs/run_*/ directory.
|
139
|
+
|
140
|
+
#### Sharing Logs
|
141
|
+
Run into an issue? Use the packge logs button to select the logs corresponding to the simulation you just ran, save them and send them over to us! It will help you diagnose the issue!
|
100
142
|
|
101
143
|
## Configuration File
|
102
144
|
|
@@ -175,32 +217,6 @@ run_AMS_BP config
|
|
175
217
|
run_AMS_BP runsim sim_config.toml
|
176
218
|
```
|
177
219
|
4. View the results in the newly created folder, whose name is defined in the config file.
|
178
|
-
## Advanced Usage
|
179
|
-
|
180
|
-
### Using AMS-BP as a Library
|
181
|
-
|
182
|
-
For programmatic control, you can import and use AMS-BP as a Python library:
|
183
|
-
|
184
|
-
```python
|
185
|
-
from AMS_BP.configio.convertconfig import ConfigLoader
|
186
|
-
|
187
|
-
# Configuration loader intialization
|
188
|
-
config_loader = ConfigLoader(config_path="path/to/config.toml")
|
189
|
-
|
190
|
-
# Setup microscope
|
191
|
-
setup_config = config_loader.setup_microscope()
|
192
|
-
microscope = setup_config["microscope"]
|
193
|
-
config_exp = setup_config["experiment_config"]
|
194
|
-
function_exp = setup_config["experiment_func"]
|
195
|
-
|
196
|
-
# Run simulation
|
197
|
-
frames, metadata = function_exp(microscope=microscope, config=config_exp)
|
198
|
-
|
199
|
-
# Save results
|
200
|
-
from AMS_BP.configio.saving import save_config_frames
|
201
|
-
save_config_frames(metadata, frames, setup_config["base_config"].OutputParameters)
|
202
|
-
```
|
203
|
-
> **_NOTE:_** Please note that this application DOES NOT currently model the process of stimulated emission, and as such is not suitable for simulating stimulated emission microscopy ([STED](https://en.wikipedia.org/wiki/STED_microscopy))-type experiments. Work in this area is ongoing.
|
204
220
|
|
205
221
|
## High Priority Features
|
206
222
|
~~1. Irregular cell shapes with motion models~~ (supported with release of v0.2.0)
|
@@ -208,3 +224,6 @@ save_config_frames(metadata, frames, setup_config["base_config"].OutputParameter
|
|
208
224
|
3. STORM workflow examples
|
209
225
|
4. CTRW motion models
|
210
226
|
5. Simpler configurations
|
227
|
+
> **_NOTE:_** Please note that this application DOES NOT currently model the process of stimulated emission, and as such is not suitable for simulating stimulated emission microscopy ([STED](https://en.wikipedia.org/wiki/STED_microscopy))-type experiments. Work in this area is ongoing.
|
228
|
+
|
229
|
+
|
@@ -28,6 +28,7 @@ Find detailed API references for the library at: [joemans3/github.io/AMS_BP](htt
|
|
28
28
|
## Table of Contents
|
29
29
|
- [Installation](#installation)
|
30
30
|
- [Command Line Interface](#command-line-interface)
|
31
|
+
- [GUI](#gui)
|
31
32
|
- [Configuration File](#configuration-file)
|
32
33
|
- [Running Experiments](#running-experiments)
|
33
34
|
- [Advanced Usage](#advanced-usage)
|
@@ -68,6 +69,9 @@ run_AMS_BP config [OPTIONS]
|
|
68
69
|
|
69
70
|
# Run a simulation using a configuration file
|
70
71
|
run_AMS_BP runsim CONFIG_FILE
|
72
|
+
|
73
|
+
#start the GUI
|
74
|
+
run_AMS_BP gui
|
71
75
|
```
|
72
76
|
|
73
77
|
### Config Command Options
|
@@ -75,6 +79,40 @@ run_AMS_BP runsim CONFIG_FILE
|
|
75
79
|
- `-o, --output_path PATH`: Specify the output directory for the configuration file
|
76
80
|
- `-r, --recursive_o`: Create output directory if it doesn't exist
|
77
81
|
|
82
|
+
## GUI
|
83
|
+
In addition to the CLI and programmatic API, AMS-BP comes with a graphical interface to guide users through the configuration, simulation, and analysis pipeline.
|
84
|
+
|
85
|
+
### Main GUI Features
|
86
|
+
The GUI provides the following tools from a single interface:
|
87
|
+
|
88
|
+
**Create Configuration File** — Launches the visual configuration builder
|
89
|
+
**Run Simulation from Config** — Select a .toml file and run the simulation with logging and progress tracking
|
90
|
+
**Visualize Microscopy Data (Napari)** — Open TIFF, PNG, ND2, or Zarr image files and view with the Napari viewer
|
91
|
+
**Package Logs for Sharing** — Package run directories (e.g., run_2024_04_20_001) into a .zip file for archival or collaboration
|
92
|
+
|
93
|
+
### Launch the GUI
|
94
|
+
To start the GUI, run:
|
95
|
+
|
96
|
+
```bash
|
97
|
+
|
98
|
+
run_AMS_BP gui
|
99
|
+
```
|
100
|
+
#### Configuration Builder
|
101
|
+
Clicking "Create Configuration File" opens a template selector where you can choose a preconfigured simulation (with preview images), and then visually edit all configuration options through dedicated tabs.
|
102
|
+
|
103
|
+
Each section of the configuration is editable via structured UI forms, with contextual help and validation. Tabs include:
|
104
|
+
|
105
|
+
- Global/Cell/Molecule/Condensate/Fluorophore parameters
|
106
|
+
- Laser and optical configuration
|
107
|
+
- Camera and channel settings
|
108
|
+
- Experiment setup (e.g., z-stack vs time-series)
|
109
|
+
Once ready, click "Preview Configuration TOML" to inspect the final file, and "Save" to export.
|
110
|
+
|
111
|
+
#### Running Simulations from GUI
|
112
|
+
Clicking "Run Simulation from Config" lets you select any .toml configuration file. A real-time log viewer shows progress, and outputs are saved in a structured AMS_runs/run_*/ directory.
|
113
|
+
|
114
|
+
#### Sharing Logs
|
115
|
+
Run into an issue? Use the packge logs button to select the logs corresponding to the simulation you just ran, save them and send them over to us! It will help you diagnose the issue!
|
78
116
|
|
79
117
|
## Configuration File
|
80
118
|
|
@@ -153,32 +191,6 @@ run_AMS_BP config
|
|
153
191
|
run_AMS_BP runsim sim_config.toml
|
154
192
|
```
|
155
193
|
4. View the results in the newly created folder, whose name is defined in the config file.
|
156
|
-
## Advanced Usage
|
157
|
-
|
158
|
-
### Using AMS-BP as a Library
|
159
|
-
|
160
|
-
For programmatic control, you can import and use AMS-BP as a Python library:
|
161
|
-
|
162
|
-
```python
|
163
|
-
from AMS_BP.configio.convertconfig import ConfigLoader
|
164
|
-
|
165
|
-
# Configuration loader intialization
|
166
|
-
config_loader = ConfigLoader(config_path="path/to/config.toml")
|
167
|
-
|
168
|
-
# Setup microscope
|
169
|
-
setup_config = config_loader.setup_microscope()
|
170
|
-
microscope = setup_config["microscope"]
|
171
|
-
config_exp = setup_config["experiment_config"]
|
172
|
-
function_exp = setup_config["experiment_func"]
|
173
|
-
|
174
|
-
# Run simulation
|
175
|
-
frames, metadata = function_exp(microscope=microscope, config=config_exp)
|
176
|
-
|
177
|
-
# Save results
|
178
|
-
from AMS_BP.configio.saving import save_config_frames
|
179
|
-
save_config_frames(metadata, frames, setup_config["base_config"].OutputParameters)
|
180
|
-
```
|
181
|
-
> **_NOTE:_** Please note that this application DOES NOT currently model the process of stimulated emission, and as such is not suitable for simulating stimulated emission microscopy ([STED](https://en.wikipedia.org/wiki/STED_microscopy))-type experiments. Work in this area is ongoing.
|
182
194
|
|
183
195
|
## High Priority Features
|
184
196
|
~~1. Irregular cell shapes with motion models~~ (supported with release of v0.2.0)
|
@@ -186,3 +198,6 @@ save_config_frames(metadata, frames, setup_config["base_config"].OutputParameter
|
|
186
198
|
3. STORM workflow examples
|
187
199
|
4. CTRW motion models
|
188
200
|
5. Simpler configurations
|
201
|
+
> **_NOTE:_** Please note that this application DOES NOT currently model the process of stimulated emission, and as such is not suitable for simulating stimulated emission microscopy ([STED](https://en.wikipedia.org/wiki/STED_microscopy))-type experiments. Work in this area is ongoing.
|
202
|
+
|
203
|
+
|
@@ -0,0 +1,193 @@
|
|
1
|
+
# Virtual Microscope Configuration Parser Documentation
|
2
|
+
|
3
|
+
## Overview
|
4
|
+
|
5
|
+
This module provides functionality to parse TOML configuration files and set up a virtual microscope simulation environment. It handles all aspects of configuration including global parameters, cell parameters, molecule parameters, condensate parameters, fluorophores, PSF (Point Spread Function), lasers, filters, channels, detectors, and experimental settings.
|
6
|
+
|
7
|
+
## Key Components
|
8
|
+
|
9
|
+
### Configuration Loading
|
10
|
+
|
11
|
+
```python
|
12
|
+
load_config(config_path: Union[str, Path]) -> Dict[str, Any]
|
13
|
+
```
|
14
|
+
|
15
|
+
Loads and parses a TOML configuration file from the specified path.
|
16
|
+
|
17
|
+
### Data Model Schema Population
|
18
|
+
|
19
|
+
```python
|
20
|
+
populate_dataclass_schema(config: Dict[str, Any]) -> Tuple[GlobalParameters, CellParameters, MoleculeParameters, CondensateParameters, OutputParameters]
|
21
|
+
```
|
22
|
+
|
23
|
+
Populates Pydantic schema models from configuration data, returning structured parameter objects.
|
24
|
+
|
25
|
+
### Experiment Configuration
|
26
|
+
|
27
|
+
```python
|
28
|
+
create_experiment_from_config(config: Dict[str, Any]) -> Tuple[BaseExpConfig, Callable]
|
29
|
+
```
|
30
|
+
|
31
|
+
Creates an experiment configuration and associated callable function based on the experiment type (time-series or z-stack).
|
32
|
+
|
33
|
+
### Fluorophore Configuration
|
34
|
+
|
35
|
+
```python
|
36
|
+
create_fluorophores_from_config(config: Dict[str, Any]) -> List[Fluorophore]
|
37
|
+
```
|
38
|
+
|
39
|
+
Creates a list of fluorophore objects from configuration data, including states and transitions.
|
40
|
+
|
41
|
+
### PSF (Point Spread Function) Configuration
|
42
|
+
|
43
|
+
```python
|
44
|
+
create_psf_from_config(config: Dict[str, Any]) -> Tuple[Callable, Dict[str, Any]]
|
45
|
+
```
|
46
|
+
|
47
|
+
Creates a PSF engine function and additional configuration from the config data.
|
48
|
+
|
49
|
+
### Laser Configuration
|
50
|
+
|
51
|
+
```python
|
52
|
+
create_lasers_from_config(config: Dict[str, Any]) -> Dict[str, LaserProfile]
|
53
|
+
```
|
54
|
+
|
55
|
+
Creates laser profile instances (Gaussian, Widefield, HiLo) from configuration data.
|
56
|
+
|
57
|
+
### Filter Configuration
|
58
|
+
|
59
|
+
```python
|
60
|
+
create_filter_set_from_config(config: Dict[str, Any]) -> FilterSet
|
61
|
+
```
|
62
|
+
|
63
|
+
Creates a filter set (excitation, emission, dichroic) from configuration data.
|
64
|
+
|
65
|
+
### Channel Configuration
|
66
|
+
|
67
|
+
```python
|
68
|
+
create_channels(config: Dict[str, Any]) -> Channels
|
69
|
+
```
|
70
|
+
|
71
|
+
Creates channel objects from configuration data.
|
72
|
+
|
73
|
+
### Detector Configuration
|
74
|
+
|
75
|
+
```python
|
76
|
+
create_detector_from_config(config: Dict[str, Any]) -> Tuple[Detector, QuantumEfficiency]
|
77
|
+
```
|
78
|
+
|
79
|
+
Creates a detector instance (CMOS or EMCCD) and quantum efficiency from configuration data.
|
80
|
+
|
81
|
+
### Cell Creation
|
82
|
+
|
83
|
+
```python
|
84
|
+
create_cell_from_params(cell_params) -> BaseCell
|
85
|
+
```
|
86
|
+
|
87
|
+
Creates a cell object based on cell parameters.
|
88
|
+
|
89
|
+
### Sample Plane Creation
|
90
|
+
|
91
|
+
```python
|
92
|
+
create_sample_plane(global_params: GlobalParameters, cell: BaseCell) -> SamplePlane
|
93
|
+
```
|
94
|
+
|
95
|
+
Creates a sample plane object based on global parameters and cell information.
|
96
|
+
|
97
|
+
### Condensate Configuration
|
98
|
+
|
99
|
+
```python
|
100
|
+
create_condensates_dict(condensate_params: CondensateParameters, cell: BaseCell) -> List[dict]
|
101
|
+
```
|
102
|
+
|
103
|
+
Creates a list of condensate dictionaries based on condensate parameters.
|
104
|
+
|
105
|
+
### Sampling Function Creation
|
106
|
+
|
107
|
+
```python
|
108
|
+
create_sampling_functions(condensate_params, cell) -> List[Callable]
|
109
|
+
```
|
110
|
+
|
111
|
+
Creates sampling functions for initial molecule positions.
|
112
|
+
|
113
|
+
### Molecule Position Generation
|
114
|
+
|
115
|
+
```python
|
116
|
+
generate_initial_positions(molecule_params: MoleculeParameters, cell: BaseCell, condensate_params: CondensateParameters, sampling_functions: List[Callable]) -> List
|
117
|
+
```
|
118
|
+
|
119
|
+
Generates initial positions for molecules.
|
120
|
+
|
121
|
+
### Track Generation
|
122
|
+
|
123
|
+
```python
|
124
|
+
create_track_generator(global_params: GlobalParameters, cell: BaseCell) -> Track_generator
|
125
|
+
```
|
126
|
+
|
127
|
+
Creates a track generator object for molecule motion.
|
128
|
+
|
129
|
+
```python
|
130
|
+
get_tracks(molecule_params: MoleculeParameters, global_params: GlobalParameters, initial_positions: List, track_generator: Track_generator) -> Tuple[List, List]
|
131
|
+
```
|
132
|
+
|
133
|
+
Generates tracks for molecules based on parameters.
|
134
|
+
|
135
|
+
### Sample Creation
|
136
|
+
|
137
|
+
```python
|
138
|
+
add_tracks_to_sample(tracks: List, sample_plane: SamplePlane, fluorophore: List[Fluorophore], ID_counter=0) -> SamplePlane
|
139
|
+
```
|
140
|
+
|
141
|
+
Adds tracks to the sample plane.
|
142
|
+
|
143
|
+
### Microscope Setup
|
144
|
+
|
145
|
+
```python
|
146
|
+
setup_microscope(config: Dict[str, Any]) -> dict
|
147
|
+
```
|
148
|
+
|
149
|
+
The main function that orchestrates the entire setup process and returns a dictionary containing all created components including:
|
150
|
+
- Virtual microscope instance
|
151
|
+
- Base configuration
|
152
|
+
- PSF engine and configuration
|
153
|
+
- Channels
|
154
|
+
- Lasers
|
155
|
+
- Sample plane
|
156
|
+
- Tracks
|
157
|
+
- Points per time
|
158
|
+
- Condensate dictionary
|
159
|
+
- Cell
|
160
|
+
- Experiment configuration
|
161
|
+
- Experiment function
|
162
|
+
|
163
|
+
## Usage
|
164
|
+
|
165
|
+
To use this module, create a TOML configuration file with all necessary parameters and call the `setup_microscope` function:
|
166
|
+
|
167
|
+
```python
|
168
|
+
config = load_config("path/to/config.toml")
|
169
|
+
microscope_setup = setup_microscope(config)
|
170
|
+
|
171
|
+
# Access the virtual microscope instance
|
172
|
+
vm = microscope_setup["microscope"]
|
173
|
+
|
174
|
+
# Run an experiment
|
175
|
+
experiment_func = microscope_setup["experiment_func"]
|
176
|
+
experiment_config = microscope_setup["experiment_config"]
|
177
|
+
results = experiment_func(vm, experiment_config)
|
178
|
+
```
|
179
|
+
|
180
|
+
## Configuration Structure
|
181
|
+
|
182
|
+
The TOML configuration file should contain the following sections:
|
183
|
+
- Global_Parameters: General simulation parameters
|
184
|
+
- Cell_Parameters: Cell-specific parameters
|
185
|
+
- Molecule_Parameters: Molecule-specific parameters
|
186
|
+
- Condensate_Parameters: Condensate-specific parameters
|
187
|
+
- Output_Parameters: Output and saving parameters
|
188
|
+
- experiment: Experiment-specific parameters
|
189
|
+
- fluorophores: Fluorophore definitions
|
190
|
+
- psf: PSF configuration
|
191
|
+
- lasers: Laser configurations
|
192
|
+
- channels: Channel configurations
|
193
|
+
- camera: Camera and detector configurations
|
@@ -0,0 +1,184 @@
|
|
1
|
+
# AMS_BP CLI API Reference
|
2
|
+
|
3
|
+
## Module: `main_cli.py`
|
4
|
+
|
5
|
+
This module provides the command-line interface for the AMS_BP package.
|
6
|
+
|
7
|
+
### Dependencies
|
8
|
+
|
9
|
+
```python
|
10
|
+
import shutil
|
11
|
+
import sys
|
12
|
+
from pathlib import Path
|
13
|
+
from typing import Optional
|
14
|
+
|
15
|
+
import rich
|
16
|
+
import typer
|
17
|
+
from PyQt6.QtWidgets import QApplication
|
18
|
+
from rich.progress import Progress, SpinnerColumn, TextColumn
|
19
|
+
from typing_extensions import Annotated
|
20
|
+
|
21
|
+
from . import __version__
|
22
|
+
from .gui.main import MainWindow
|
23
|
+
from .run_sim_util import run_simulation_from_file
|
24
|
+
```
|
25
|
+
|
26
|
+
## Main Application Object
|
27
|
+
|
28
|
+
### `typer_app_asms_bp`
|
29
|
+
|
30
|
+
The main Typer application instance that defines the CLI.
|
31
|
+
|
32
|
+
```python
|
33
|
+
typer_app_asms_bp = typer.Typer(
|
34
|
+
name="AMS_BP CLI Tool",
|
35
|
+
help=cli_help_doc,
|
36
|
+
short_help="CLI tool for AMS_BP.",
|
37
|
+
rich_markup_mode="rich",
|
38
|
+
pretty_exceptions_show_locals=False,
|
39
|
+
add_completion=False,
|
40
|
+
no_args_is_help=True,
|
41
|
+
context_settings={"help_option_names": ["-h", "--help"]},
|
42
|
+
)
|
43
|
+
```
|
44
|
+
|
45
|
+
## Functions
|
46
|
+
|
47
|
+
### `cell_simulation()`
|
48
|
+
|
49
|
+
**Description:**
|
50
|
+
Callback function that displays version information when the CLI is invoked without a specific command.
|
51
|
+
|
52
|
+
**Usage:**
|
53
|
+
Automatically called when running the CLI without commands.
|
54
|
+
|
55
|
+
**Returns:**
|
56
|
+
None
|
57
|
+
|
58
|
+
**Example:**
|
59
|
+
```bash
|
60
|
+
python -m main_cli
|
61
|
+
```
|
62
|
+
|
63
|
+
---
|
64
|
+
|
65
|
+
### `run_gui() -> None`
|
66
|
+
|
67
|
+
**Description:**
|
68
|
+
Starts the PyQt GUI for the AMS_BP application.
|
69
|
+
|
70
|
+
**Parameters:**
|
71
|
+
None
|
72
|
+
|
73
|
+
**Returns:**
|
74
|
+
None
|
75
|
+
|
76
|
+
**Example:**
|
77
|
+
```bash
|
78
|
+
python -m main_cli gui
|
79
|
+
```
|
80
|
+
|
81
|
+
---
|
82
|
+
|
83
|
+
### `generate_config(output_path: Path = Path("."), output_path_make_recursive: Optional[bool] = None) -> None`
|
84
|
+
|
85
|
+
**Description:**
|
86
|
+
Generates a sample configuration file for the cell simulation.
|
87
|
+
|
88
|
+
**Parameters:**
|
89
|
+
- `output_path`: Path where the configuration file will be saved.
|
90
|
+
- Type: `Path`
|
91
|
+
- Default: Current directory (`Path(".")`)
|
92
|
+
- CLI Option: `--output_path, -o`
|
93
|
+
|
94
|
+
- `output_path_make_recursive`: Whether to create the output directory if it doesn't exist.
|
95
|
+
- Type: `Optional[bool]`
|
96
|
+
- Default: `None`
|
97
|
+
- CLI Option: `--recursive_o, -r`
|
98
|
+
|
99
|
+
**Returns:**
|
100
|
+
None
|
101
|
+
|
102
|
+
**Raises:**
|
103
|
+
- `typer.Abort`: If there's an error creating the configuration file or the output directory.
|
104
|
+
|
105
|
+
**Example:**
|
106
|
+
```bash
|
107
|
+
python -m main_cli config --output_path /path/to/directory --recursive_o
|
108
|
+
```
|
109
|
+
|
110
|
+
---
|
111
|
+
|
112
|
+
### `run_cell_simulation(config_file: Path) -> None`
|
113
|
+
|
114
|
+
**Description:**
|
115
|
+
Runs the cell simulation using the provided configuration file.
|
116
|
+
|
117
|
+
**Parameters:**
|
118
|
+
- `config_file`: Path to the configuration file.
|
119
|
+
- Type: `Path`
|
120
|
+
- Required: Yes
|
121
|
+
- CLI Argument: First positional argument
|
122
|
+
|
123
|
+
**Returns:**
|
124
|
+
None
|
125
|
+
|
126
|
+
**Example:**
|
127
|
+
```bash
|
128
|
+
python -m main_cli runsim path/to/config.toml
|
129
|
+
```
|
130
|
+
|
131
|
+
---
|
132
|
+
|
133
|
+
### `validate_config(config: dict) -> None`
|
134
|
+
|
135
|
+
**Description:**
|
136
|
+
Validates that the configuration dictionary has the required structure.
|
137
|
+
|
138
|
+
**Parameters:**
|
139
|
+
- `config`: Configuration dictionary to validate.
|
140
|
+
- Type: `dict`
|
141
|
+
- Required: Yes
|
142
|
+
|
143
|
+
**Returns:**
|
144
|
+
None
|
145
|
+
|
146
|
+
**Raises:**
|
147
|
+
- `typer.Abort`: If the configuration doesn't have the required structure.
|
148
|
+
|
149
|
+
**Internal Details:**
|
150
|
+
- Checks for the presence of an `Output_Parameters` section
|
151
|
+
- Checks for the presence of an `output_path` field within the `Output_Parameters` section
|
152
|
+
|
153
|
+
---
|
154
|
+
|
155
|
+
## CLI Commands
|
156
|
+
|
157
|
+
| Command | Description | Arguments | Options |
|
158
|
+
|---------|-------------|-----------|---------|
|
159
|
+
| `config` | Generate sample configuration file | - | `--output_path, -o`: Output directory<br>`--recursive_o, -r`: Create directories if they don't exist |
|
160
|
+
| `runsim` | Run cell simulation | `CONFIG_FILE`: Path to config file | - |
|
161
|
+
| `gui` | Start the PyQt GUI | - | - |
|
162
|
+
|
163
|
+
## Import and Use in Other Code
|
164
|
+
|
165
|
+
To use this CLI as a module in other Python code:
|
166
|
+
|
167
|
+
```python
|
168
|
+
from ams_bp.main_cli import typer_app_asms_bp, generate_config, run_cell_simulation, run_gui
|
169
|
+
|
170
|
+
# Generate a config file
|
171
|
+
generate_config(Path("/path/to/output"), True)
|
172
|
+
|
173
|
+
# Run a simulation
|
174
|
+
run_cell_simulation(Path("/path/to/config.toml"))
|
175
|
+
|
176
|
+
# Run the GUI
|
177
|
+
run_gui()
|
178
|
+
```
|
179
|
+
|
180
|
+
## Related Files
|
181
|
+
|
182
|
+
- `run_sim_util.py`: Contains the `run_simulation_from_file()` function used by the `runsim` command
|
183
|
+
- `gui/main.py`: Contains the `MainWindow` class used by the `gui` command
|
184
|
+
- `sim_config.toml`: Template configuration file that gets copied when using the `config` command
|
@@ -408,7 +408,7 @@ Each channel has its own filter set with the following parameters:
|
|
408
408
|
- **Description**: The type of experiment.
|
409
409
|
|
410
410
|
### `z_position`
|
411
|
-
- **Type**: Array of Numbers
|
411
|
+
- **Type**: Array of Numbers, or Number ( if "z-stack" or "time-series")
|
412
412
|
- **Description**: The z-positions for the experiment.
|
413
413
|
|
414
414
|
### `laser_names_active`
|