dcccpy 0.3.0a2__tar.gz → 0.3.0a3__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.
- {dcccpy-0.3.0a2/src/dcccpy.egg-info → dcccpy-0.3.0a3}/PKG-INFO +21 -15
- {dcccpy-0.3.0a2 → dcccpy-0.3.0a3}/README.md +12 -6
- {dcccpy-0.3.0a2 → dcccpy-0.3.0a3}/pyproject.toml +9 -9
- {dcccpy-0.3.0a2 → dcccpy-0.3.0a3}/src/dcccpy/core.py +4 -0
- {dcccpy-0.3.0a2 → dcccpy-0.3.0a3}/src/dcccpy/runtime.py +1 -1
- {dcccpy-0.3.0a2 → dcccpy-0.3.0a3/src/dcccpy.egg-info}/PKG-INFO +21 -15
- {dcccpy-0.3.0a2 → dcccpy-0.3.0a3}/src/dcccpy.egg-info/requires.txt +8 -8
- {dcccpy-0.3.0a2 → dcccpy-0.3.0a3}/tests/test_core.py +38 -6
- {dcccpy-0.3.0a2 → dcccpy-0.3.0a3}/MANIFEST.in +0 -0
- {dcccpy-0.3.0a2 → dcccpy-0.3.0a3}/setup.cfg +0 -0
- {dcccpy-0.3.0a2 → dcccpy-0.3.0a3}/setup.py +0 -0
- {dcccpy-0.3.0a2 → dcccpy-0.3.0a3}/src/dcccpy/__init__.py +0 -0
- {dcccpy-0.3.0a2 → dcccpy-0.3.0a3}/src/dcccpy/cli.py +0 -0
- {dcccpy-0.3.0a2 → dcccpy-0.3.0a3}/src/dcccpy/py.typed +0 -0
- {dcccpy-0.3.0a2 → dcccpy-0.3.0a3}/src/dcccpy.egg-info/SOURCES.txt +0 -0
- {dcccpy-0.3.0a2 → dcccpy-0.3.0a3}/src/dcccpy.egg-info/dependency_links.txt +0 -0
- {dcccpy-0.3.0a2 → dcccpy-0.3.0a3}/src/dcccpy.egg-info/entry_points.txt +0 -0
- {dcccpy-0.3.0a2 → dcccpy-0.3.0a3}/src/dcccpy.egg-info/top_level.txt +0 -0
- {dcccpy-0.3.0a2 → dcccpy-0.3.0a3}/tests/test_testpypi_centiloid.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dcccpy
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.0a3
|
|
4
4
|
Summary: Python wrapper for the DCCCcore PET biomarker command-line tool
|
|
5
5
|
Author: DCCCSlicer contributors
|
|
6
6
|
License-Expression: CC-BY-NC-ND-4.0
|
|
@@ -17,17 +17,17 @@ Requires-Python: >=3.9
|
|
|
17
17
|
Description-Content-Type: text/markdown
|
|
18
18
|
Requires-Dist: nibabel>=5
|
|
19
19
|
Provides-Extra: linux-runtime
|
|
20
|
-
Requires-Dist: dcccpy-linux-runtime==0.2.
|
|
21
|
-
Requires-Dist: dcccpy-linux-arm64-runtime==0.2.
|
|
20
|
+
Requires-Dist: dcccpy-linux-runtime==0.2.0a2; (sys_platform == "linux" and platform_machine == "x86_64") and extra == "linux-runtime"
|
|
21
|
+
Requires-Dist: dcccpy-linux-arm64-runtime==0.2.0a2; (sys_platform == "linux" and platform_machine == "aarch64") and extra == "linux-runtime"
|
|
22
22
|
Provides-Extra: windows-runtime
|
|
23
|
-
Requires-Dist: dcccpy-windows-runtime==0.2.
|
|
23
|
+
Requires-Dist: dcccpy-windows-runtime==0.2.0a2; (sys_platform == "win32" and platform_machine == "AMD64") and extra == "windows-runtime"
|
|
24
24
|
Provides-Extra: macos-runtime
|
|
25
|
-
Requires-Dist: dcccpy-macos-runtime==0.2.
|
|
25
|
+
Requires-Dist: dcccpy-macos-runtime==0.2.0a2; (sys_platform == "darwin" and platform_machine == "arm64") and extra == "macos-runtime"
|
|
26
26
|
Provides-Extra: runtime
|
|
27
|
-
Requires-Dist: dcccpy-linux-runtime==0.2.
|
|
28
|
-
Requires-Dist: dcccpy-linux-arm64-runtime==0.2.
|
|
29
|
-
Requires-Dist: dcccpy-windows-runtime==0.2.
|
|
30
|
-
Requires-Dist: dcccpy-macos-runtime==0.2.
|
|
27
|
+
Requires-Dist: dcccpy-linux-runtime==0.2.0a2; (sys_platform == "linux" and platform_machine == "x86_64") and extra == "runtime"
|
|
28
|
+
Requires-Dist: dcccpy-linux-arm64-runtime==0.2.0a2; (sys_platform == "linux" and platform_machine == "aarch64") and extra == "runtime"
|
|
29
|
+
Requires-Dist: dcccpy-windows-runtime==0.2.0a2; (sys_platform == "win32" and platform_machine == "AMD64") and extra == "runtime"
|
|
30
|
+
Requires-Dist: dcccpy-macos-runtime==0.2.0a2; (sys_platform == "darwin" and platform_machine == "arm64") and extra == "runtime"
|
|
31
31
|
|
|
32
32
|
# dcccpy
|
|
33
33
|
|
|
@@ -147,6 +147,7 @@ dcccpy.adni_pet_core(
|
|
|
147
147
|
"standardized.nii.gz",
|
|
148
148
|
tracer="fdg",
|
|
149
149
|
level=(1, 3),
|
|
150
|
+
deface=True,
|
|
150
151
|
)
|
|
151
152
|
```
|
|
152
153
|
|
|
@@ -155,9 +156,14 @@ Level 3 is the standardized ADNI-style image. The output argument names the
|
|
|
155
156
|
highest selected level, while selected lower levels receive `_Coreg` or
|
|
156
157
|
`_Coreg_Avg` suffixes.
|
|
157
158
|
|
|
158
|
-
`
|
|
159
|
-
|
|
160
|
-
|
|
159
|
+
Set `deface=True` to zero facial voxels in every selected output. Motion and
|
|
160
|
+
spatial transforms are estimated from the original PET before the privacy mask
|
|
161
|
+
is applied, so the flag does not change the estimated alignment.
|
|
162
|
+
|
|
163
|
+
`adni_pet_core` deliberately has no default tracer. Use `abeta`, `tau`, `fdg`,
|
|
164
|
+
or `dat`; FDG selects ADNI's iterative masked global-mean normalization,
|
|
165
|
+
DAT selects PPMI-style occipital-reference normalization, and Aβ/tau retain
|
|
166
|
+
cerebellar gray normalization.
|
|
161
167
|
|
|
162
168
|
Downloaded ADNI preprocessed FDG DICOMs can differ slightly from the exact
|
|
163
169
|
published iteration. See the repository's
|
|
@@ -206,7 +212,7 @@ the calculation again.
|
|
|
206
212
|
Release wheels should vendor the matching `DCCCcore` runtime tree before build:
|
|
207
213
|
|
|
208
214
|
```bash
|
|
209
|
-
python scripts/vendor_dccccore.py --version 4.5.
|
|
215
|
+
python scripts/vendor_dccccore.py --version 4.5.1-alpha --release-platform ubuntu-latest-x64
|
|
210
216
|
python -m build --wheel
|
|
211
217
|
```
|
|
212
218
|
|
|
@@ -214,7 +220,7 @@ The Linux ARM64 runtime package uses the corresponding release asset:
|
|
|
214
220
|
|
|
215
221
|
```bash
|
|
216
222
|
cd python/dcccpy-linux-arm64-runtime
|
|
217
|
-
python scripts/vendor_dccccore.py --version 4.5.
|
|
223
|
+
python scripts/vendor_dccccore.py --version 4.5.1-alpha --release-platform ubuntu-latest-arm64
|
|
218
224
|
python -m build --wheel
|
|
219
225
|
```
|
|
220
226
|
|
|
@@ -232,7 +238,7 @@ The preferred distribution layout is:
|
|
|
232
238
|
|
|
233
239
|
## Packaging note
|
|
234
240
|
|
|
235
|
-
The current optional runtime wheels use a PyPI-size profile for DCCCcore version 4.5.
|
|
241
|
+
The current optional runtime wheels use a PyPI-size profile for DCCCcore version 4.5.1-alpha. They omit the
|
|
236
242
|
`fast_and_acc` registration model/config and the ADAD decoupler ONNX ensemble,
|
|
237
243
|
while keeping the default spatial normalization model and assets needed by
|
|
238
244
|
common Centiloid/CenTauR/CenTauRz workflows.
|
|
@@ -116,6 +116,7 @@ dcccpy.adni_pet_core(
|
|
|
116
116
|
"standardized.nii.gz",
|
|
117
117
|
tracer="fdg",
|
|
118
118
|
level=(1, 3),
|
|
119
|
+
deface=True,
|
|
119
120
|
)
|
|
120
121
|
```
|
|
121
122
|
|
|
@@ -124,9 +125,14 @@ Level 3 is the standardized ADNI-style image. The output argument names the
|
|
|
124
125
|
highest selected level, while selected lower levels receive `_Coreg` or
|
|
125
126
|
`_Coreg_Avg` suffixes.
|
|
126
127
|
|
|
127
|
-
`
|
|
128
|
-
|
|
129
|
-
|
|
128
|
+
Set `deface=True` to zero facial voxels in every selected output. Motion and
|
|
129
|
+
spatial transforms are estimated from the original PET before the privacy mask
|
|
130
|
+
is applied, so the flag does not change the estimated alignment.
|
|
131
|
+
|
|
132
|
+
`adni_pet_core` deliberately has no default tracer. Use `abeta`, `tau`, `fdg`,
|
|
133
|
+
or `dat`; FDG selects ADNI's iterative masked global-mean normalization,
|
|
134
|
+
DAT selects PPMI-style occipital-reference normalization, and Aβ/tau retain
|
|
135
|
+
cerebellar gray normalization.
|
|
130
136
|
|
|
131
137
|
Downloaded ADNI preprocessed FDG DICOMs can differ slightly from the exact
|
|
132
138
|
published iteration. See the repository's
|
|
@@ -175,7 +181,7 @@ the calculation again.
|
|
|
175
181
|
Release wheels should vendor the matching `DCCCcore` runtime tree before build:
|
|
176
182
|
|
|
177
183
|
```bash
|
|
178
|
-
python scripts/vendor_dccccore.py --version 4.5.
|
|
184
|
+
python scripts/vendor_dccccore.py --version 4.5.1-alpha --release-platform ubuntu-latest-x64
|
|
179
185
|
python -m build --wheel
|
|
180
186
|
```
|
|
181
187
|
|
|
@@ -183,7 +189,7 @@ The Linux ARM64 runtime package uses the corresponding release asset:
|
|
|
183
189
|
|
|
184
190
|
```bash
|
|
185
191
|
cd python/dcccpy-linux-arm64-runtime
|
|
186
|
-
python scripts/vendor_dccccore.py --version 4.5.
|
|
192
|
+
python scripts/vendor_dccccore.py --version 4.5.1-alpha --release-platform ubuntu-latest-arm64
|
|
187
193
|
python -m build --wheel
|
|
188
194
|
```
|
|
189
195
|
|
|
@@ -201,7 +207,7 @@ The preferred distribution layout is:
|
|
|
201
207
|
|
|
202
208
|
## Packaging note
|
|
203
209
|
|
|
204
|
-
The current optional runtime wheels use a PyPI-size profile for DCCCcore version 4.5.
|
|
210
|
+
The current optional runtime wheels use a PyPI-size profile for DCCCcore version 4.5.1-alpha. They omit the
|
|
205
211
|
`fast_and_acc` registration model/config and the ADAD decoupler ONNX ensemble,
|
|
206
212
|
while keeping the default spatial normalization model and assets needed by
|
|
207
213
|
common Centiloid/CenTauR/CenTauRz workflows.
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "dcccpy"
|
|
7
|
-
version = "0.3.
|
|
7
|
+
version = "0.3.0a3"
|
|
8
8
|
description = "Python wrapper for the DCCCcore PET biomarker command-line tool"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.9"
|
|
@@ -31,16 +31,16 @@ Issues = "https://github.com/tctco/DCCCSlicer/issues"
|
|
|
31
31
|
|
|
32
32
|
[project.optional-dependencies]
|
|
33
33
|
linux-runtime = [
|
|
34
|
-
"dcccpy-linux-runtime==0.2.
|
|
35
|
-
"dcccpy-linux-arm64-runtime==0.2.
|
|
34
|
+
"dcccpy-linux-runtime==0.2.0a2; sys_platform == 'linux' and platform_machine == 'x86_64'",
|
|
35
|
+
"dcccpy-linux-arm64-runtime==0.2.0a2; sys_platform == 'linux' and platform_machine == 'aarch64'",
|
|
36
36
|
]
|
|
37
|
-
windows-runtime = ["dcccpy-windows-runtime==0.2.
|
|
38
|
-
macos-runtime = ["dcccpy-macos-runtime==0.2.
|
|
37
|
+
windows-runtime = ["dcccpy-windows-runtime==0.2.0a2; sys_platform == 'win32' and platform_machine == 'AMD64'"]
|
|
38
|
+
macos-runtime = ["dcccpy-macos-runtime==0.2.0a2; sys_platform == 'darwin' and platform_machine == 'arm64'"]
|
|
39
39
|
runtime = [
|
|
40
|
-
"dcccpy-linux-runtime==0.2.
|
|
41
|
-
"dcccpy-linux-arm64-runtime==0.2.
|
|
42
|
-
"dcccpy-windows-runtime==0.2.
|
|
43
|
-
"dcccpy-macos-runtime==0.2.
|
|
40
|
+
"dcccpy-linux-runtime==0.2.0a2; sys_platform == 'linux' and platform_machine == 'x86_64'",
|
|
41
|
+
"dcccpy-linux-arm64-runtime==0.2.0a2; sys_platform == 'linux' and platform_machine == 'aarch64'",
|
|
42
|
+
"dcccpy-windows-runtime==0.2.0a2; sys_platform == 'win32' and platform_machine == 'AMD64'",
|
|
43
|
+
"dcccpy-macos-runtime==0.2.0a2; sys_platform == 'darwin' and platform_machine == 'arm64'",
|
|
44
44
|
]
|
|
45
45
|
|
|
46
46
|
[project.scripts]
|
|
@@ -412,6 +412,7 @@ def adni_pet_core(
|
|
|
412
412
|
*,
|
|
413
413
|
tracer: str,
|
|
414
414
|
level: int | Sequence[int] = 3,
|
|
415
|
+
deface: bool = False,
|
|
415
416
|
**kwargs: object,
|
|
416
417
|
) -> DCCCResult:
|
|
417
418
|
"""Run tracer-specific ADNI PET Core preprocessing.
|
|
@@ -419,6 +420,7 @@ def adni_pet_core(
|
|
|
419
420
|
``level`` accepts one level or a sequence: 1 exports Coreg, 2 exports
|
|
420
421
|
Coreg/Avg, and 3 exports the standardized image. Multiple levels produce
|
|
421
422
|
multiple files while ``output`` identifies the deepest requested level.
|
|
423
|
+
Set ``deface=True`` to zero facial voxels after transform estimation.
|
|
422
424
|
"""
|
|
423
425
|
|
|
424
426
|
extra_args = list(kwargs.pop("extra_args", ()))
|
|
@@ -428,6 +430,8 @@ def adni_pet_core(
|
|
|
428
430
|
raise ValueError("level must contain one or more of: 1, 2, 3")
|
|
429
431
|
if levels != (3,):
|
|
430
432
|
extra_args.extend(["--level", *(str(value) for value in levels)])
|
|
433
|
+
if deface:
|
|
434
|
+
extra_args.append("--deface")
|
|
431
435
|
return _spatial_command("adni-pet-core", input, output, extra_args=extra_args, **kwargs)
|
|
432
436
|
|
|
433
437
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dcccpy
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.0a3
|
|
4
4
|
Summary: Python wrapper for the DCCCcore PET biomarker command-line tool
|
|
5
5
|
Author: DCCCSlicer contributors
|
|
6
6
|
License-Expression: CC-BY-NC-ND-4.0
|
|
@@ -17,17 +17,17 @@ Requires-Python: >=3.9
|
|
|
17
17
|
Description-Content-Type: text/markdown
|
|
18
18
|
Requires-Dist: nibabel>=5
|
|
19
19
|
Provides-Extra: linux-runtime
|
|
20
|
-
Requires-Dist: dcccpy-linux-runtime==0.2.
|
|
21
|
-
Requires-Dist: dcccpy-linux-arm64-runtime==0.2.
|
|
20
|
+
Requires-Dist: dcccpy-linux-runtime==0.2.0a2; (sys_platform == "linux" and platform_machine == "x86_64") and extra == "linux-runtime"
|
|
21
|
+
Requires-Dist: dcccpy-linux-arm64-runtime==0.2.0a2; (sys_platform == "linux" and platform_machine == "aarch64") and extra == "linux-runtime"
|
|
22
22
|
Provides-Extra: windows-runtime
|
|
23
|
-
Requires-Dist: dcccpy-windows-runtime==0.2.
|
|
23
|
+
Requires-Dist: dcccpy-windows-runtime==0.2.0a2; (sys_platform == "win32" and platform_machine == "AMD64") and extra == "windows-runtime"
|
|
24
24
|
Provides-Extra: macos-runtime
|
|
25
|
-
Requires-Dist: dcccpy-macos-runtime==0.2.
|
|
25
|
+
Requires-Dist: dcccpy-macos-runtime==0.2.0a2; (sys_platform == "darwin" and platform_machine == "arm64") and extra == "macos-runtime"
|
|
26
26
|
Provides-Extra: runtime
|
|
27
|
-
Requires-Dist: dcccpy-linux-runtime==0.2.
|
|
28
|
-
Requires-Dist: dcccpy-linux-arm64-runtime==0.2.
|
|
29
|
-
Requires-Dist: dcccpy-windows-runtime==0.2.
|
|
30
|
-
Requires-Dist: dcccpy-macos-runtime==0.2.
|
|
27
|
+
Requires-Dist: dcccpy-linux-runtime==0.2.0a2; (sys_platform == "linux" and platform_machine == "x86_64") and extra == "runtime"
|
|
28
|
+
Requires-Dist: dcccpy-linux-arm64-runtime==0.2.0a2; (sys_platform == "linux" and platform_machine == "aarch64") and extra == "runtime"
|
|
29
|
+
Requires-Dist: dcccpy-windows-runtime==0.2.0a2; (sys_platform == "win32" and platform_machine == "AMD64") and extra == "runtime"
|
|
30
|
+
Requires-Dist: dcccpy-macos-runtime==0.2.0a2; (sys_platform == "darwin" and platform_machine == "arm64") and extra == "runtime"
|
|
31
31
|
|
|
32
32
|
# dcccpy
|
|
33
33
|
|
|
@@ -147,6 +147,7 @@ dcccpy.adni_pet_core(
|
|
|
147
147
|
"standardized.nii.gz",
|
|
148
148
|
tracer="fdg",
|
|
149
149
|
level=(1, 3),
|
|
150
|
+
deface=True,
|
|
150
151
|
)
|
|
151
152
|
```
|
|
152
153
|
|
|
@@ -155,9 +156,14 @@ Level 3 is the standardized ADNI-style image. The output argument names the
|
|
|
155
156
|
highest selected level, while selected lower levels receive `_Coreg` or
|
|
156
157
|
`_Coreg_Avg` suffixes.
|
|
157
158
|
|
|
158
|
-
`
|
|
159
|
-
|
|
160
|
-
|
|
159
|
+
Set `deface=True` to zero facial voxels in every selected output. Motion and
|
|
160
|
+
spatial transforms are estimated from the original PET before the privacy mask
|
|
161
|
+
is applied, so the flag does not change the estimated alignment.
|
|
162
|
+
|
|
163
|
+
`adni_pet_core` deliberately has no default tracer. Use `abeta`, `tau`, `fdg`,
|
|
164
|
+
or `dat`; FDG selects ADNI's iterative masked global-mean normalization,
|
|
165
|
+
DAT selects PPMI-style occipital-reference normalization, and Aβ/tau retain
|
|
166
|
+
cerebellar gray normalization.
|
|
161
167
|
|
|
162
168
|
Downloaded ADNI preprocessed FDG DICOMs can differ slightly from the exact
|
|
163
169
|
published iteration. See the repository's
|
|
@@ -206,7 +212,7 @@ the calculation again.
|
|
|
206
212
|
Release wheels should vendor the matching `DCCCcore` runtime tree before build:
|
|
207
213
|
|
|
208
214
|
```bash
|
|
209
|
-
python scripts/vendor_dccccore.py --version 4.5.
|
|
215
|
+
python scripts/vendor_dccccore.py --version 4.5.1-alpha --release-platform ubuntu-latest-x64
|
|
210
216
|
python -m build --wheel
|
|
211
217
|
```
|
|
212
218
|
|
|
@@ -214,7 +220,7 @@ The Linux ARM64 runtime package uses the corresponding release asset:
|
|
|
214
220
|
|
|
215
221
|
```bash
|
|
216
222
|
cd python/dcccpy-linux-arm64-runtime
|
|
217
|
-
python scripts/vendor_dccccore.py --version 4.5.
|
|
223
|
+
python scripts/vendor_dccccore.py --version 4.5.1-alpha --release-platform ubuntu-latest-arm64
|
|
218
224
|
python -m build --wheel
|
|
219
225
|
```
|
|
220
226
|
|
|
@@ -232,7 +238,7 @@ The preferred distribution layout is:
|
|
|
232
238
|
|
|
233
239
|
## Packaging note
|
|
234
240
|
|
|
235
|
-
The current optional runtime wheels use a PyPI-size profile for DCCCcore version 4.5.
|
|
241
|
+
The current optional runtime wheels use a PyPI-size profile for DCCCcore version 4.5.1-alpha. They omit the
|
|
236
242
|
`fast_and_acc` registration model/config and the ADAD decoupler ONNX ensemble,
|
|
237
243
|
while keeping the default spatial normalization model and assets needed by
|
|
238
244
|
common Centiloid/CenTauR/CenTauRz workflows.
|
|
@@ -3,31 +3,31 @@ nibabel>=5
|
|
|
3
3
|
[linux-runtime]
|
|
4
4
|
|
|
5
5
|
[linux-runtime:sys_platform == "linux" and platform_machine == "aarch64"]
|
|
6
|
-
dcccpy-linux-arm64-runtime==0.2.
|
|
6
|
+
dcccpy-linux-arm64-runtime==0.2.0a2
|
|
7
7
|
|
|
8
8
|
[linux-runtime:sys_platform == "linux" and platform_machine == "x86_64"]
|
|
9
|
-
dcccpy-linux-runtime==0.2.
|
|
9
|
+
dcccpy-linux-runtime==0.2.0a2
|
|
10
10
|
|
|
11
11
|
[macos-runtime]
|
|
12
12
|
|
|
13
13
|
[macos-runtime:sys_platform == "darwin" and platform_machine == "arm64"]
|
|
14
|
-
dcccpy-macos-runtime==0.2.
|
|
14
|
+
dcccpy-macos-runtime==0.2.0a2
|
|
15
15
|
|
|
16
16
|
[runtime]
|
|
17
17
|
|
|
18
18
|
[runtime:sys_platform == "darwin" and platform_machine == "arm64"]
|
|
19
|
-
dcccpy-macos-runtime==0.2.
|
|
19
|
+
dcccpy-macos-runtime==0.2.0a2
|
|
20
20
|
|
|
21
21
|
[runtime:sys_platform == "linux" and platform_machine == "aarch64"]
|
|
22
|
-
dcccpy-linux-arm64-runtime==0.2.
|
|
22
|
+
dcccpy-linux-arm64-runtime==0.2.0a2
|
|
23
23
|
|
|
24
24
|
[runtime:sys_platform == "linux" and platform_machine == "x86_64"]
|
|
25
|
-
dcccpy-linux-runtime==0.2.
|
|
25
|
+
dcccpy-linux-runtime==0.2.0a2
|
|
26
26
|
|
|
27
27
|
[runtime:sys_platform == "win32" and platform_machine == "AMD64"]
|
|
28
|
-
dcccpy-windows-runtime==0.2.
|
|
28
|
+
dcccpy-windows-runtime==0.2.0a2
|
|
29
29
|
|
|
30
30
|
[windows-runtime]
|
|
31
31
|
|
|
32
32
|
[windows-runtime:sys_platform == "win32" and platform_machine == "AMD64"]
|
|
33
|
-
dcccpy-windows-runtime==0.2.
|
|
33
|
+
dcccpy-windows-runtime==0.2.0a2
|
|
@@ -142,7 +142,7 @@ def test_dccccore_path_can_disable_auto_download(tmp_path: Path, monkeypatch: py
|
|
|
142
142
|
|
|
143
143
|
|
|
144
144
|
def test_dccccore_path_auto_downloads_to_cache(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None:
|
|
145
|
-
asset_root = tmp_path / "asset" / "DCCCcore-4.5.
|
|
145
|
+
asset_root = tmp_path / "asset" / "DCCCcore-4.5.1-alpha-ubuntu-latest-x64"
|
|
146
146
|
asset_root.mkdir(parents=True)
|
|
147
147
|
exe = asset_root / "DCCCcore"
|
|
148
148
|
exe.write_text("#!/usr/bin/env sh\nprintf 'fake dccccore\\n'\n")
|
|
@@ -150,7 +150,7 @@ def test_dccccore_path_auto_downloads_to_cache(tmp_path: Path, monkeypatch: pyte
|
|
|
150
150
|
|
|
151
151
|
archive = tmp_path / "DCCCcore.zip"
|
|
152
152
|
with zipfile.ZipFile(archive, "w") as zf:
|
|
153
|
-
zf.write(exe, "DCCCcore-4.5.
|
|
153
|
+
zf.write(exe, "DCCCcore-4.5.1-alpha-ubuntu-latest-x64/DCCCcore")
|
|
154
154
|
|
|
155
155
|
monkeypatch.delenv("DCCCPY_DCCCCORE", raising=False)
|
|
156
156
|
monkeypatch.setenv("DCCCPY_AUTO_DOWNLOAD", "1")
|
|
@@ -175,7 +175,7 @@ def test_find_existing_dccccore_checks_macos_runtime_package(
|
|
|
175
175
|
exe.write_text("#!/usr/bin/env sh\n")
|
|
176
176
|
exe.chmod(0o755)
|
|
177
177
|
|
|
178
|
-
module = types.SimpleNamespace(DCCCCORE_VERSION="4.5.
|
|
178
|
+
module = types.SimpleNamespace(DCCCCORE_VERSION="4.5.1-alpha", dccccore_root=lambda: root)
|
|
179
179
|
monkeypatch.setitem(sys.modules, "dcccpy_macos_runtime", module)
|
|
180
180
|
monkeypatch.setenv("PATH", str(tmp_path / "empty-path"))
|
|
181
181
|
|
|
@@ -187,9 +187,9 @@ def test_linux_arm64_release_platform() -> None:
|
|
|
187
187
|
|
|
188
188
|
|
|
189
189
|
def test_default_release_targets_dccccore_450_alpha() -> None:
|
|
190
|
-
assert DCCCCORE_VERSION == "4.5.
|
|
190
|
+
assert DCCCCORE_VERSION == "4.5.1-alpha"
|
|
191
191
|
assert release_url(platform_name="ubuntu-latest-x64").endswith(
|
|
192
|
-
"/releases/download/v4.5.
|
|
192
|
+
"/releases/download/v4.5.1-alpha/DCCCcore-4.5.1-alpha-ubuntu-latest-x64.zip"
|
|
193
193
|
)
|
|
194
194
|
|
|
195
195
|
|
|
@@ -220,7 +220,7 @@ def test_find_existing_dccccore_checks_linux_arm64_runtime_package(
|
|
|
220
220
|
exe.write_text("#!/usr/bin/env sh\n")
|
|
221
221
|
exe.chmod(0o755)
|
|
222
222
|
|
|
223
|
-
module = types.SimpleNamespace(DCCCCORE_VERSION="4.5.
|
|
223
|
+
module = types.SimpleNamespace(DCCCCORE_VERSION="4.5.1-alpha", dccccore_root=lambda: root)
|
|
224
224
|
monkeypatch.setitem(sys.modules, "dcccpy_linux_arm64_runtime", module)
|
|
225
225
|
monkeypatch.setenv("PATH", str(tmp_path / "empty-path"))
|
|
226
226
|
|
|
@@ -347,6 +347,38 @@ def test_adni_pet_core_rejects_invalid_export_levels(level: object) -> None:
|
|
|
347
347
|
dcccpy.adni_pet_core("pet.nii", tracer="fdg", level=level) # type: ignore[arg-type]
|
|
348
348
|
|
|
349
349
|
|
|
350
|
+
def test_adni_pet_core_forwards_deface(
|
|
351
|
+
tmp_path: Path,
|
|
352
|
+
monkeypatch: pytest.MonkeyPatch,
|
|
353
|
+
) -> None:
|
|
354
|
+
fake_args = tmp_path / "args.txt"
|
|
355
|
+
fake_exe = make_fake_dccccore(tmp_path)
|
|
356
|
+
input_path = tmp_path / "pet.nii"
|
|
357
|
+
output_path = tmp_path / "adni.nii"
|
|
358
|
+
input_path.write_text("fake PET")
|
|
359
|
+
monkeypatch.setenv("DCCCPY_DCCCCORE", str(fake_exe))
|
|
360
|
+
monkeypatch.setenv("DCCCPY_FAKE_ARGS", str(fake_args))
|
|
361
|
+
|
|
362
|
+
result = dcccpy.adni_pet_core(
|
|
363
|
+
input_path, output_path, tracer="fdg", level=(1, 3), deface=True
|
|
364
|
+
)
|
|
365
|
+
|
|
366
|
+
assert result.returncode == 0
|
|
367
|
+
assert fake_args.read_text().splitlines() == [
|
|
368
|
+
"adni-pet-core",
|
|
369
|
+
"--input",
|
|
370
|
+
str(input_path),
|
|
371
|
+
"--output",
|
|
372
|
+
str(output_path),
|
|
373
|
+
"--tracer",
|
|
374
|
+
"fdg",
|
|
375
|
+
"--level",
|
|
376
|
+
"1",
|
|
377
|
+
"3",
|
|
378
|
+
"--deface",
|
|
379
|
+
]
|
|
380
|
+
|
|
381
|
+
|
|
350
382
|
def test_run_adds_macos_security_hint_for_blocked_runtime(
|
|
351
383
|
tmp_path: Path,
|
|
352
384
|
monkeypatch: pytest.MonkeyPatch,
|
|
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
|