petpal 0.5.5__tar.gz → 0.5.6__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 (147) hide show
  1. {petpal-0.5.5 → petpal-0.5.6}/PKG-INFO +13 -4
  2. {petpal-0.5.5 → petpal-0.5.6}/README.md +11 -1
  3. {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/cli_preproc.py +69 -74
  4. {petpal-0.5.5 → petpal-0.5.6}/pyproject.toml +3 -4
  5. {petpal-0.5.5 → petpal-0.5.6}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  6. {petpal-0.5.5 → petpal-0.5.6}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  7. {petpal-0.5.5 → petpal-0.5.6}/.github/workflows/publish-to-pypi.yml +0 -0
  8. {petpal-0.5.5 → petpal-0.5.6}/.github/workflows/python-package.yml +0 -0
  9. {petpal-0.5.5 → petpal-0.5.6}/.gitignore +0 -0
  10. {petpal-0.5.5 → petpal-0.5.6}/.readthedocs.yaml +0 -0
  11. {petpal-0.5.5 → petpal-0.5.6}/LICENSE +0 -0
  12. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/1tcm/gaussian_noise/tac_1tcm_set-00.txt +0 -0
  13. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/1tcm/gaussian_noise/tac_1tcm_set-01.txt +0 -0
  14. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/1tcm/gaussian_noise/tac_1tcm_set-02.txt +0 -0
  15. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/1tcm/gaussian_noise/tacs.pdf +0 -0
  16. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/1tcm/gaussian_noise/tacs.png +0 -0
  17. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/1tcm/noise_free/tac_1tcm_set-00.txt +0 -0
  18. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/1tcm/noise_free/tac_1tcm_set-01.txt +0 -0
  19. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/1tcm/noise_free/tac_1tcm_set-02.txt +0 -0
  20. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/1tcm/noise_free/tacs.pdf +0 -0
  21. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/1tcm/noise_free/tacs.png +0 -0
  22. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/1tcm/params_1tcm_set-00.json +0 -0
  23. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/1tcm/params_1tcm_set-01.json +0 -0
  24. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/1tcm/params_1tcm_set-02.json +0 -0
  25. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/fdg_plasma_clamp_evenly_resampled.txt +0 -0
  26. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/fdg_plasma_clamp_evenly_resampled_woMax.txt +0 -0
  27. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/fdg_plasma_clamp_tacs.pdf +0 -0
  28. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/fdg_plasma_clamp_tacs.png +0 -0
  29. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/gen_tcms_data.ipynb +0 -0
  30. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/readme.md +0 -0
  31. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm/gaussian_noise/tac_2tcm_set-00.txt +0 -0
  32. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm/gaussian_noise/tac_2tcm_set-01.txt +0 -0
  33. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm/gaussian_noise/tac_2tcm_set-02.txt +0 -0
  34. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm/gaussian_noise/tacs.pdf +0 -0
  35. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm/gaussian_noise/tacs.png +0 -0
  36. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm/noise_free/tac_2tcm_set-00.txt +0 -0
  37. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm/noise_free/tac_2tcm_set-01.txt +0 -0
  38. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm/noise_free/tac_2tcm_set-02.txt +0 -0
  39. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm/noise_free/tacs.pdf +0 -0
  40. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm/noise_free/tacs.png +0 -0
  41. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm/params_serial_2tcm_set-00.json +0 -0
  42. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm/params_serial_2tcm_set-01.json +0 -0
  43. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm/params_serial_2tcm_set-02.json +0 -0
  44. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm_k4zero/gaussian_noise/tac_2tcm_k4zero_set-00.txt +0 -0
  45. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm_k4zero/gaussian_noise/tac_2tcm_k4zero_set-01.txt +0 -0
  46. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm_k4zero/gaussian_noise/tacs.pdf +0 -0
  47. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm_k4zero/gaussian_noise/tacs.png +0 -0
  48. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm_k4zero/noise_free/tac_2tcm_k4zero_set-00.txt +0 -0
  49. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm_k4zero/noise_free/tac_2tcm_k4zero_set-01.txt +0 -0
  50. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm_k4zero/noise_free/tacs.pdf +0 -0
  51. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm_k4zero/noise_free/tacs.png +0 -0
  52. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm_k4zero/params_serial_2tcm_k4zero_set-00.json +0 -0
  53. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm_k4zero/params_serial_2tcm_k4zero_set-01.json +0 -0
  54. {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/turku_pet_center_fdg_plasma_clamp.txt +0 -0
  55. {petpal-0.5.5 → petpal-0.5.6}/docs/Makefile +0 -0
  56. {petpal-0.5.5 → petpal-0.5.6}/docs/PETPAL_Logo.png +0 -0
  57. {petpal-0.5.5 → petpal-0.5.6}/docs/_templates/index.rst +0 -0
  58. {petpal-0.5.5 → petpal-0.5.6}/docs/_templates/python/attribute.rst +0 -0
  59. {petpal-0.5.5 → petpal-0.5.6}/docs/_templates/python/class.rst +0 -0
  60. {petpal-0.5.5 → petpal-0.5.6}/docs/_templates/python/data.rst +0 -0
  61. {petpal-0.5.5 → petpal-0.5.6}/docs/_templates/python/exception.rst +0 -0
  62. {petpal-0.5.5 → petpal-0.5.6}/docs/_templates/python/function.rst +0 -0
  63. {petpal-0.5.5 → petpal-0.5.6}/docs/_templates/python/method.rst +0 -0
  64. {petpal-0.5.5 → petpal-0.5.6}/docs/_templates/python/module.rst +0 -0
  65. {petpal-0.5.5 → petpal-0.5.6}/docs/_templates/python/package.rst +0 -0
  66. {petpal-0.5.5 → petpal-0.5.6}/docs/_templates/python/property.rst +0 -0
  67. {petpal-0.5.5 → petpal-0.5.6}/docs/conf.py +0 -0
  68. {petpal-0.5.5 → petpal-0.5.6}/docs/index.rst +0 -0
  69. {petpal-0.5.5 → petpal-0.5.6}/docs/make.bat +0 -0
  70. {petpal-0.5.5 → petpal-0.5.6}/docs/requirements.txt +0 -0
  71. {petpal-0.5.5 → petpal-0.5.6}/docs/tutorials/index.rst +0 -0
  72. {petpal-0.5.5 → petpal-0.5.6}/docs/tutorials/pib_example.rst +0 -0
  73. {petpal-0.5.5 → petpal-0.5.6}/petpal/__init__.py +0 -0
  74. {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/__init__.py +0 -0
  75. {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/cli_graphical_analysis.py +0 -0
  76. {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/cli_graphical_plots.py +0 -0
  77. {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/cli_idif.py +0 -0
  78. {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/cli_parametric_images.py +0 -0
  79. {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/cli_pib_processing.py +0 -0
  80. {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/cli_plot_tacs.py +0 -0
  81. {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/cli_pvc.py +0 -0
  82. {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/cli_reference_tissue_models.py +0 -0
  83. {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/cli_stats.py +0 -0
  84. {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/cli_tac_fitting.py +0 -0
  85. {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/cli_tac_interpolation.py +0 -0
  86. {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/cli_vat_processing.py +0 -0
  87. {petpal-0.5.5 → petpal-0.5.6}/petpal/input_function/__init__.py +0 -0
  88. {petpal-0.5.5 → petpal-0.5.6}/petpal/input_function/blood_input.py +0 -0
  89. {petpal-0.5.5 → petpal-0.5.6}/petpal/input_function/idif_necktangle.py +0 -0
  90. {petpal-0.5.5 → petpal-0.5.6}/petpal/input_function/pca_guided_idif.py +0 -0
  91. {petpal-0.5.5 → petpal-0.5.6}/petpal/kinetic_modeling/__init__.py +0 -0
  92. {petpal-0.5.5 → petpal-0.5.6}/petpal/kinetic_modeling/fit_tac_with_rtms.py +0 -0
  93. {petpal-0.5.5 → petpal-0.5.6}/petpal/kinetic_modeling/graphical_analysis.py +0 -0
  94. {petpal-0.5.5 → petpal-0.5.6}/petpal/kinetic_modeling/parametric_images.py +0 -0
  95. {petpal-0.5.5 → petpal-0.5.6}/petpal/kinetic_modeling/reference_tissue_models.py +0 -0
  96. {petpal-0.5.5 → petpal-0.5.6}/petpal/kinetic_modeling/rtm_analysis.py +0 -0
  97. {petpal-0.5.5 → petpal-0.5.6}/petpal/kinetic_modeling/tac_fitting.py +0 -0
  98. {petpal-0.5.5 → petpal-0.5.6}/petpal/kinetic_modeling/tac_interpolation.py +0 -0
  99. {petpal-0.5.5 → petpal-0.5.6}/petpal/kinetic_modeling/tac_uncertainty.py +0 -0
  100. {petpal-0.5.5 → petpal-0.5.6}/petpal/kinetic_modeling/tcms_as_convolutions.py +0 -0
  101. {petpal-0.5.5 → petpal-0.5.6}/petpal/meta/__init__.py +0 -0
  102. {petpal-0.5.5 → petpal-0.5.6}/petpal/meta/label_maps.py +0 -0
  103. {petpal-0.5.5 → petpal-0.5.6}/petpal/pipelines/__init__.py +0 -0
  104. {petpal-0.5.5 → petpal-0.5.6}/petpal/pipelines/kinetic_modeling_steps.py +0 -0
  105. {petpal-0.5.5 → petpal-0.5.6}/petpal/pipelines/pca_guided_idif_steps.py +0 -0
  106. {petpal-0.5.5 → petpal-0.5.6}/petpal/pipelines/pipelines.py +0 -0
  107. {petpal-0.5.5 → petpal-0.5.6}/petpal/pipelines/preproc_steps.py +0 -0
  108. {petpal-0.5.5 → petpal-0.5.6}/petpal/pipelines/steps_base.py +0 -0
  109. {petpal-0.5.5 → petpal-0.5.6}/petpal/pipelines/steps_containers.py +0 -0
  110. {petpal-0.5.5 → petpal-0.5.6}/petpal/preproc/__init__.py +0 -0
  111. {petpal-0.5.5 → petpal-0.5.6}/petpal/preproc/decay_correction.py +0 -0
  112. {petpal-0.5.5 → petpal-0.5.6}/petpal/preproc/image_operations_4d.py +0 -0
  113. {petpal-0.5.5 → petpal-0.5.6}/petpal/preproc/motion_corr.py +0 -0
  114. {petpal-0.5.5 → petpal-0.5.6}/petpal/preproc/partial_volume_corrections.py +0 -0
  115. {petpal-0.5.5 → petpal-0.5.6}/petpal/preproc/regional_tac_extraction.py +0 -0
  116. {petpal-0.5.5 → petpal-0.5.6}/petpal/preproc/register.py +0 -0
  117. {petpal-0.5.5 → petpal-0.5.6}/petpal/preproc/segmentation_tools.py +0 -0
  118. {petpal-0.5.5 → petpal-0.5.6}/petpal/preproc/symmetric_geometric_transfer_matrix.py +0 -0
  119. {petpal-0.5.5 → petpal-0.5.6}/petpal/utils/__init__.py +0 -0
  120. {petpal-0.5.5 → petpal-0.5.6}/petpal/utils/bids_utils.py +0 -0
  121. {petpal-0.5.5 → petpal-0.5.6}/petpal/utils/constants.py +0 -0
  122. {petpal-0.5.5 → petpal-0.5.6}/petpal/utils/data_driven_image_analyses.py +0 -0
  123. {petpal-0.5.5 → petpal-0.5.6}/petpal/utils/decorators.py +0 -0
  124. {petpal-0.5.5 → petpal-0.5.6}/petpal/utils/image_io.py +0 -0
  125. {petpal-0.5.5 → petpal-0.5.6}/petpal/utils/math_lib.py +0 -0
  126. {petpal-0.5.5 → petpal-0.5.6}/petpal/utils/metadata.py +0 -0
  127. {petpal-0.5.5 → petpal-0.5.6}/petpal/utils/scan_timing.py +0 -0
  128. {petpal-0.5.5 → petpal-0.5.6}/petpal/utils/stats.py +0 -0
  129. {petpal-0.5.5 → petpal-0.5.6}/petpal/utils/testing_utils.py +0 -0
  130. {petpal-0.5.5 → petpal-0.5.6}/petpal/utils/time_activity_curve.py +0 -0
  131. {petpal-0.5.5 → petpal-0.5.6}/petpal/utils/useful_functions.py +0 -0
  132. {petpal-0.5.5 → petpal-0.5.6}/petpal/visualizations/__init__.py +0 -0
  133. {petpal-0.5.5 → petpal-0.5.6}/petpal/visualizations/graphical_plots.py +0 -0
  134. {petpal-0.5.5 → petpal-0.5.6}/petpal/visualizations/image_visualization.py +0 -0
  135. {petpal-0.5.5 → petpal-0.5.6}/petpal/visualizations/qc_plots.py +0 -0
  136. {petpal-0.5.5 → petpal-0.5.6}/petpal/visualizations/tac_plots.py +0 -0
  137. {petpal-0.5.5 → petpal-0.5.6}/shared/dseg.tsv +0 -0
  138. {petpal-0.5.5 → petpal-0.5.6}/shared/freesurfer_lmap.json +0 -0
  139. {petpal-0.5.5 → petpal-0.5.6}/shared/freesurfer_lmap_lr.json +0 -0
  140. {petpal-0.5.5 → petpal-0.5.6}/shared/perl_cyno_lmap.json +0 -0
  141. {petpal-0.5.5 → petpal-0.5.6}/shared/perl_cyno_lmap_lr.json +0 -0
  142. {petpal-0.5.5 → petpal-0.5.6}/test_notebooks/explicit_tac_fitting/01_fitting_TCMs.ipynb +0 -0
  143. {petpal-0.5.5 → petpal-0.5.6}/test_notebooks/testing_RTMs/01_testing_RTMs.ipynb +0 -0
  144. {petpal-0.5.5 → petpal-0.5.6}/test_notebooks/testing_graphical_analyses/01_testing_on_tcms_database.ipynb +0 -0
  145. {petpal-0.5.5 → petpal-0.5.6}/test_notebooks/testing_graphical_analyses/02_testing_parametric_images.ipynb +0 -0
  146. {petpal-0.5.5 → petpal-0.5.6}/test_notebooks/testing_graphical_analyses/03_plotting_graphical_anlayses_testbed.ipynb +0 -0
  147. {petpal-0.5.5 → petpal-0.5.6}/tests/test_importpetpal.py +0 -0
@@ -1,10 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: petpal
3
- Version: 0.5.5
3
+ Version: 0.5.6
4
4
  Summary: PET-PAL (Positron Emission Tomography Processing and Analysis Library)
5
5
  Project-URL: Repository, https://github.com/PETPAL-WUSM/PETPAL.git
6
- Author: Bradley Judge
7
- Author-email: Furqan Dar <dar@wustl.edu>, Noah Goldman <noahg@wustl.edu>, Kenan Oestreich <kenan.oestreich@wustl.edu>
6
+ Author-email: Noah Goldman <noahg@wustl.edu>, Bradley Judge <bjudge@wustl.edu>, Furqan Dar <dar@wustl.edu>, Kenan Oestreich <kenan.oestreich@wustl.edu>
8
7
  License-File: LICENSE
9
8
  Classifier: Development Status :: 2 - Pre-Alpha
10
9
  Classifier: Intended Audience :: Science/Research
@@ -45,7 +44,17 @@ Description-Content-Type: text/markdown
45
44
 
46
45
  ## Installation
47
46
 
48
- Currently, we only support building the package directly from source. Clone the repository using your preferred method. After navigating to the top-level directory (where `pyproject.toml` exists), we run the following command in the terminal:
47
+ ### Using Pip
48
+
49
+ The simplest way to install PETPAL is using pip. First, ensure you are using Python version >=3.12. Then, run the following:
50
+
51
+ ```shell
52
+ pip install petpal
53
+ ```
54
+
55
+ ### Build from source
56
+
57
+ Clone the repository using your preferred method. After navigating to the top-level directory (where `pyproject.toml` exists), we run the following command in the terminal:
49
58
 
50
59
  ```shell
51
60
  pip install . # Installs the package
@@ -9,7 +9,17 @@
9
9
 
10
10
  ## Installation
11
11
 
12
- Currently, we only support building the package directly from source. Clone the repository using your preferred method. After navigating to the top-level directory (where `pyproject.toml` exists), we run the following command in the terminal:
12
+ ### Using Pip
13
+
14
+ The simplest way to install PETPAL is using pip. First, ensure you are using Python version >=3.12. Then, run the following:
15
+
16
+ ```shell
17
+ pip install petpal
18
+ ```
19
+
20
+ ### Build from source
21
+
22
+ Clone the repository using your preferred method. After navigating to the top-level directory (where `pyproject.toml` exists), we run the following command in the terminal:
13
23
 
14
24
  ```shell
15
25
  pip install . # Installs the package
@@ -345,89 +345,84 @@ def main():
345
345
  preproc_parser.print_help()
346
346
  raise SystemExit('Exiting without command')
347
347
 
348
- if len(args.motion_target)==1:
349
- motion_target = args.motion_target[0]
348
+ if 'motion_target' in dir(args):
349
+ if len(args.motion_target)==1:
350
+ motion_target = args.motion_target[0]
351
+ else:
352
+ motion_target = args.motion_target
350
353
  else:
351
- motion_target = args.motion_target
354
+ motion_target = None
352
355
 
353
356
  command = str(args.command).replace('-','_')
354
357
 
355
- if command=='weighted_series_sum':
356
- useful_functions.weighted_series_sum(input_image_4d_path=args.input_img,
357
- out_image_path=args.out_img,
358
- half_life=args.half_life,
359
- start_time=args.start_time,
360
- end_time=args.end_time,
361
- verbose=True)
362
-
363
- if command=='auto_crop':
364
- image_operations_4d.SimpleAutoImageCropper(input_image_path=args.input_img,
365
- out_image_path=args.out_img,
366
- thresh_val=args.thresh_val,
367
- verbose=True)
368
-
369
- if command=='motion_correction':
370
- motion_corr.motion_corr(input_image_4d_path=args.input_img,
358
+ match command:
359
+ case 'weighted_series_sum':
360
+ useful_functions.weighted_series_sum(input_image_4d_path=args.input_img,
361
+ out_image_path=args.out_img,
362
+ half_life=args.half_life,
363
+ start_time=args.start_time,
364
+ end_time=args.end_time,
365
+ verbose=True)
366
+ case 'auto_crop':
367
+ image_operations_4d.SimpleAutoImageCropper(input_image_path=args.input_img,
368
+ out_image_path=args.out_img,
369
+ thresh_val=args.thresh_val,
370
+ verbose=True)
371
+ case 'motion_correction':
372
+ motion_corr.motion_corr(input_image_4d_path=args.input_img,
373
+ out_image_path=args.out_img,
374
+ motion_target_option=motion_target,
375
+ verbose=True,
376
+ type_of_transform=args.transform_type,
377
+ half_life=args.half_life)
378
+ case 'register_pet':
379
+ register.register_pet(input_reg_image_path=args.input_img,
371
380
  out_image_path=args.out_img,
381
+ reference_image_path=args.anatomical,
372
382
  motion_target_option=motion_target,
373
383
  verbose=True,
374
- type_of_transform=args.transform_type,
375
384
  half_life=args.half_life)
376
- if command=='register_pet':
377
- register.register_pet(input_reg_image_path=args.input_img,
378
- out_image_path=args.out_img,
379
- reference_image_path=args.anatomical,
380
- motion_target_option=motion_target,
381
- verbose=True,
382
- half_life=args.half_life)
383
-
384
- if command=='write_tacs_old':
385
- regional_tac_extraction.write_tacs(input_image_path=args.input_img,
386
- out_tac_dir=args.out_tac_dir,
387
- segmentation_image_path=args.segmentation,
388
- label_map_path=args.label_map_path,
389
- verbose=True)
390
-
391
- if command=='write_tacs':
392
- tac_obj = regional_tac_extraction.WriteRegionalTacs(input_image_path=args.input_img,
393
- segmentation_path=args.segmentation,
394
- label_map=args.label_map)
395
- tac_obj(out_tac_prefix=args.patid,
396
- out_tac_dir=args.out_tac_dir,
397
- one_tsv_per_region=not args.excel)
398
-
399
- if command=='warp_pet_atlas':
400
- register.warp_pet_atlas(input_image_path=args.input_img,
401
- anat_image_path=args.anatomical,
402
- atlas_image_path=args.reference_atlas,
403
- out_image_path=args.out_img,
404
- verbose=True)
405
-
406
- if command=='gauss_blur':
407
- image_operations_4d.gauss_blur(input_image_path=args.input_img,
408
- blur_size_mm=args.blur_size_mm,
385
+ case 'write_tacs_old':
386
+ regional_tac_extraction.write_tacs(input_image_path=args.input_img,
387
+ out_tac_dir=args.out_tac_dir,
388
+ segmentation_image_path=args.segmentation,
389
+ label_map_path=args.label_map_path,
390
+ verbose=True)
391
+ case 'write_tacs':
392
+ tac_obj = regional_tac_extraction.WriteRegionalTacs(input_image_path=args.input_img,
393
+ segmentation_path=args.segmentation,
394
+ label_map=args.label_map)
395
+ tac_obj(out_tac_prefix=args.patid,
396
+ out_tac_dir=args.out_tac_dir,
397
+ one_tsv_per_region=not args.excel)
398
+ case 'warp_pet_atlas':
399
+ register.warp_pet_to_atlas(input_image_path=args.input_img,
400
+ anat_image_path=args.anatomical,
401
+ atlas_image_path=args.reference_atlas,
409
402
  out_image_path=args.out_img,
410
- verbose=True,
411
- use_fwhm=True)
412
-
413
- if command=='suvr':
414
- image_operations_4d.suvr(input_image_path=args.input_img,
415
- out_image_path=args.out_img,
416
- segmentation_image_path=args.segmentation,
417
- ref_region=args.ref_region)
418
-
419
- if command=='windowed_motion_corr':
420
- motion_corr.windowed_motion_corr_to_target(input_image_path=args.input_img,
421
- out_image_path=args.out_img,
422
- motion_target_option=motion_target,
423
- w_size=args.window_size,
424
- type_of_transform=args.transform_type)
425
-
426
- if command=='rescale_image':
427
- input_img = ants.image_read(filename=args.input_img)
428
- out_img = image_operations_4d.rescale_image(input_image=input_img,
429
- rescale_constant=args.scale_factor)
430
- ants.image_write(image=out_img, filename=args.out_img)
403
+ verbose=True)
404
+ case 'gauss_blur':
405
+ image_operations_4d.gauss_blur(input_image_path=args.input_img,
406
+ blur_size_mm=args.blur_size_mm,
407
+ out_image_path=args.out_img,
408
+ verbose=True,
409
+ use_fwhm=True)
410
+ case 'suvr':
411
+ image_operations_4d.suvr(input_image_path=args.input_img,
412
+ out_image_path=args.out_img,
413
+ segmentation_image_path=args.segmentation,
414
+ ref_region=args.ref_region)
415
+ case 'windowed_motion_corr':
416
+ motion_corr.windowed_motion_corr_to_target(input_image_path=args.input_img,
417
+ out_image_path=args.out_img,
418
+ motion_target_option=motion_target,
419
+ w_size=args.window_size,
420
+ type_of_transform=args.transform_type)
421
+ case 'rescale_image':
422
+ input_img = ants.image_read(filename=args.input_img)
423
+ out_img = image_operations_4d.rescale_image(input_image=input_img,
424
+ rescale_constant=args.scale_factor)
425
+ ants.image_write(image=out_img, filename=args.out_img)
431
426
 
432
427
  if __name__ == "__main__":
433
428
  main()
@@ -4,12 +4,12 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "petpal"
7
- version = "0.5.5"
7
+ version = "0.5.6"
8
8
  description = "PET-PAL (Positron Emission Tomography Processing and Analysis Library)"
9
9
  authors = [
10
- {name = "Furqan Dar", email = "dar@wustl.edu"},
11
- {name = "Bradley Judge"},
12
10
  {name = "Noah Goldman", email = "noahg@wustl.edu"},
11
+ {name = "Bradley Judge", email = "bjudge@wustl.edu"},
12
+ {name = "Furqan Dar", email = "dar@wustl.edu"},
13
13
  {name = "Kenan Oestreich", email = "kenan.oestreich@wustl.edu"}
14
14
  ]
15
15
  requires-python = ">= 3.12" # At least Python 3.12
@@ -47,7 +47,6 @@ classifiers = [ # These are added to PyPI package when published; Used for sear
47
47
 
48
48
  [project.scripts]
49
49
  petpal-preproc = "petpal.cli.cli_preproc:main"
50
- petpal-bids = "petpal.cli.cli_bids:main"
51
50
  petpal-tac-interpolate = "petpal.cli.cli_tac_interpolation:main"
52
51
  petpal-graph-plot = "petpal.cli.cli_graphical_plots:main"
53
52
  petpal-graph-analysis = "petpal.cli.cli_graphical_analysis:main"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes