AMS-BP 0.0.251__tar.gz → 0.2.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.
Files changed (120) hide show
  1. {ams_bp-0.0.251 → ams_bp-0.2.0}/.github/workflows/publish_pypi.yml +1 -1
  2. {ams_bp-0.0.251 → ams_bp-0.2.0}/PKG-INFO +23 -4
  3. {ams_bp-0.0.251 → ams_bp-0.2.0}/README.md +19 -2
  4. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/API_Documentation/configio/configmodels.md +44 -7
  5. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/API_Documentation/configio/convertconfig.md +2 -2
  6. ams_bp-0.2.0/docs/API_Documentation/groundtruth_generators/nuclearporecomplexes.md +1 -0
  7. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/API_Documentation/sim_config.md +47 -7
  8. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/API_Documentation/sim_microscopy.md +1 -1
  9. ams_bp-0.2.0/docs/assets/figures/Fig1_Schema.svg +2249 -0
  10. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/index.md +18 -1
  11. ams_bp-0.2.0/examples/QuantitativeExperiments/FRAP_methods.ipynb +1030 -0
  12. ams_bp-0.2.0/examples/VisualizingIndividualModules/laser_modulation.ipynb +1089 -0
  13. ams_bp-0.2.0/examples/VisualizingIndividualModules/modules_explained.ipynb +1471 -0
  14. {ams_bp-0.0.251 → ams_bp-0.2.0}/pyproject.toml +3 -1
  15. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/__init__.py +1 -1
  16. ams_bp-0.2.0/src/AMS_BP/cells/__init__.py +31 -0
  17. ams_bp-0.2.0/src/AMS_BP/cells/budding_yeast_cell.py +274 -0
  18. ams_bp-0.2.0/src/AMS_BP/cells/cell_factory.py +148 -0
  19. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/configio/configmodels.py +9 -6
  20. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/configio/convertconfig.py +37 -29
  21. ams_bp-0.2.0/src/AMS_BP/groundtruth_generators/__init__.py +3 -0
  22. ams_bp-0.2.0/src/AMS_BP/groundtruth_generators/nuclearporecomplexes.py +68 -0
  23. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/motion/condensate_movement.py +28 -29
  24. ams_bp-0.2.0/src/AMS_BP/motion/movement/__init__.py +5 -0
  25. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/motion/movement/boundary_conditions.py +12 -1
  26. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/motion/track_gen.py +35 -84
  27. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/optics/lasers/laser_profiles.py +23 -18
  28. ams_bp-0.2.0/src/AMS_BP/optics/lasers/scanning_patterns.py +102 -0
  29. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/optics/psf/psf_engine.py +25 -8
  30. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/photophysics/photon_physics.py +4 -4
  31. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/photophysics/state_kinetics.py +33 -1
  32. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/probabilityfuncs/probability_functions.py +33 -100
  33. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/sample/sim_sampleplane.py +55 -24
  34. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/sim_config.toml +13 -8
  35. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/sim_microscopy.py +37 -8
  36. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/utils/util_functions.py +9 -0
  37. {ams_bp-0.0.251 → ams_bp-0.2.0}/uv.lock +143 -508
  38. ams_bp-0.0.251/docs/API_Documentation/cells/base_cell.md +0 -121
  39. ams_bp-0.0.251/docs/API_Documentation/cells/rectangular_cell.md +0 -109
  40. ams_bp-0.0.251/docs/API_Documentation/cells/rod_cell.md +0 -0
  41. ams_bp-0.0.251/docs/API_Documentation/cells/spherical_cell.md +0 -0
  42. ams_bp-0.0.251/examples/QuantitativeExperiments/FRAP_methods.ipynb +0 -1025
  43. ams_bp-0.0.251/examples/VisualizingIndividualModules/laser_modulation.ipynb +0 -1094
  44. ams_bp-0.0.251/examples/VisualizingIndividualModules/modules_explained.ipynb +0 -1466
  45. ams_bp-0.0.251/src/AMS_BP/cells/__init__.py +0 -5
  46. ams_bp-0.0.251/src/AMS_BP/cells/base_cell.py +0 -55
  47. ams_bp-0.0.251/src/AMS_BP/cells/rectangular_cell.py +0 -82
  48. ams_bp-0.0.251/src/AMS_BP/cells/rod_cell.py +0 -98
  49. ams_bp-0.0.251/src/AMS_BP/cells/spherical_cell.py +0 -74
  50. ams_bp-0.0.251/src/AMS_BP/motion/movement/__init__.py +0 -10
  51. ams_bp-0.0.251/src/AMS_BP/motion/movement/fbm_BP.py +0 -244
  52. {ams_bp-0.0.251 → ams_bp-0.2.0}/.github/workflows/lint.yml +0 -0
  53. {ams_bp-0.0.251 → ams_bp-0.2.0}/.github/workflows/pages.yml +0 -0
  54. {ams_bp-0.0.251 → ams_bp-0.2.0}/.gitignore +0 -0
  55. {ams_bp-0.0.251 → ams_bp-0.2.0}/LICENSE +0 -0
  56. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/API_Documentation/configio/experiments.md +0 -0
  57. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/API_Documentation/configio/saving.md +0 -0
  58. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/API_Documentation/metadata/metadata.md +0 -0
  59. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/API_Documentation/motion/condensate_movement.md +0 -0
  60. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/API_Documentation/motion/movement/boundary_conditions.md +0 -0
  61. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/API_Documentation/motion/movement/fbm_BP.md +0 -0
  62. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/API_Documentation/motion/track_gen.md +0 -0
  63. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/API_Documentation/optics/camera/detectors.md +0 -0
  64. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/API_Documentation/optics/camera/quantum_eff.md +0 -0
  65. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/API_Documentation/optics/filters/channels/channelschema.md +0 -0
  66. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/API_Documentation/optics/filters/filters.md +0 -0
  67. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/API_Documentation/optics/lasers/laser_profiles.md +0 -0
  68. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/API_Documentation/optics/psf/psf_engine.md +0 -0
  69. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/API_Documentation/photophysics/photon_physics.md +0 -0
  70. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/API_Documentation/photophysics/state_kinetics.md +0 -0
  71. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/API_Documentation/probabilityfuncs/markov_chain.md +0 -0
  72. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/API_Documentation/probabilityfuncs/probability_functions.md +0 -0
  73. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/API_Documentation/run_cell_simulation.md +0 -0
  74. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/API_Documentation/sample/flurophore/flurophore_schema.md +0 -0
  75. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/API_Documentation/sample/sim_sampleplane.md +0 -0
  76. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/API_Documentation/utils/constants.md +0 -0
  77. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/API_Documentation/utils/errors.md +0 -0
  78. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/API_Documentation/utils/util_functions.md +0 -0
  79. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/assets/icons/Cells-actin-like-a-tree-Jamie-Whitelaw-1.png +0 -0
  80. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/assets/icons/drawing.pdf +0 -0
  81. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/assets/icons/drawing.png +0 -0
  82. {ams_bp-0.0.251 → ams_bp-0.2.0}/docs/assets/icons/drawing.svg +0 -0
  83. {ams_bp-0.0.251 → ams_bp-0.2.0}/examples/QuantitativeExperiments/FRAP_base_[[0. 0.]].txt +0 -0
  84. {ams_bp-0.0.251 → ams_bp-0.2.0}/examples/QuantitativeExperiments/FRAP_base_[[0.04 0.04]].txt +0 -0
  85. {ams_bp-0.0.251 → ams_bp-0.2.0}/examples/QuantitativeExperiments/FRAP_base_[[0.1 0.1]].txt +0 -0
  86. {ams_bp-0.0.251 → ams_bp-0.2.0}/examples/QuantitativeExperiments/FRAP_base_[[0.4 0.4]].txt +0 -0
  87. {ams_bp-0.0.251 → ams_bp-0.2.0}/examples/QuantitativeExperiments/FRAP_data_[[0. 0.]].txt +0 -0
  88. {ams_bp-0.0.251 → ams_bp-0.2.0}/examples/QuantitativeExperiments/FRAP_data_[[0.04 0.04]].txt +0 -0
  89. {ams_bp-0.0.251 → ams_bp-0.2.0}/examples/QuantitativeExperiments/FRAP_data_[[0.1 0.1]].txt +0 -0
  90. {ams_bp-0.0.251 → ams_bp-0.2.0}/examples/QuantitativeExperiments/FRAP_data_[[0.4 0.4]].txt +0 -0
  91. {ams_bp-0.0.251 → ams_bp-0.2.0}/mkdocs.yml +0 -0
  92. {ams_bp-0.0.251 → ams_bp-0.2.0}/pytest.ini +0 -0
  93. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/configio/__init__.py +0 -0
  94. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/configio/experiments.py +0 -0
  95. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/configio/saving.py +0 -0
  96. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/metadata/__init__.py +0 -0
  97. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/metadata/metadata.py +0 -0
  98. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/motion/__init__.py +0 -0
  99. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/optics/__init__.py +0 -0
  100. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/optics/camera/__init__.py +0 -0
  101. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/optics/camera/detectors.py +0 -0
  102. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/optics/camera/quantum_eff.py +0 -0
  103. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/optics/filters/__init__.py +0 -0
  104. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/optics/filters/channels/__init__.py +0 -0
  105. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/optics/filters/channels/channelschema.py +0 -0
  106. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/optics/filters/filters.py +0 -0
  107. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/optics/lasers/__init__.py +0 -0
  108. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/optics/psf/__init__.py +0 -0
  109. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/photophysics/__init__.py +0 -0
  110. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/probabilityfuncs/__init__.py +0 -0
  111. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/probabilityfuncs/markov_chain.py +0 -0
  112. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/run_cell_simulation.py +0 -0
  113. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/sample/__init__.py +0 -0
  114. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/sample/flurophores/__init__.py +0 -0
  115. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/sample/flurophores/flurophore_schema.py +0 -0
  116. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/utils/__init__.py +0 -0
  117. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/utils/constants.py +0 -0
  118. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/utils/decorators.py +0 -0
  119. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/utils/errors.py +0 -0
  120. {ams_bp-0.0.251 → ams_bp-0.2.0}/src/AMS_BP/utils/maskMaker.py +0 -0
@@ -68,7 +68,7 @@ jobs:
68
68
  name: python-package-distributions
69
69
  path: dist/
70
70
  - name: Sign the dists with Sigstore
71
- uses: sigstore/gh-action-sigstore-python@v2.1.1
71
+ uses: sigstore/gh-action-sigstore-python@v3.0.0
72
72
  with:
73
73
  inputs: >-
74
74
  ./dist/*.tar.gz
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: AMS_BP
3
- Version: 0.0.251
3
+ Version: 0.2.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
@@ -8,10 +8,12 @@ Author-email: Baljyot Singh Parmar <baljyotparmar@hotmail.com>
8
8
  Maintainer-email: Baljyot Singh Parmar <baljyotparmar@hotmail.com>
9
9
  License-File: LICENSE
10
10
  Keywords: SMS
11
- Requires-Python: >=3.10
11
+ Requires-Python: >=3.12
12
+ Requires-Dist: boundedfbm>=0.2.0
12
13
  Requires-Dist: jsonschema>=4.23.0
13
14
  Requires-Dist: numpy>=1.21.2
14
15
  Requires-Dist: pydantic>=2.9.2
16
+ Requires-Dist: pyvista>=0.44.2
15
17
  Requires-Dist: scikit-image>=0.18.3
16
18
  Requires-Dist: scipy>=1.7.1
17
19
  Requires-Dist: tomli>=2.0.2
@@ -79,6 +81,14 @@ run_AMS_BP runsim CONFIG_FILE
79
81
  - `-o, --output_path PATH`: Specify the output directory for the configuration file
80
82
  - `-r, --recursive_o`: Create output directory if it doesn't exist
81
83
 
84
+ ## Overview of Simulation Workflow
85
+ ![Overview Schematic](./docs/assets/figures/Fig1_Schema.svg)
86
+ *A ground truth is created, **a**, with $`f_{n}`$ fluorophore types of $`N_{f_{n}}`$ molecules each. If applicable, the motion of these molecules is modelled using a 3D bounded FBM with fluctuating generalized diffusion coefficients and Hurst parameters. Variations are modelled as a Markov Chain and require rate constants as parameters. Different fluorophores can have different motion models. The resolution of the motion models is $`\Delta t`$ and cannot be smaller than 1 ms (for computational efficiency). Given the microscope parameters specific to the experimental procedure to simulate, at every time $`t_{j}`$, the excitation intensity for each channel (**b**) is calculated at each fluorophore's location, **c**. For $`t_{j} \rightarrow t_{j+\Delta t}`$, the photophysical state trajectory of the fluorophore is simulated using the light intensity at the molecule's location as input for any light-dependent transition rates, **d**. For the duration that the shutter is open and light is emitted from the sample, emission filters for each channel are applied before the convolution with PSF models, **e**. The incident photons on the detector are then converted to photoelectrons and finally to digital units using the detector models provided, **f**.*
87
+
88
+
89
+
90
+
91
+
82
92
  ## Configuration File
83
93
 
84
94
  The configuration file (sim_config.toml) is divided into several key sections:
@@ -96,7 +106,6 @@ diffusion_unit = "um^2/s" # diffusion coefficient units
96
106
 
97
107
  1. **Cell Parameters**
98
108
  - Define cell space dimensions
99
- - Set cell axial radius
100
109
 
101
110
  2. **Molecule Parameters**
102
111
  - Number of molecules per type
@@ -124,7 +133,8 @@ diffusion_unit = "um^2/s" # diffusion coefficient units
124
133
 
125
134
  ## Running Experiments
126
135
 
127
- AMS-BP supports two types of experiments:
136
+ AMS-BP's CLI currently supports two types of experiments:
137
+ > (however this can be extended when used as a library)
128
138
 
129
139
  ### 1. Time Series
130
140
  ```toml
@@ -172,4 +182,13 @@ from AMS_BP.configio.saving import save_config_frames
172
182
  save_config_frames(metadata, frames, setup_config["base_config"].OutputParameters)
173
183
  ```
174
184
 
185
+ ## API Reference and Docs
186
+ Find detailed API references for the library at: [joemans3/github.io/AMS_BP](https://joemans3.github.io/AMS_BP/)
175
187
  > A more detailed example is provided in the jupyter notebook in the examples. For starters refer to the [VisualizingIndividualModules](examples/VisualizingIndividualModules/modules_explained.ipynb). Then head over to the [laser modulation module](examples/VisualizingIndividualModules/laser_modulation.ipynb) which will show how to change the laser power over time in the simulations. Then view an example of a complex experiment setup for [FRAP](examples/QuantitativeExperiments/FRAP_methods.ipynb) which is possible by the use of compositions of modules in this simulation library.
188
+
189
+ ## High Priority Features
190
+ 1. Irregular cell shapes with motion models
191
+ 2. Stimulated Emission models
192
+ 3. STORM workflow examples
193
+ 4. CTRW motion models
194
+ 5. Simpler configurations
@@ -59,6 +59,14 @@ run_AMS_BP runsim CONFIG_FILE
59
59
  - `-o, --output_path PATH`: Specify the output directory for the configuration file
60
60
  - `-r, --recursive_o`: Create output directory if it doesn't exist
61
61
 
62
+ ## Overview of Simulation Workflow
63
+ ![Overview Schematic](./docs/assets/figures/Fig1_Schema.svg)
64
+ *A ground truth is created, **a**, with $`f_{n}`$ fluorophore types of $`N_{f_{n}}`$ molecules each. If applicable, the motion of these molecules is modelled using a 3D bounded FBM with fluctuating generalized diffusion coefficients and Hurst parameters. Variations are modelled as a Markov Chain and require rate constants as parameters. Different fluorophores can have different motion models. The resolution of the motion models is $`\Delta t`$ and cannot be smaller than 1 ms (for computational efficiency). Given the microscope parameters specific to the experimental procedure to simulate, at every time $`t_{j}`$, the excitation intensity for each channel (**b**) is calculated at each fluorophore's location, **c**. For $`t_{j} \rightarrow t_{j+\Delta t}`$, the photophysical state trajectory of the fluorophore is simulated using the light intensity at the molecule's location as input for any light-dependent transition rates, **d**. For the duration that the shutter is open and light is emitted from the sample, emission filters for each channel are applied before the convolution with PSF models, **e**. The incident photons on the detector are then converted to photoelectrons and finally to digital units using the detector models provided, **f**.*
65
+
66
+
67
+
68
+
69
+
62
70
  ## Configuration File
63
71
 
64
72
  The configuration file (sim_config.toml) is divided into several key sections:
@@ -76,7 +84,6 @@ diffusion_unit = "um^2/s" # diffusion coefficient units
76
84
 
77
85
  1. **Cell Parameters**
78
86
  - Define cell space dimensions
79
- - Set cell axial radius
80
87
 
81
88
  2. **Molecule Parameters**
82
89
  - Number of molecules per type
@@ -104,7 +111,8 @@ diffusion_unit = "um^2/s" # diffusion coefficient units
104
111
 
105
112
  ## Running Experiments
106
113
 
107
- AMS-BP supports two types of experiments:
114
+ AMS-BP's CLI currently supports two types of experiments:
115
+ > (however this can be extended when used as a library)
108
116
 
109
117
  ### 1. Time Series
110
118
  ```toml
@@ -152,4 +160,13 @@ from AMS_BP.configio.saving import save_config_frames
152
160
  save_config_frames(metadata, frames, setup_config["base_config"].OutputParameters)
153
161
  ```
154
162
 
163
+ ## API Reference and Docs
164
+ Find detailed API references for the library at: [joemans3/github.io/AMS_BP](https://joemans3.github.io/AMS_BP/)
155
165
  > A more detailed example is provided in the jupyter notebook in the examples. For starters refer to the [VisualizingIndividualModules](examples/VisualizingIndividualModules/modules_explained.ipynb). Then head over to the [laser modulation module](examples/VisualizingIndividualModules/laser_modulation.ipynb) which will show how to change the laser power over time in the simulations. Then view an example of a complex experiment setup for [FRAP](examples/QuantitativeExperiments/FRAP_methods.ipynb) which is possible by the use of compositions of modules in this simulation library.
166
+
167
+ ## High Priority Features
168
+ 1. Irregular cell shapes with motion models
169
+ 2. Stimulated Emission models
170
+ 3. STORM workflow examples
171
+ 4. CTRW motion models
172
+ 5. Simpler configurations
@@ -13,14 +13,51 @@ class CellParameters(BaseModel)
13
13
  ```
14
14
 
15
15
  #### Fields
16
- - `cell_space: List[List[float]]`
17
- - Description: Cell space dimensions in micrometers
18
- - Format: 2D array defining spatial boundaries
19
- - Automatically converted to numpy array
16
+ - `cell_type: Union[str, CellType]`
17
+ - Type of cell.
18
+ - Supported: RectangularCell, SphericalCell, OvoidCell, RodCell, BuddingCell
19
+
20
+ - `params: Dict[str, Any]`
21
+ - Key value pairs of the parameters of the specified cell.
22
+
23
+ ```python
24
+ # SphericalCell
25
+ params = {
26
+ "center": [0, 0, 0], # 3D center coordinates
27
+ "radius": 10.0 # Radius of sphere
28
+ }
29
+ ```
30
+
31
+
32
+ ```python
33
+ # RodCell
34
+ params = {
35
+ "center": [0, 0, 0], # 3D center coordinates
36
+ "direction": [0, 0, 1], # Direction vector (will be normalized)
37
+ "height": 20.0, # Length of the rod
38
+ "radius": 5.0 # Radius of the rod
39
+ }
40
+ ```
41
+
42
+
43
+ ```python
44
+ # RectangularCell
45
+ params = {
46
+ "bounds": [-10, 10, -10, 10, -10, 10] # [xmin, xmax, ymin, ymax, zmin, zmax]
47
+ }
48
+ ```
49
+
20
50
 
21
- - `cell_axial_radius: float`
22
- - Description: Axial radius in micrometers
23
- - Defines the cell's axial dimension
51
+ ```python
52
+ # OvoidCell
53
+ params = {
54
+ "center": [0, 0, 0], # 3D center coordinates
55
+ "direction": [0, 0, 1], # Direction vector (will be normalized)
56
+ "xradius": 10.0, # Radius in x-direction
57
+ "yradius": 15.0, # Radius in y-direction
58
+ "zradius": 20.0 # Radius in z-direction
59
+ }
60
+ ```
24
61
 
25
62
  ### MoleculeParameters
26
63
  Defines parameters for molecular motion and behavior simulation.
@@ -98,12 +98,12 @@ Creates cell instance from parameters.
98
98
 
99
99
  ### `make_sample`
100
100
  ```python
101
- def make_sample(global_params, cell_params) -> SamplePlane
101
+ def make_sample(global_params, cell) -> SamplePlane
102
102
  ```
103
103
  Creates sample plane from parameters.
104
104
  - **Parameters:**
105
105
  - `global_params`: Global parameters
106
- - `cell_params`: Cell parameters
106
+ - `cell`: Instance of BaseCell
107
107
  - **Returns:** SamplePlane instance
108
108
 
109
109
  ### `make_condensatedict`
@@ -0,0 +1 @@
1
+ ::: AMS_BP.groundtruth_generators.nuclearporecomplexes
@@ -30,14 +30,54 @@ This document provides a detailed explanation of the TOML configuration file use
30
30
 
31
31
  ## 2. **Cell Parameters**
32
32
 
33
- ### `cell_space`
34
- - **Type**: Array of Arrays of Numbers
35
- - **Shape**: `[[x_min, x_max], [y_min, y_max]]`
36
- - **Description**: Defines the spatial boundaries of the cell in micrometers (`um`).
33
+ ### `cell_type`
34
+ - **Type**: Union[str, CellType]
35
+ - **Description**: Defines the type of the cell to simulate.
36
+ - Supported: RectangularCell, SphericalCell, OvoidCell, RodCell, BuddingCell
37
+
38
+ ### `params`
39
+ - **Type**: dictionary of parameter names (String) and values (Any)
40
+ - **Description**: Values for the cell_type specified above. The following the general structure:
41
+
42
+ ```python
43
+ # SphericalCell
44
+ params = {
45
+ "center": [0, 0, 0], # 3D center coordinates
46
+ "radius": 10.0 # Radius of sphere
47
+ }
48
+ ```
49
+
50
+
51
+ ```python
52
+ # RodCell
53
+ params = {
54
+ "center": [0, 0, 0], # 3D center coordinates
55
+ "direction": [0, 0, 1], # Direction vector (will be normalized)
56
+ "height": 20.0, # Length of the rod
57
+ "radius": 5.0 # Radius of the rod
58
+ }
59
+ ```
60
+
61
+
62
+ ```python
63
+ # RectangularCell
64
+ params = {
65
+ "bounds": [-10, 10, -10, 10, -10, 10] # [xmin, xmax, ymin, ymax, zmin, zmax]
66
+ }
67
+ ```
68
+
69
+
70
+ ```python
71
+ # OvoidCell
72
+ params = {
73
+ "center": [0, 0, 0], # 3D center coordinates
74
+ "direction": [0, 0, 1], # Direction vector (will be normalized)
75
+ "xradius": 10.0, # Radius in x-direction
76
+ "yradius": 15.0, # Radius in y-direction
77
+ "zradius": 20.0 # Radius in z-direction
78
+ }
79
+ ```
37
80
 
38
- ### `cell_axial_radius`
39
- - **Type**: Number
40
- - **Description**: The axial radius of the cell in either direction from 0 (focal plane) in micrometers (`um`). The total z-range is `2 * cell_axial_radius`.
41
81
 
42
82
  ---
43
83
 
@@ -54,7 +54,7 @@ Sets the power of the lasers. Raises a `ValueError` if the provided power exceed
54
54
 
55
55
  Sets the positions of the lasers.
56
56
 
57
- #### `run_sim(self, z_val: float, laser_power: Dict[str, float], xyoffset: Tuple[float, float], laser_position: Dict[str, Tuple[float, float, float]] | None, duration_total: Optional[int] = None, exposure_time: Optional[int] = None, interval_time: Optional[int] = None) -> Tuple[np.ndarray, MetaData]`
57
+ #### `run_sim(self, z_val: float, laser_power:Dict[str, Union[float, Callable[[float], float]], xyoffset: Tuple[float, float], laser_position: Optional[Dict[str, Union[Tuple[float, float, float], Callable[[float], Tuple[float, float, float]]]]] = None, duration_total: Optional[int] = None, exposure_time: Optional[int] = None, interval_time: Optional[int] = None, scanning: Optional[bool] = False) -> Tuple[np.ndarray, MetaData]`
58
58
 
59
59
  Runs the simulation for the given parameters and returns the resulting image stack and metadata.
60
60