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.
- {petpal-0.5.5 → petpal-0.5.6}/PKG-INFO +13 -4
- {petpal-0.5.5 → petpal-0.5.6}/README.md +11 -1
- {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/cli_preproc.py +69 -74
- {petpal-0.5.5 → petpal-0.5.6}/pyproject.toml +3 -4
- {petpal-0.5.5 → petpal-0.5.6}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/.github/workflows/publish-to-pypi.yml +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/.github/workflows/python-package.yml +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/.gitignore +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/.readthedocs.yaml +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/LICENSE +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/1tcm/gaussian_noise/tac_1tcm_set-00.txt +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/1tcm/gaussian_noise/tac_1tcm_set-01.txt +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/1tcm/gaussian_noise/tac_1tcm_set-02.txt +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/1tcm/gaussian_noise/tacs.pdf +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/1tcm/gaussian_noise/tacs.png +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/1tcm/noise_free/tac_1tcm_set-00.txt +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/1tcm/noise_free/tac_1tcm_set-01.txt +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/1tcm/noise_free/tac_1tcm_set-02.txt +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/1tcm/noise_free/tacs.pdf +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/1tcm/noise_free/tacs.png +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/1tcm/params_1tcm_set-00.json +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/1tcm/params_1tcm_set-01.json +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/1tcm/params_1tcm_set-02.json +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/fdg_plasma_clamp_evenly_resampled.txt +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/fdg_plasma_clamp_evenly_resampled_woMax.txt +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/fdg_plasma_clamp_tacs.pdf +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/fdg_plasma_clamp_tacs.png +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/gen_tcms_data.ipynb +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/readme.md +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm/gaussian_noise/tac_2tcm_set-00.txt +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm/gaussian_noise/tac_2tcm_set-01.txt +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm/gaussian_noise/tac_2tcm_set-02.txt +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm/gaussian_noise/tacs.pdf +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm/gaussian_noise/tacs.png +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm/noise_free/tac_2tcm_set-00.txt +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm/noise_free/tac_2tcm_set-01.txt +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm/noise_free/tac_2tcm_set-02.txt +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm/noise_free/tacs.pdf +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm/noise_free/tacs.png +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm/params_serial_2tcm_set-00.json +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm/params_serial_2tcm_set-01.json +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm/params_serial_2tcm_set-02.json +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm_k4zero/gaussian_noise/tac_2tcm_k4zero_set-00.txt +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm_k4zero/gaussian_noise/tac_2tcm_k4zero_set-01.txt +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm_k4zero/gaussian_noise/tacs.pdf +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm_k4zero/gaussian_noise/tacs.png +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm_k4zero/noise_free/tac_2tcm_k4zero_set-00.txt +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm_k4zero/noise_free/tac_2tcm_k4zero_set-01.txt +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm_k4zero/noise_free/tacs.pdf +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm_k4zero/noise_free/tacs.png +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm_k4zero/params_serial_2tcm_k4zero_set-00.json +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm_k4zero/params_serial_2tcm_k4zero_set-01.json +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/turku_pet_center_fdg_plasma_clamp.txt +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/docs/Makefile +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/docs/PETPAL_Logo.png +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/docs/_templates/index.rst +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/docs/_templates/python/attribute.rst +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/docs/_templates/python/class.rst +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/docs/_templates/python/data.rst +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/docs/_templates/python/exception.rst +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/docs/_templates/python/function.rst +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/docs/_templates/python/method.rst +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/docs/_templates/python/module.rst +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/docs/_templates/python/package.rst +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/docs/_templates/python/property.rst +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/docs/conf.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/docs/index.rst +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/docs/make.bat +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/docs/requirements.txt +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/docs/tutorials/index.rst +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/docs/tutorials/pib_example.rst +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/__init__.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/__init__.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/cli_graphical_analysis.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/cli_graphical_plots.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/cli_idif.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/cli_parametric_images.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/cli_pib_processing.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/cli_plot_tacs.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/cli_pvc.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/cli_reference_tissue_models.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/cli_stats.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/cli_tac_fitting.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/cli_tac_interpolation.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/cli/cli_vat_processing.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/input_function/__init__.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/input_function/blood_input.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/input_function/idif_necktangle.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/input_function/pca_guided_idif.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/kinetic_modeling/__init__.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/kinetic_modeling/fit_tac_with_rtms.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/kinetic_modeling/graphical_analysis.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/kinetic_modeling/parametric_images.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/kinetic_modeling/reference_tissue_models.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/kinetic_modeling/rtm_analysis.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/kinetic_modeling/tac_fitting.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/kinetic_modeling/tac_interpolation.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/kinetic_modeling/tac_uncertainty.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/kinetic_modeling/tcms_as_convolutions.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/meta/__init__.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/meta/label_maps.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/pipelines/__init__.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/pipelines/kinetic_modeling_steps.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/pipelines/pca_guided_idif_steps.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/pipelines/pipelines.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/pipelines/preproc_steps.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/pipelines/steps_base.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/pipelines/steps_containers.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/preproc/__init__.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/preproc/decay_correction.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/preproc/image_operations_4d.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/preproc/motion_corr.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/preproc/partial_volume_corrections.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/preproc/regional_tac_extraction.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/preproc/register.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/preproc/segmentation_tools.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/preproc/symmetric_geometric_transfer_matrix.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/utils/__init__.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/utils/bids_utils.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/utils/constants.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/utils/data_driven_image_analyses.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/utils/decorators.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/utils/image_io.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/utils/math_lib.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/utils/metadata.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/utils/scan_timing.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/utils/stats.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/utils/testing_utils.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/utils/time_activity_curve.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/utils/useful_functions.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/visualizations/__init__.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/visualizations/graphical_plots.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/visualizations/image_visualization.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/visualizations/qc_plots.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/petpal/visualizations/tac_plots.py +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/shared/dseg.tsv +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/shared/freesurfer_lmap.json +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/shared/freesurfer_lmap_lr.json +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/shared/perl_cyno_lmap.json +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/shared/perl_cyno_lmap_lr.json +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/test_notebooks/explicit_tac_fitting/01_fitting_TCMs.ipynb +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/test_notebooks/testing_RTMs/01_testing_RTMs.ipynb +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/test_notebooks/testing_graphical_analyses/01_testing_on_tcms_database.ipynb +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/test_notebooks/testing_graphical_analyses/02_testing_parametric_images.ipynb +0 -0
- {petpal-0.5.5 → petpal-0.5.6}/test_notebooks/testing_graphical_analyses/03_plotting_graphical_anlayses_testbed.ipynb +0 -0
- {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.
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
349
|
-
|
|
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 =
|
|
354
|
+
motion_target = None
|
|
352
355
|
|
|
353
356
|
command = str(args.command).replace('-','_')
|
|
354
357
|
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
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
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
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
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
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.
|
|
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
|
|
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
|
{petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm_k4zero/noise_free/tac_2tcm_k4zero_set-00.txt
RENAMED
|
File without changes
|
{petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm_k4zero/noise_free/tac_2tcm_k4zero_set-01.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm_k4zero/params_serial_2tcm_k4zero_set-00.json
RENAMED
|
File without changes
|
{petpal-0.5.5 → petpal-0.5.6}/data/tcm_tacs/serial_2tcm_k4zero/params_serial_2tcm_k4zero_set-01.json
RENAMED
|
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
|
|
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
|
|
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
|
|
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
|