simind-python-connector 1.0.0__py3-none-any.whl
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.
- simind_python_connector/__init__.py +72 -0
- simind_python_connector/backends/__init__.py +480 -0
- simind_python_connector/backends/base.py +387 -0
- simind_python_connector/backends/sirf_backend.py +309 -0
- simind_python_connector/backends/stir_backend.py +395 -0
- simind_python_connector/builders/__init__.py +19 -0
- simind_python_connector/builders/acquisition_builder.py +526 -0
- simind_python_connector/builders/image_builder.py +217 -0
- simind_python_connector/configs/AnyScan.yaml +420 -0
- simind_python_connector/configs/Discovery670.yaml +412 -0
- simind_python_connector/configs/Example.yaml +420 -0
- simind_python_connector/configs/MLD001_SCAN0.yaml +426 -0
- simind_python_connector/configs/__init__.py +41 -0
- simind_python_connector/configs/input.smc +51 -0
- simind_python_connector/connectors/__init__.py +24 -0
- simind_python_connector/connectors/_spacing.py +69 -0
- simind_python_connector/connectors/base.py +40 -0
- simind_python_connector/connectors/python_connector.py +355 -0
- simind_python_connector/connectors/pytomography_adaptor.py +263 -0
- simind_python_connector/connectors/sirf_adaptor.py +164 -0
- simind_python_connector/connectors/stir_adaptor.py +164 -0
- simind_python_connector/converters/__init__.py +16 -0
- simind_python_connector/converters/attenuation.py +367 -0
- simind_python_connector/converters/dicom_to_stir.py +3 -0
- simind_python_connector/converters/simind_to_stir.py +769 -0
- simind_python_connector/core/__init__.py +7 -0
- simind_python_connector/core/config.py +939 -0
- simind_python_connector/core/executor.py +96 -0
- simind_python_connector/core/types.py +203 -0
- simind_python_connector/data/Schneider2000.json +222 -0
- simind_python_connector/data/__init__.py +25 -0
- simind_python_connector/data/bone.atn +187 -0
- simind_python_connector/data/h2o.atn +92 -0
- simind_python_connector/utils/__init__.py +120 -0
- simind_python_connector/utils/backend_access.py +121 -0
- simind_python_connector/utils/import_helpers.py +74 -0
- simind_python_connector/utils/interfile_numpy.py +195 -0
- simind_python_connector/utils/interfile_parser.py +175 -0
- simind_python_connector/utils/io_utils.py +14 -0
- simind_python_connector/utils/simind_utils.py +70 -0
- simind_python_connector/utils/sirf_stir_utils.py +194 -0
- simind_python_connector/utils/stir_utils.py +485 -0
- simind_python_connector-1.0.0.dist-info/METADATA +274 -0
- simind_python_connector-1.0.0.dist-info/RECORD +47 -0
- simind_python_connector-1.0.0.dist-info/WHEEL +5 -0
- simind_python_connector-1.0.0.dist-info/licenses/LICENSE +195 -0
- simind_python_connector-1.0.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,412 @@
|
|
|
1
|
+
metadata:
|
|
2
|
+
comment: MLD001_SCAN0
|
|
3
|
+
source_file: /home/sam/working/STIR_users_MIC2023/input/MLD001_SCAN0.smc
|
|
4
|
+
parameters:
|
|
5
|
+
source:
|
|
6
|
+
photon_energy:
|
|
7
|
+
index: 1
|
|
8
|
+
value: 75.0
|
|
9
|
+
description: Photon energy in keV
|
|
10
|
+
source_half_length:
|
|
11
|
+
index: 2
|
|
12
|
+
value: 28.267
|
|
13
|
+
description: Source half-length in cm
|
|
14
|
+
source_half_width:
|
|
15
|
+
index: 3
|
|
16
|
+
value: 28.267
|
|
17
|
+
description: Source half-width in cm
|
|
18
|
+
source_half_height:
|
|
19
|
+
index: 4
|
|
20
|
+
value: 28.267
|
|
21
|
+
description: Source half-height in cm
|
|
22
|
+
source_type:
|
|
23
|
+
index: 15
|
|
24
|
+
value: -1.0
|
|
25
|
+
description: Source type code
|
|
26
|
+
shift_source_x:
|
|
27
|
+
index: 16
|
|
28
|
+
value: 0.0
|
|
29
|
+
description: Shift of source in x-direction (cm)
|
|
30
|
+
shift_source_y:
|
|
31
|
+
index: 17
|
|
32
|
+
value: 0.0
|
|
33
|
+
description: Shift of source in y-direction (cm)
|
|
34
|
+
shift_source_z:
|
|
35
|
+
index: 18
|
|
36
|
+
value: 0.0
|
|
37
|
+
description: Shift of source in z-direction (cm)
|
|
38
|
+
photon_direction:
|
|
39
|
+
index: 19
|
|
40
|
+
value: 2.0
|
|
41
|
+
description: Photon direction code
|
|
42
|
+
emitted_photons_per_decay:
|
|
43
|
+
index: 24
|
|
44
|
+
value: 0.879
|
|
45
|
+
description: Number of photons emitted per decay
|
|
46
|
+
source_activity:
|
|
47
|
+
index: 25
|
|
48
|
+
value: 21238.0
|
|
49
|
+
description: Source activity in MBq
|
|
50
|
+
number_photon_histories:
|
|
51
|
+
index: 26
|
|
52
|
+
value: 1.0
|
|
53
|
+
description: Number of photon histories to simulate
|
|
54
|
+
matrix_size_source_map_i:
|
|
55
|
+
index: 79
|
|
56
|
+
value: 128.0
|
|
57
|
+
description: Matrix size for source map (i-direction)
|
|
58
|
+
matrix_size_source_map_j:
|
|
59
|
+
index: 82
|
|
60
|
+
value: 0.0
|
|
61
|
+
description: Matrix size for source map (j-direction)
|
|
62
|
+
phantom:
|
|
63
|
+
phantom_half_length:
|
|
64
|
+
index: 5
|
|
65
|
+
value: 28.267
|
|
66
|
+
description: Phantom half-length in cm
|
|
67
|
+
phantom_half_width:
|
|
68
|
+
index: 6
|
|
69
|
+
value: 28.267
|
|
70
|
+
description: Phantom half-width in cm
|
|
71
|
+
phantom_half_height:
|
|
72
|
+
index: 7
|
|
73
|
+
value: 28.267
|
|
74
|
+
description: Phantom half-height in cm
|
|
75
|
+
phantom_type:
|
|
76
|
+
index: 14
|
|
77
|
+
value: -1.0
|
|
78
|
+
description: Phantom type code
|
|
79
|
+
pixel_size_density_images:
|
|
80
|
+
index: 31
|
|
81
|
+
value: 0.44167
|
|
82
|
+
description: Pixel size for density images (cm)
|
|
83
|
+
orientation_density_images:
|
|
84
|
+
index: 32
|
|
85
|
+
value: 0.0
|
|
86
|
+
description: Orientation of density images
|
|
87
|
+
first_image_density_images:
|
|
88
|
+
index: 33
|
|
89
|
+
value: 1.0
|
|
90
|
+
description: First image number for density images
|
|
91
|
+
number_density_images:
|
|
92
|
+
index: 34
|
|
93
|
+
value: 128.0
|
|
94
|
+
description: Number of density images
|
|
95
|
+
density_limit_border:
|
|
96
|
+
index: 35
|
|
97
|
+
value: 0.01
|
|
98
|
+
description: Density limit at border
|
|
99
|
+
shift_density_images_y:
|
|
100
|
+
index: 36
|
|
101
|
+
value: 0.0
|
|
102
|
+
description: Shift of density images in y-direction (cm)
|
|
103
|
+
shift_density_images_z:
|
|
104
|
+
index: 37
|
|
105
|
+
value: 0.0
|
|
106
|
+
description: Shift of density images in z-direction (cm)
|
|
107
|
+
shift_density_images_x:
|
|
108
|
+
index: 39
|
|
109
|
+
value: 0.0
|
|
110
|
+
description: Shift of density images in x-direction (cm)
|
|
111
|
+
density_threshold_soft_bone:
|
|
112
|
+
index: 40
|
|
113
|
+
value: 0.0
|
|
114
|
+
description: Density threshold for soft bone
|
|
115
|
+
code_definitions_zubal_phantom:
|
|
116
|
+
index: 45
|
|
117
|
+
value: 1.0
|
|
118
|
+
description: Code definitions for Zubal phantom
|
|
119
|
+
matrix_size_density_map_i:
|
|
120
|
+
index: 78
|
|
121
|
+
value: 128.0
|
|
122
|
+
description: Matrix size for density map (i-direction)
|
|
123
|
+
matrix_size_density_map_j:
|
|
124
|
+
index: 81
|
|
125
|
+
value: 0.0
|
|
126
|
+
description: Matrix size for density map (j-direction)
|
|
127
|
+
detector_crystal:
|
|
128
|
+
crystal_half_length_radius:
|
|
129
|
+
index: 8
|
|
130
|
+
value: 20.0
|
|
131
|
+
description: Crystal half-length/radius in cm
|
|
132
|
+
crystal_thickness:
|
|
133
|
+
index: 9
|
|
134
|
+
value: 0.9525
|
|
135
|
+
description: Crystal thickness in cm
|
|
136
|
+
crystal_half_width:
|
|
137
|
+
index: 10
|
|
138
|
+
value: 27.0
|
|
139
|
+
description: Crystal half-width in cm
|
|
140
|
+
height_to_detector_surface:
|
|
141
|
+
index: 12
|
|
142
|
+
value: 20.0
|
|
143
|
+
description: Height to detector surface (cm)
|
|
144
|
+
cover_thickness:
|
|
145
|
+
index: 13
|
|
146
|
+
value: 0.1
|
|
147
|
+
description: Cover thickness (cm)
|
|
148
|
+
energy_resolution:
|
|
149
|
+
index: 22
|
|
150
|
+
value: 9.1
|
|
151
|
+
description: Energy resolution (%)
|
|
152
|
+
intrinsic_resolution:
|
|
153
|
+
index: 23
|
|
154
|
+
value: 0.34
|
|
155
|
+
description: Intrinsic resolution (cm)
|
|
156
|
+
voltage:
|
|
157
|
+
index: 91
|
|
158
|
+
value: 0.0
|
|
159
|
+
description: Applied voltage (V)
|
|
160
|
+
mobility_life_electrons:
|
|
161
|
+
index: 92
|
|
162
|
+
value: 0.0
|
|
163
|
+
description: Mobility-life product for electrons
|
|
164
|
+
mobility_life_holes:
|
|
165
|
+
index: 93
|
|
166
|
+
value: 0.0
|
|
167
|
+
description: Mobility-life product for holes
|
|
168
|
+
contact_pad_size:
|
|
169
|
+
index: 94
|
|
170
|
+
value: 0.0
|
|
171
|
+
description: Contact pad size (cm)
|
|
172
|
+
anode_element_pitch:
|
|
173
|
+
index: 95
|
|
174
|
+
value: 0.0
|
|
175
|
+
description: Anode element pitch (cm)
|
|
176
|
+
exponential_decay_constant_tau:
|
|
177
|
+
index: 96
|
|
178
|
+
value: 0.0
|
|
179
|
+
description: Exponential decay constant tau
|
|
180
|
+
components_hecht_formula:
|
|
181
|
+
index: 97
|
|
182
|
+
value: 0.0
|
|
183
|
+
description: Components for Hecht formula
|
|
184
|
+
energy_resolution_model:
|
|
185
|
+
index: 98
|
|
186
|
+
value: 0.0
|
|
187
|
+
description: Energy resolution model code
|
|
188
|
+
cloud_mobility:
|
|
189
|
+
index: 99
|
|
190
|
+
value: 0.0
|
|
191
|
+
description: Cloud mobility parameter
|
|
192
|
+
detector_array_size_i:
|
|
193
|
+
index: 100
|
|
194
|
+
value: 0.0
|
|
195
|
+
description: Detector array size (i-direction)
|
|
196
|
+
detector_array_size_j:
|
|
197
|
+
index: 101
|
|
198
|
+
value: 0.0
|
|
199
|
+
description: Detector array size (j-direction)
|
|
200
|
+
collimator:
|
|
201
|
+
hole_size_x:
|
|
202
|
+
index: 46
|
|
203
|
+
value: 0.25
|
|
204
|
+
description: Collimator hole size in x-direction (cm)
|
|
205
|
+
hole_size_y:
|
|
206
|
+
index: 47
|
|
207
|
+
value: 0.28868
|
|
208
|
+
description: Collimator hole size in y-direction (cm)
|
|
209
|
+
distance_between_holes_x:
|
|
210
|
+
index: 48
|
|
211
|
+
value: 0.03
|
|
212
|
+
description: Distance between holes in x-direction (cm)
|
|
213
|
+
distance_between_holes_y:
|
|
214
|
+
index: 49
|
|
215
|
+
value: 0.1963
|
|
216
|
+
description: Distance between holes in y-direction (cm)
|
|
217
|
+
shift_center_hole_x:
|
|
218
|
+
index: 50
|
|
219
|
+
value: 0.14
|
|
220
|
+
description: Shift of center hole in x-direction (cm)
|
|
221
|
+
shift_center_hole_y:
|
|
222
|
+
index: 51
|
|
223
|
+
value: 0.24249
|
|
224
|
+
description: Shift of center hole in y-direction (cm)
|
|
225
|
+
collimator_thickness:
|
|
226
|
+
index: 52
|
|
227
|
+
value: 4.1
|
|
228
|
+
description: Collimator thickness (cm)
|
|
229
|
+
collimator_routine:
|
|
230
|
+
index: 53
|
|
231
|
+
value: 0.0
|
|
232
|
+
description: Collimator routine code
|
|
233
|
+
hole_shape:
|
|
234
|
+
index: 54
|
|
235
|
+
value: 3.0
|
|
236
|
+
description: Hole shape code
|
|
237
|
+
distance_collimator_detector:
|
|
238
|
+
index: 56
|
|
239
|
+
value: 0.0
|
|
240
|
+
description: Distance from collimator to detector (cm)
|
|
241
|
+
random_collimator_movement:
|
|
242
|
+
index: 59
|
|
243
|
+
value: 0.0
|
|
244
|
+
description: Random collimator movement parameter
|
|
245
|
+
energy_analysis:
|
|
246
|
+
upper_window_threshold:
|
|
247
|
+
index: 20
|
|
248
|
+
value: -100.0
|
|
249
|
+
description: Upper energy window threshold (keV)
|
|
250
|
+
lower_window_threshold:
|
|
251
|
+
index: 21
|
|
252
|
+
value: -100.0
|
|
253
|
+
description: Lower energy window threshold (keV)
|
|
254
|
+
kev_per_channel:
|
|
255
|
+
index: 27
|
|
256
|
+
value: 0.5
|
|
257
|
+
description: keV per channel
|
|
258
|
+
energy_spectra_channels:
|
|
259
|
+
index: 80
|
|
260
|
+
value: 512.0
|
|
261
|
+
description: Number of energy spectra channels
|
|
262
|
+
cutoff_energy_terminate_photon_history:
|
|
263
|
+
index: 83
|
|
264
|
+
value: 0.0
|
|
265
|
+
description: Cutoff energy to terminate photon history (keV)
|
|
266
|
+
spect_imaging:
|
|
267
|
+
pixel_size_simulated_image:
|
|
268
|
+
index: 28
|
|
269
|
+
value: 0.44167
|
|
270
|
+
description: Pixel size for simulated images (cm)
|
|
271
|
+
spect_no_projections:
|
|
272
|
+
index: 29
|
|
273
|
+
value: 120.0
|
|
274
|
+
description: Number of SPECT projections
|
|
275
|
+
spect_rotation:
|
|
276
|
+
index: 30
|
|
277
|
+
value: 2.0
|
|
278
|
+
description: SPECT rotation parameter
|
|
279
|
+
spect_starting_angle:
|
|
280
|
+
index: 41
|
|
281
|
+
value: 0.0
|
|
282
|
+
description: SPECT starting angle (degrees)
|
|
283
|
+
spect_orbital_rotation_fraction:
|
|
284
|
+
index: 42
|
|
285
|
+
value: -1.0
|
|
286
|
+
description: SPECT orbital rotation fraction
|
|
287
|
+
camera_offset_x:
|
|
288
|
+
index: 43
|
|
289
|
+
value: 0.0
|
|
290
|
+
description: Camera offset in x-direction (cm)
|
|
291
|
+
camera_offset_y:
|
|
292
|
+
index: 44
|
|
293
|
+
value: 0.0
|
|
294
|
+
description: Camera offset in y-direction (cm)
|
|
295
|
+
matrix_size_image_i:
|
|
296
|
+
index: 76
|
|
297
|
+
value: 128.0
|
|
298
|
+
description: Matrix size for images (i-direction)
|
|
299
|
+
matrix_size_image_j:
|
|
300
|
+
index: 77
|
|
301
|
+
value: 128.0
|
|
302
|
+
description: Matrix size for images (j-direction)
|
|
303
|
+
simulation_control:
|
|
304
|
+
step_size_photon_path_simulation:
|
|
305
|
+
index: 38
|
|
306
|
+
value: 0.44167
|
|
307
|
+
description: Step size for photon path simulation (cm)
|
|
308
|
+
type:
|
|
309
|
+
index: 55
|
|
310
|
+
value: 0.0
|
|
311
|
+
description: General type parameter
|
|
312
|
+
scoring_routine:
|
|
313
|
+
index: 84
|
|
314
|
+
value: 1.0
|
|
315
|
+
description: Scoring routine code
|
|
316
|
+
csv_file_content:
|
|
317
|
+
index: 85
|
|
318
|
+
value: 0.0
|
|
319
|
+
description: CSV file content parameter
|
|
320
|
+
unused_parameters:
|
|
321
|
+
unused_parameter_1:
|
|
322
|
+
index: 57
|
|
323
|
+
value: 0.0
|
|
324
|
+
description: Unused parameter 1
|
|
325
|
+
unused_parameter_2:
|
|
326
|
+
index: 58
|
|
327
|
+
value: 0.0
|
|
328
|
+
description: Unused parameter 2
|
|
329
|
+
unused_parameter_3:
|
|
330
|
+
index: 60
|
|
331
|
+
value: 0.0
|
|
332
|
+
description: Unused parameter 3
|
|
333
|
+
simulation_flags:
|
|
334
|
+
write_results_to_screen:
|
|
335
|
+
index: 1
|
|
336
|
+
enabled: true
|
|
337
|
+
write_images_to_files:
|
|
338
|
+
index: 2
|
|
339
|
+
enabled: false
|
|
340
|
+
write_pulse_height_distribution_to_file:
|
|
341
|
+
index: 3
|
|
342
|
+
enabled: true
|
|
343
|
+
include_collimator:
|
|
344
|
+
index: 4
|
|
345
|
+
enabled: true
|
|
346
|
+
simulate_spect_study:
|
|
347
|
+
index: 5
|
|
348
|
+
enabled: true
|
|
349
|
+
include_characteristic_xray_emissions:
|
|
350
|
+
index: 6
|
|
351
|
+
enabled: true
|
|
352
|
+
include_backscattering_material:
|
|
353
|
+
index: 7
|
|
354
|
+
enabled: true
|
|
355
|
+
use_random_seed_value:
|
|
356
|
+
index: 8
|
|
357
|
+
enabled: true
|
|
358
|
+
currently_not_in_use:
|
|
359
|
+
index: 9
|
|
360
|
+
enabled: false
|
|
361
|
+
include_interactions_in_cover:
|
|
362
|
+
index: 10
|
|
363
|
+
enabled: true
|
|
364
|
+
include_interactions_in_phantom:
|
|
365
|
+
index: 11
|
|
366
|
+
enabled: true
|
|
367
|
+
include_energy_resolution_in_crystal:
|
|
368
|
+
index: 12
|
|
369
|
+
enabled: true
|
|
370
|
+
include_forced_interactions_in_crystal:
|
|
371
|
+
index: 13
|
|
372
|
+
enabled: false
|
|
373
|
+
write_interfile_header_files:
|
|
374
|
+
index: 14
|
|
375
|
+
enabled: true
|
|
376
|
+
save_aligned_phantom_images:
|
|
377
|
+
index: 15
|
|
378
|
+
enabled: false
|
|
379
|
+
text_variables:
|
|
380
|
+
1: ge-megp
|
|
381
|
+
2: none
|
|
382
|
+
3: none
|
|
383
|
+
4: none
|
|
384
|
+
5: none
|
|
385
|
+
6: none
|
|
386
|
+
7: none
|
|
387
|
+
8: none
|
|
388
|
+
data_files:
|
|
389
|
+
phantom_soft_tissue:
|
|
390
|
+
index: 1
|
|
391
|
+
filepath: h2o
|
|
392
|
+
phantom_bone:
|
|
393
|
+
index: 2
|
|
394
|
+
filepath: bone
|
|
395
|
+
cover_material:
|
|
396
|
+
index: 3
|
|
397
|
+
filepath: al
|
|
398
|
+
crystal_material:
|
|
399
|
+
index: 4
|
|
400
|
+
filepath: nai
|
|
401
|
+
image_file_phantom:
|
|
402
|
+
index: 5
|
|
403
|
+
filepath: tmp_density
|
|
404
|
+
image_file_source:
|
|
405
|
+
index: 6
|
|
406
|
+
filepath: tmp_source
|
|
407
|
+
backscatter_material:
|
|
408
|
+
index: 7
|
|
409
|
+
filepath: pmt
|
|
410
|
+
energy_resolution_file:
|
|
411
|
+
index: 8
|
|
412
|
+
filepath: none
|