niwrap-afni 0.5.1__py3-none-any.whl → 0.5.3__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.
Potentially problematic release.
This version of niwrap-afni might be problematic. Click here for more details.
- niwrap_afni/afni/abids_json_tool_py.py +104 -1
- niwrap_afni/afni/abids_tool.py +43 -1
- niwrap_afni/afni/adjunct_make_script_and_rst_py.py +2 -2
- niwrap_afni/afni/afni_batch_r.py +1 -2
- niwrap_afni/afni/balloon.py +25 -1
- niwrap_afni/afni/brain_skin.py +16 -1
- niwrap_afni/afni/build_afni_py.py +28 -1
- niwrap_afni/afni/cat_matvec.py +23 -1
- niwrap_afni/afni/convert_surface.py +38 -1
- niwrap_afni/afni/dicom_hinfo.py +9 -2
- niwrap_afni/afni/dsetstat2p.py +19 -1
- niwrap_afni/afni/fat_proc_align_anat_pair.py +10 -1
- niwrap_afni/afni/fat_proc_convert_dcm_anat.py +16 -1
- niwrap_afni/afni/fat_roi_row.py +1 -4
- niwrap_afni/afni/fsread_annot.py +2 -2
- niwrap_afni/afni/imrotate.py +10 -1
- niwrap_afni/afni/myget.py +16 -3
- niwrap_afni/afni/nifti_tool.py +3 -2
- niwrap_afni/afni/p2dsetstat.py +19 -1
- niwrap_afni/afni/plugout_drive.py +93 -1
- niwrap_afni/afni/prompt_popup.py +46 -1
- niwrap_afni/afni/prompt_user.py +16 -1
- niwrap_afni/afni/rbox.py +170 -9
- niwrap_afni/afni/samp_bias.py +16 -1
- niwrap_afni/afni/sfim.py +9 -2
- niwrap_afni/afni/stimband.py +22 -3
- niwrap_afni/afni/surf_dist.py +47 -1
- niwrap_afni/afni/surf_fwhm.py +1 -5
- niwrap_afni/afni/surf_info.py +99 -2
- niwrap_afni/afni/surface_metrics.py +179 -172
- niwrap_afni/afni/tedana_wrapper_py.py +19 -1
- niwrap_afni/afni/v_1d_bport.py +12 -1
- niwrap_afni/afni/v_1d_correlate.py +39 -1
- niwrap_afni/afni/v_1d_marry.py +1 -2
- niwrap_afni/afni/v_1d_rplot.py +233 -4
- niwrap_afni/afni/v_1d_sem.py +157 -2
- niwrap_afni/afni/v_1d_tsort.py +10 -1
- niwrap_afni/afni/v_1ddot.py +5 -4
- niwrap_afni/afni/v_1deval.py +16 -1
- niwrap_afni/afni/v_1dgen_arma11.py +16 -1
- niwrap_afni/afni/v_3_droimaker.py +16 -1
- niwrap_afni/afni/v_3d_afnito3_d.py +34 -4
- niwrap_afni/afni/v_3d_afnito_niml.py +34 -2
- niwrap_afni/afni/v_3d_amp_to_rsfc.py +10 -9
- niwrap_afni/afni/v_3d_anova3.py +323 -20
- niwrap_afni/afni/v_3d_clip_level.py +38 -2
- niwrap_afni/afni/v_3d_clust_sim.py +275 -22
- niwrap_afni/afni/v_3d_cm.py +103 -2
- niwrap_afni/afni/v_3d_dtto_dwi.py +58 -4
- niwrap_afni/afni/v_3d_dwito_dt.py +299 -2
- niwrap_afni/afni/v_3d_ecm.py +24 -2
- niwrap_afni/afni/v_3d_fdr.py +14 -1
- niwrap_afni/afni/v_3d_gen_feature_dist.py +53 -1
- niwrap_afni/afni/v_3d_hist.py +14 -1
- niwrap_afni/afni/v_3d_icc.py +137 -2
- niwrap_afni/afni/v_3d_lfcd.py +24 -5
- niwrap_afni/afni/v_3d_lme.py +1 -3
- niwrap_afni/afni/v_3d_local_histog.py +32 -1
- niwrap_afni/afni/v_3d_lrflip.py +46 -1
- niwrap_afni/afni/v_3d_lss.py +107 -4
- niwrap_afni/afni/v_3d_mask_to_ascii.py +12 -4
- niwrap_afni/afni/v_3d_mema.py +301 -3
- niwrap_afni/afni/v_3d_mepfm.py +1 -2
- niwrap_afni/afni/v_3d_nlfim.py +487 -30
- niwrap_afni/afni/v_3d_nwarp_xyz.py +27 -14
- niwrap_afni/afni/v_3d_overlap.py +20 -6
- niwrap_afni/afni/v_3d_par2_afni.py +32 -1
- niwrap_afni/afni/v_3d_pfm.py +200 -2
- niwrap_afni/afni/v_3d_remlfit.py +41 -1
- niwrap_afni/afni/v_3d_roistats.py +1 -2
- niwrap_afni/afni/v_3d_rsfc.py +240 -6
- niwrap_afni/afni/v_3d_stat_clust.py +19 -1
- niwrap_afni/afni/v_3d_tcat.py +24 -5
- niwrap_afni/afni/v_3d_threeto_rgb.py +1 -2
- niwrap_afni/afni/v_3d_toy_prog.py +111 -1
- niwrap_afni/afni/v_3d_tsgen.py +18 -1
- niwrap_afni/afni/v_3d_tsort.py +10 -1
- niwrap_afni/afni/v_3d_tstat.py +25 -15
- niwrap_afni/afni/v_3d_undump.py +10 -1
- niwrap_afni/afni/v_3d_warp.py +236 -2
- niwrap_afni/afni/v_3d_wilcoxon.py +9 -7
- niwrap_afni/afni/v_3dbucket.py +14 -1
- niwrap_afni/afni/v_3dcalc.py +1 -1
- niwrap_afni/afni/v_3dcopy.py +31 -3
- niwrap_afni/afni/v_3dmask_svd.py +99 -2
- niwrap_afni/afni/v__4_daverage.py +11 -2
- niwrap_afni/afni/v__afni_env.py +19 -1
- niwrap_afni/afni/v__afni_refacer_run.py +36 -1
- niwrap_afni/afni/v__build_afni_xlib.py +21 -1
- niwrap_afni/afni/v__chauffeur_afni.py +184 -2
- niwrap_afni/afni/v__command_globb.py +13 -7
- niwrap_afni/afni/v__compute_oc_weights.py +16 -1
- niwrap_afni/afni/v__deblank_file_names.py +13 -2
- niwrap_afni/afni/v__dice_metric.py +18 -14
- niwrap_afni/afni/v__djunct_edgy_align_check.py +82 -10
- niwrap_afni/afni/v__djunct_montage_coordinator.py +10 -1
- niwrap_afni/afni/v__get_afni_res.py +3 -2
- niwrap_afni/afni/v__grad_flip_test.py +38 -42
- niwrap_afni/afni/v__grayplot.py +34 -1
- niwrap_afni/afni/v__help_afni.py +63 -2
- niwrap_afni/afni/v__make_label_table.py +14 -1
- niwrap_afni/afni/v__no_ext.py +9 -2
- niwrap_afni/afni/v__reorder.py +10 -1
- niwrap_afni/afni/v__skull_strip_touch_up.py +10 -1
- niwrap_afni/afni/v__suma_make_spec_caret.py +62 -2
- niwrap_afni/afni/v__suma_make_spec_fs.py +180 -2
- niwrap_afni/afni/v__to_mni_qwarpar.py +21 -1
- niwrap_afni/afni/v__to_rai.py +23 -7
- {niwrap_afni-0.5.1.dist-info → niwrap_afni-0.5.3.dist-info}/METADATA +1 -1
- {niwrap_afni-0.5.1.dist-info → niwrap_afni-0.5.3.dist-info}/RECORD +111 -111
- {niwrap_afni-0.5.1.dist-info → niwrap_afni-0.5.3.dist-info}/WHEEL +0 -0
|
@@ -6,7 +6,7 @@ import pathlib
|
|
|
6
6
|
from styxdefs import *
|
|
7
7
|
|
|
8
8
|
V_3D_NWARP_XYZ_METADATA = Metadata(
|
|
9
|
-
id="
|
|
9
|
+
id="1ad64cabce09853e006ac8e3b63d94912f629b5c.boutiques",
|
|
10
10
|
name="3dNwarpXYZ",
|
|
11
11
|
package="afni",
|
|
12
12
|
container_image_tag="afni/afni_make_build:AFNI_24.2.06",
|
|
@@ -15,8 +15,10 @@ V_3D_NWARP_XYZ_METADATA = Metadata(
|
|
|
15
15
|
|
|
16
16
|
V3dNwarpXyzParameters = typing.TypedDict('V3dNwarpXyzParameters', {
|
|
17
17
|
"__STYX_TYPE__": typing.Literal["3dNwarpXYZ"],
|
|
18
|
-
"warp_spec": str,
|
|
19
18
|
"xyzfile": InputPathType,
|
|
19
|
+
"warp_spec": str,
|
|
20
|
+
"iwarp": bool,
|
|
21
|
+
"output_file": str,
|
|
20
22
|
})
|
|
21
23
|
|
|
22
24
|
|
|
@@ -63,22 +65,28 @@ class V3dNwarpXyzOutputs(typing.NamedTuple):
|
|
|
63
65
|
|
|
64
66
|
|
|
65
67
|
def v_3d_nwarp_xyz_params(
|
|
66
|
-
warp_spec: str,
|
|
67
68
|
xyzfile: InputPathType,
|
|
69
|
+
warp_spec: str,
|
|
70
|
+
output_file: str,
|
|
71
|
+
iwarp: bool = False,
|
|
68
72
|
) -> V3dNwarpXyzParameters:
|
|
69
73
|
"""
|
|
70
74
|
Build parameters.
|
|
71
75
|
|
|
72
76
|
Args:
|
|
73
|
-
warp_spec: Warp specification as in 3dNwarpApply.
|
|
74
77
|
xyzfile: XYZ coordinate file containing 3 columns.
|
|
78
|
+
warp_spec: Warp specification as in 3dNwarpApply.
|
|
79
|
+
output_file: Warped XYZ coordinates output file.
|
|
80
|
+
iwarp: Compute the inverse warp for each input (x,y,z) triple.
|
|
75
81
|
Returns:
|
|
76
82
|
Parameter dictionary
|
|
77
83
|
"""
|
|
78
84
|
params = {
|
|
79
85
|
"__STYXTYPE__": "3dNwarpXYZ",
|
|
80
|
-
"warp_spec": warp_spec,
|
|
81
86
|
"xyzfile": xyzfile,
|
|
87
|
+
"warp_spec": warp_spec,
|
|
88
|
+
"iwarp": iwarp,
|
|
89
|
+
"output_file": output_file,
|
|
82
90
|
}
|
|
83
91
|
return params
|
|
84
92
|
|
|
@@ -98,15 +106,14 @@ def v_3d_nwarp_xyz_cargs(
|
|
|
98
106
|
"""
|
|
99
107
|
cargs = []
|
|
100
108
|
cargs.append("3dNwarpXYZ")
|
|
101
|
-
cargs.append("
|
|
102
|
-
cargs.append("-nwarp")
|
|
109
|
+
cargs.append(execution.input_file(params.get("xyzfile")))
|
|
103
110
|
cargs.extend([
|
|
104
111
|
"-nwarp",
|
|
105
112
|
params.get("warp_spec")
|
|
106
113
|
])
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
cargs.append("
|
|
114
|
+
if params.get("iwarp"):
|
|
115
|
+
cargs.append("-iwarp")
|
|
116
|
+
cargs.append("> " + params.get("output_file"))
|
|
110
117
|
return cargs
|
|
111
118
|
|
|
112
119
|
|
|
@@ -125,7 +132,7 @@ def v_3d_nwarp_xyz_outputs(
|
|
|
125
132
|
"""
|
|
126
133
|
ret = V3dNwarpXyzOutputs(
|
|
127
134
|
root=execution.output_file("."),
|
|
128
|
-
output_file=execution.output_file("
|
|
135
|
+
output_file=execution.output_file(params.get("output_file")),
|
|
129
136
|
)
|
|
130
137
|
return ret
|
|
131
138
|
|
|
@@ -156,8 +163,10 @@ def v_3d_nwarp_xyz_execute(
|
|
|
156
163
|
|
|
157
164
|
|
|
158
165
|
def v_3d_nwarp_xyz(
|
|
159
|
-
warp_spec: str,
|
|
160
166
|
xyzfile: InputPathType,
|
|
167
|
+
warp_spec: str,
|
|
168
|
+
output_file: str,
|
|
169
|
+
iwarp: bool = False,
|
|
161
170
|
runner: Runner | None = None,
|
|
162
171
|
) -> V3dNwarpXyzOutputs:
|
|
163
172
|
"""
|
|
@@ -169,8 +178,10 @@ def v_3d_nwarp_xyz(
|
|
|
169
178
|
URL: https://afni.nimh.nih.gov/
|
|
170
179
|
|
|
171
180
|
Args:
|
|
172
|
-
warp_spec: Warp specification as in 3dNwarpApply.
|
|
173
181
|
xyzfile: XYZ coordinate file containing 3 columns.
|
|
182
|
+
warp_spec: Warp specification as in 3dNwarpApply.
|
|
183
|
+
output_file: Warped XYZ coordinates output file.
|
|
184
|
+
iwarp: Compute the inverse warp for each input (x,y,z) triple.
|
|
174
185
|
runner: Command runner.
|
|
175
186
|
Returns:
|
|
176
187
|
NamedTuple of outputs (described in `V3dNwarpXyzOutputs`).
|
|
@@ -178,8 +189,10 @@ def v_3d_nwarp_xyz(
|
|
|
178
189
|
runner = runner or get_global_runner()
|
|
179
190
|
execution = runner.start_execution(V_3D_NWARP_XYZ_METADATA)
|
|
180
191
|
params = v_3d_nwarp_xyz_params(
|
|
181
|
-
warp_spec=warp_spec,
|
|
182
192
|
xyzfile=xyzfile,
|
|
193
|
+
warp_spec=warp_spec,
|
|
194
|
+
iwarp=iwarp,
|
|
195
|
+
output_file=output_file,
|
|
183
196
|
)
|
|
184
197
|
return v_3d_nwarp_xyz_execute(params, execution)
|
|
185
198
|
|
niwrap_afni/afni/v_3d_overlap.py
CHANGED
|
@@ -6,7 +6,7 @@ import pathlib
|
|
|
6
6
|
from styxdefs import *
|
|
7
7
|
|
|
8
8
|
V_3D_OVERLAP_METADATA = Metadata(
|
|
9
|
-
id="
|
|
9
|
+
id="55cf3c3d26402707160ae90ffa63fe67eaa8da85.boutiques",
|
|
10
10
|
name="3dOverlap",
|
|
11
11
|
package="afni",
|
|
12
12
|
container_image_tag="afni/afni_make_build:AFNI_24.2.06",
|
|
@@ -17,6 +17,7 @@ V3dOverlapParameters = typing.TypedDict('V3dOverlapParameters', {
|
|
|
17
17
|
"__STYX_TYPE__": typing.Literal["3dOverlap"],
|
|
18
18
|
"dataset1": InputPathType,
|
|
19
19
|
"dataset2": list[InputPathType],
|
|
20
|
+
"save_prefix": typing.NotRequired[str | None],
|
|
20
21
|
})
|
|
21
22
|
|
|
22
23
|
|
|
@@ -58,15 +59,16 @@ class V3dOverlapOutputs(typing.NamedTuple):
|
|
|
58
59
|
"""
|
|
59
60
|
root: OutputPathType
|
|
60
61
|
"""Output root folder. This is the root folder for all outputs."""
|
|
61
|
-
output_brik: OutputPathType
|
|
62
|
+
output_brik: OutputPathType | None
|
|
62
63
|
"""BRIK file with count of overlaps at each voxel (if -save is used)"""
|
|
63
|
-
output_head: OutputPathType
|
|
64
|
+
output_head: OutputPathType | None
|
|
64
65
|
"""HEAD file with count of overlaps at each voxel (if -save is used)"""
|
|
65
66
|
|
|
66
67
|
|
|
67
68
|
def v_3d_overlap_params(
|
|
68
69
|
dataset1: InputPathType,
|
|
69
70
|
dataset2: list[InputPathType],
|
|
71
|
+
save_prefix: str | None = None,
|
|
70
72
|
) -> V3dOverlapParameters:
|
|
71
73
|
"""
|
|
72
74
|
Build parameters.
|
|
@@ -74,6 +76,8 @@ def v_3d_overlap_params(
|
|
|
74
76
|
Args:
|
|
75
77
|
dataset1: First input dataset (e.g. dset1+orig).
|
|
76
78
|
dataset2: Second input dataset (e.g. dset2+orig).
|
|
79
|
+
save_prefix: Save the count of overlaps at each voxel into a dataset\
|
|
80
|
+
with the given prefix.
|
|
77
81
|
Returns:
|
|
78
82
|
Parameter dictionary
|
|
79
83
|
"""
|
|
@@ -82,6 +86,8 @@ def v_3d_overlap_params(
|
|
|
82
86
|
"dataset1": dataset1,
|
|
83
87
|
"dataset2": dataset2,
|
|
84
88
|
}
|
|
89
|
+
if save_prefix is not None:
|
|
90
|
+
params["save_prefix"] = save_prefix
|
|
85
91
|
return params
|
|
86
92
|
|
|
87
93
|
|
|
@@ -100,9 +106,13 @@ def v_3d_overlap_cargs(
|
|
|
100
106
|
"""
|
|
101
107
|
cargs = []
|
|
102
108
|
cargs.append("3dOverlap")
|
|
103
|
-
cargs.append("[OPTIONS]")
|
|
104
109
|
cargs.append(execution.input_file(params.get("dataset1")))
|
|
105
110
|
cargs.extend([execution.input_file(f) for f in params.get("dataset2")])
|
|
111
|
+
if params.get("save_prefix") is not None:
|
|
112
|
+
cargs.extend([
|
|
113
|
+
"-save",
|
|
114
|
+
params.get("save_prefix")
|
|
115
|
+
])
|
|
106
116
|
return cargs
|
|
107
117
|
|
|
108
118
|
|
|
@@ -121,8 +131,8 @@ def v_3d_overlap_outputs(
|
|
|
121
131
|
"""
|
|
122
132
|
ret = V3dOverlapOutputs(
|
|
123
133
|
root=execution.output_file("."),
|
|
124
|
-
output_brik=execution.output_file("
|
|
125
|
-
output_head=execution.output_file("
|
|
134
|
+
output_brik=execution.output_file(params.get("save_prefix") + "+orig.BRIK") if (params.get("save_prefix") is not None) else None,
|
|
135
|
+
output_head=execution.output_file(params.get("save_prefix") + "+orig.HEAD") if (params.get("save_prefix") is not None) else None,
|
|
126
136
|
)
|
|
127
137
|
return ret
|
|
128
138
|
|
|
@@ -154,6 +164,7 @@ def v_3d_overlap_execute(
|
|
|
154
164
|
def v_3d_overlap(
|
|
155
165
|
dataset1: InputPathType,
|
|
156
166
|
dataset2: list[InputPathType],
|
|
167
|
+
save_prefix: str | None = None,
|
|
157
168
|
runner: Runner | None = None,
|
|
158
169
|
) -> V3dOverlapOutputs:
|
|
159
170
|
"""
|
|
@@ -166,6 +177,8 @@ def v_3d_overlap(
|
|
|
166
177
|
Args:
|
|
167
178
|
dataset1: First input dataset (e.g. dset1+orig).
|
|
168
179
|
dataset2: Second input dataset (e.g. dset2+orig).
|
|
180
|
+
save_prefix: Save the count of overlaps at each voxel into a dataset\
|
|
181
|
+
with the given prefix.
|
|
169
182
|
runner: Command runner.
|
|
170
183
|
Returns:
|
|
171
184
|
NamedTuple of outputs (described in `V3dOverlapOutputs`).
|
|
@@ -175,6 +188,7 @@ def v_3d_overlap(
|
|
|
175
188
|
params = v_3d_overlap_params(
|
|
176
189
|
dataset1=dataset1,
|
|
177
190
|
dataset2=dataset2,
|
|
191
|
+
save_prefix=save_prefix,
|
|
178
192
|
)
|
|
179
193
|
return v_3d_overlap_execute(params, execution)
|
|
180
194
|
|
|
@@ -6,7 +6,7 @@ import pathlib
|
|
|
6
6
|
from styxdefs import *
|
|
7
7
|
|
|
8
8
|
V_3D_PAR2_AFNI_METADATA = Metadata(
|
|
9
|
-
id="
|
|
9
|
+
id="abf07fa80d8ac5cc00c4348273246690b0e76d2a.boutiques",
|
|
10
10
|
name="3dPAR2AFNI",
|
|
11
11
|
package="afni",
|
|
12
12
|
container_image_tag="afni/afni_make_build:AFNI_24.2.06",
|
|
@@ -17,11 +17,14 @@ V3dPar2AfniParameters = typing.TypedDict('V3dPar2AfniParameters', {
|
|
|
17
17
|
"__STYX_TYPE__": typing.Literal["3dPAR2AFNI"],
|
|
18
18
|
"input_file": InputPathType,
|
|
19
19
|
"skip_outliers_test": bool,
|
|
20
|
+
"output_nifti": bool,
|
|
20
21
|
"output_analyze": bool,
|
|
21
22
|
"output_dir": typing.NotRequired[str | None],
|
|
22
23
|
"verbose_flag": bool,
|
|
23
24
|
"gzip_files": bool,
|
|
25
|
+
"byte_swap_2": bool,
|
|
24
26
|
"byte_swap_4": bool,
|
|
27
|
+
"help_flag": bool,
|
|
25
28
|
})
|
|
26
29
|
|
|
27
30
|
|
|
@@ -70,11 +73,14 @@ class V3dPar2AfniOutputs(typing.NamedTuple):
|
|
|
70
73
|
def v_3d_par2_afni_params(
|
|
71
74
|
input_file: InputPathType,
|
|
72
75
|
skip_outliers_test: bool = False,
|
|
76
|
+
output_nifti: bool = False,
|
|
73
77
|
output_analyze: bool = False,
|
|
74
78
|
output_dir: str | None = None,
|
|
75
79
|
verbose_flag: bool = False,
|
|
76
80
|
gzip_files: bool = False,
|
|
81
|
+
byte_swap_2: bool = False,
|
|
77
82
|
byte_swap_4: bool = False,
|
|
83
|
+
help_flag: bool = False,
|
|
78
84
|
) -> V3dPar2AfniParameters:
|
|
79
85
|
"""
|
|
80
86
|
Build parameters.
|
|
@@ -83,6 +89,8 @@ def v_3d_par2_afni_params(
|
|
|
83
89
|
input_file: Input PAR file (e.g., subject1.PAR).
|
|
84
90
|
skip_outliers_test: Skip the outliers test when converting 4D files.\
|
|
85
91
|
The default is to perform the outliers test.
|
|
92
|
+
output_nifti: Output NIfTI files instead of HEAD/BRIK. The default is\
|
|
93
|
+
to create HEAD/BRIK files.
|
|
86
94
|
output_analyze: Output ANALYZE files instead of HEAD/BRIK.
|
|
87
95
|
output_dir: The name of the directory where the created files should be\
|
|
88
96
|
placed. If this directory does not exist, the program exits without\
|
|
@@ -90,8 +98,11 @@ def v_3d_par2_afni_params(
|
|
|
90
98
|
verbose_flag: Be verbose in operation.
|
|
91
99
|
gzip_files: Gzip the files created. The default is not to gzip the\
|
|
92
100
|
files.
|
|
101
|
+
byte_swap_2: 2-Byte-swap the files created. The default is not to 2\
|
|
102
|
+
byte-swap.
|
|
93
103
|
byte_swap_4: 4-Byte-swap the files created. The default is not to 4\
|
|
94
104
|
byte-swap.
|
|
105
|
+
help_flag: Display help message.
|
|
95
106
|
Returns:
|
|
96
107
|
Parameter dictionary
|
|
97
108
|
"""
|
|
@@ -99,10 +110,13 @@ def v_3d_par2_afni_params(
|
|
|
99
110
|
"__STYXTYPE__": "3dPAR2AFNI",
|
|
100
111
|
"input_file": input_file,
|
|
101
112
|
"skip_outliers_test": skip_outliers_test,
|
|
113
|
+
"output_nifti": output_nifti,
|
|
102
114
|
"output_analyze": output_analyze,
|
|
103
115
|
"verbose_flag": verbose_flag,
|
|
104
116
|
"gzip_files": gzip_files,
|
|
117
|
+
"byte_swap_2": byte_swap_2,
|
|
105
118
|
"byte_swap_4": byte_swap_4,
|
|
119
|
+
"help_flag": help_flag,
|
|
106
120
|
}
|
|
107
121
|
if output_dir is not None:
|
|
108
122
|
params["output_dir"] = output_dir
|
|
@@ -127,6 +141,8 @@ def v_3d_par2_afni_cargs(
|
|
|
127
141
|
cargs.append(execution.input_file(params.get("input_file")))
|
|
128
142
|
if params.get("skip_outliers_test"):
|
|
129
143
|
cargs.append("-s")
|
|
144
|
+
if params.get("output_nifti"):
|
|
145
|
+
cargs.append("-n")
|
|
130
146
|
if params.get("output_analyze"):
|
|
131
147
|
cargs.append("-a")
|
|
132
148
|
if params.get("output_dir") is not None:
|
|
@@ -138,8 +154,12 @@ def v_3d_par2_afni_cargs(
|
|
|
138
154
|
cargs.append("-v")
|
|
139
155
|
if params.get("gzip_files"):
|
|
140
156
|
cargs.append("-g")
|
|
157
|
+
if params.get("byte_swap_2"):
|
|
158
|
+
cargs.append("-2")
|
|
141
159
|
if params.get("byte_swap_4"):
|
|
142
160
|
cargs.append("-4")
|
|
161
|
+
if params.get("help_flag"):
|
|
162
|
+
cargs.append("-h")
|
|
143
163
|
return cargs
|
|
144
164
|
|
|
145
165
|
|
|
@@ -190,11 +210,14 @@ def v_3d_par2_afni_execute(
|
|
|
190
210
|
def v_3d_par2_afni(
|
|
191
211
|
input_file: InputPathType,
|
|
192
212
|
skip_outliers_test: bool = False,
|
|
213
|
+
output_nifti: bool = False,
|
|
193
214
|
output_analyze: bool = False,
|
|
194
215
|
output_dir: str | None = None,
|
|
195
216
|
verbose_flag: bool = False,
|
|
196
217
|
gzip_files: bool = False,
|
|
218
|
+
byte_swap_2: bool = False,
|
|
197
219
|
byte_swap_4: bool = False,
|
|
220
|
+
help_flag: bool = False,
|
|
198
221
|
runner: Runner | None = None,
|
|
199
222
|
) -> V3dPar2AfniOutputs:
|
|
200
223
|
"""
|
|
@@ -208,6 +231,8 @@ def v_3d_par2_afni(
|
|
|
208
231
|
input_file: Input PAR file (e.g., subject1.PAR).
|
|
209
232
|
skip_outliers_test: Skip the outliers test when converting 4D files.\
|
|
210
233
|
The default is to perform the outliers test.
|
|
234
|
+
output_nifti: Output NIfTI files instead of HEAD/BRIK. The default is\
|
|
235
|
+
to create HEAD/BRIK files.
|
|
211
236
|
output_analyze: Output ANALYZE files instead of HEAD/BRIK.
|
|
212
237
|
output_dir: The name of the directory where the created files should be\
|
|
213
238
|
placed. If this directory does not exist, the program exits without\
|
|
@@ -215,8 +240,11 @@ def v_3d_par2_afni(
|
|
|
215
240
|
verbose_flag: Be verbose in operation.
|
|
216
241
|
gzip_files: Gzip the files created. The default is not to gzip the\
|
|
217
242
|
files.
|
|
243
|
+
byte_swap_2: 2-Byte-swap the files created. The default is not to 2\
|
|
244
|
+
byte-swap.
|
|
218
245
|
byte_swap_4: 4-Byte-swap the files created. The default is not to 4\
|
|
219
246
|
byte-swap.
|
|
247
|
+
help_flag: Display help message.
|
|
220
248
|
runner: Command runner.
|
|
221
249
|
Returns:
|
|
222
250
|
NamedTuple of outputs (described in `V3dPar2AfniOutputs`).
|
|
@@ -226,11 +254,14 @@ def v_3d_par2_afni(
|
|
|
226
254
|
params = v_3d_par2_afni_params(
|
|
227
255
|
input_file=input_file,
|
|
228
256
|
skip_outliers_test=skip_outliers_test,
|
|
257
|
+
output_nifti=output_nifti,
|
|
229
258
|
output_analyze=output_analyze,
|
|
230
259
|
output_dir=output_dir,
|
|
231
260
|
verbose_flag=verbose_flag,
|
|
232
261
|
gzip_files=gzip_files,
|
|
262
|
+
byte_swap_2=byte_swap_2,
|
|
233
263
|
byte_swap_4=byte_swap_4,
|
|
264
|
+
help_flag=help_flag,
|
|
234
265
|
)
|
|
235
266
|
return v_3d_par2_afni_execute(params, execution)
|
|
236
267
|
|
niwrap_afni/afni/v_3d_pfm.py
CHANGED
|
@@ -6,7 +6,7 @@ import pathlib
|
|
|
6
6
|
from styxdefs import *
|
|
7
7
|
|
|
8
8
|
V_3D_PFM_METADATA = Metadata(
|
|
9
|
-
id="
|
|
9
|
+
id="96e747e1055107a8734dd4f14bdc3fe2e1d0dca3.boutiques",
|
|
10
10
|
name="3dPFM",
|
|
11
11
|
package="afni",
|
|
12
12
|
container_image_tag="afni/afni_make_build:AFNI_24.2.06",
|
|
@@ -15,6 +15,21 @@ V_3D_PFM_METADATA = Metadata(
|
|
|
15
15
|
|
|
16
16
|
V3dPfmParameters = typing.TypedDict('V3dPfmParameters', {
|
|
17
17
|
"__STYX_TYPE__": typing.Literal["3dPFM"],
|
|
18
|
+
"input": InputPathType,
|
|
19
|
+
"mask": typing.NotRequired[InputPathType | None],
|
|
20
|
+
"algorithm": typing.NotRequired[str | None],
|
|
21
|
+
"criteria": typing.NotRequired[str | None],
|
|
22
|
+
"nonzeros": typing.NotRequired[float | None],
|
|
23
|
+
"maxiter": typing.NotRequired[float | None],
|
|
24
|
+
"maxiterfactor": typing.NotRequired[float | None],
|
|
25
|
+
"tr": typing.NotRequired[float | None],
|
|
26
|
+
"hrf": typing.NotRequired[str | None],
|
|
27
|
+
"hrf_vol": typing.NotRequired[InputPathType | None],
|
|
28
|
+
"idx_hrf": typing.NotRequired[InputPathType | None],
|
|
29
|
+
"LHS": typing.NotRequired[list[InputPathType] | None],
|
|
30
|
+
"jobs": typing.NotRequired[float | None],
|
|
31
|
+
"nSeg": typing.NotRequired[float | None],
|
|
32
|
+
"verb": typing.NotRequired[float | None],
|
|
18
33
|
})
|
|
19
34
|
|
|
20
35
|
|
|
@@ -113,17 +128,79 @@ class V3dPfmOutputs(typing.NamedTuple):
|
|
|
113
128
|
|
|
114
129
|
|
|
115
130
|
def v_3d_pfm_params(
|
|
131
|
+
input_: InputPathType,
|
|
132
|
+
mask: InputPathType | None = None,
|
|
133
|
+
algorithm: str | None = None,
|
|
134
|
+
criteria: str | None = None,
|
|
135
|
+
nonzeros: float | None = None,
|
|
136
|
+
maxiter: float | None = None,
|
|
137
|
+
maxiterfactor: float | None = None,
|
|
138
|
+
tr: float | None = None,
|
|
139
|
+
hrf: str | None = None,
|
|
140
|
+
hrf_vol: InputPathType | None = None,
|
|
141
|
+
idx_hrf: InputPathType | None = None,
|
|
142
|
+
lhs: list[InputPathType] | None = None,
|
|
143
|
+
jobs: float | None = None,
|
|
144
|
+
n_seg: float | None = None,
|
|
145
|
+
verb: float | None = None,
|
|
116
146
|
) -> V3dPfmParameters:
|
|
117
147
|
"""
|
|
118
148
|
Build parameters.
|
|
119
149
|
|
|
120
150
|
Args:
|
|
151
|
+
input_: Specify the dataset to analyze (e.g., epi.nii).
|
|
152
|
+
mask: Process voxels inside this mask only. Default is no masking.
|
|
153
|
+
algorithm: Regularization function used for HRF deconvolution (dantzig\
|
|
154
|
+
or lasso).
|
|
155
|
+
criteria: Model selection criterion for HRF deconvolution (BIC or AIC).
|
|
156
|
+
nonzeros: Choose estimate with a fixed number of nonzero coefficients.
|
|
157
|
+
maxiter: Maximum number of iterations in the homotopy procedure\
|
|
158
|
+
(absolute value).
|
|
159
|
+
maxiterfactor: Maximum number of iterations relative to the number of\
|
|
160
|
+
volumes.
|
|
161
|
+
tr: Repetition time or sampling period of the input data.
|
|
162
|
+
hrf: Haemodynamic response function used for deconvolution.
|
|
163
|
+
hrf_vol: 3D+time dataset with voxel/nodes/vertex -dependent HRFs.
|
|
164
|
+
idx_hrf: 3D dataset with voxel-dependent indexes for HRF.
|
|
165
|
+
lhs: Additional regressors to be fitted to the dataset.
|
|
166
|
+
jobs: Number of parallel jobs to use in processing.
|
|
167
|
+
n_seg: Divide into segments to report progress.
|
|
168
|
+
verb: Verbosity level (0 for quiet, 1 for talkative).
|
|
121
169
|
Returns:
|
|
122
170
|
Parameter dictionary
|
|
123
171
|
"""
|
|
124
172
|
params = {
|
|
125
173
|
"__STYXTYPE__": "3dPFM",
|
|
174
|
+
"input": input_,
|
|
126
175
|
}
|
|
176
|
+
if mask is not None:
|
|
177
|
+
params["mask"] = mask
|
|
178
|
+
if algorithm is not None:
|
|
179
|
+
params["algorithm"] = algorithm
|
|
180
|
+
if criteria is not None:
|
|
181
|
+
params["criteria"] = criteria
|
|
182
|
+
if nonzeros is not None:
|
|
183
|
+
params["nonzeros"] = nonzeros
|
|
184
|
+
if maxiter is not None:
|
|
185
|
+
params["maxiter"] = maxiter
|
|
186
|
+
if maxiterfactor is not None:
|
|
187
|
+
params["maxiterfactor"] = maxiterfactor
|
|
188
|
+
if tr is not None:
|
|
189
|
+
params["tr"] = tr
|
|
190
|
+
if hrf is not None:
|
|
191
|
+
params["hrf"] = hrf
|
|
192
|
+
if hrf_vol is not None:
|
|
193
|
+
params["hrf_vol"] = hrf_vol
|
|
194
|
+
if idx_hrf is not None:
|
|
195
|
+
params["idx_hrf"] = idx_hrf
|
|
196
|
+
if lhs is not None:
|
|
197
|
+
params["LHS"] = lhs
|
|
198
|
+
if jobs is not None:
|
|
199
|
+
params["jobs"] = jobs
|
|
200
|
+
if n_seg is not None:
|
|
201
|
+
params["nSeg"] = n_seg
|
|
202
|
+
if verb is not None:
|
|
203
|
+
params["verb"] = verb
|
|
127
204
|
return params
|
|
128
205
|
|
|
129
206
|
|
|
@@ -142,7 +219,80 @@ def v_3d_pfm_cargs(
|
|
|
142
219
|
"""
|
|
143
220
|
cargs = []
|
|
144
221
|
cargs.append("3dPFM")
|
|
145
|
-
cargs.
|
|
222
|
+
cargs.extend([
|
|
223
|
+
"-input",
|
|
224
|
+
execution.input_file(params.get("input"))
|
|
225
|
+
])
|
|
226
|
+
if params.get("mask") is not None:
|
|
227
|
+
cargs.extend([
|
|
228
|
+
"-mask",
|
|
229
|
+
execution.input_file(params.get("mask"))
|
|
230
|
+
])
|
|
231
|
+
if params.get("algorithm") is not None:
|
|
232
|
+
cargs.extend([
|
|
233
|
+
"-algorithm",
|
|
234
|
+
params.get("algorithm")
|
|
235
|
+
])
|
|
236
|
+
if params.get("criteria") is not None:
|
|
237
|
+
cargs.extend([
|
|
238
|
+
"-criteria",
|
|
239
|
+
params.get("criteria")
|
|
240
|
+
])
|
|
241
|
+
if params.get("nonzeros") is not None:
|
|
242
|
+
cargs.extend([
|
|
243
|
+
"-nonzeros",
|
|
244
|
+
str(params.get("nonzeros"))
|
|
245
|
+
])
|
|
246
|
+
if params.get("maxiter") is not None:
|
|
247
|
+
cargs.extend([
|
|
248
|
+
"-maxiter",
|
|
249
|
+
str(params.get("maxiter"))
|
|
250
|
+
])
|
|
251
|
+
if params.get("maxiterfactor") is not None:
|
|
252
|
+
cargs.extend([
|
|
253
|
+
"-maxiterfactor",
|
|
254
|
+
str(params.get("maxiterfactor"))
|
|
255
|
+
])
|
|
256
|
+
if params.get("tr") is not None:
|
|
257
|
+
cargs.extend([
|
|
258
|
+
"-TR",
|
|
259
|
+
str(params.get("tr"))
|
|
260
|
+
])
|
|
261
|
+
if params.get("hrf") is not None:
|
|
262
|
+
cargs.extend([
|
|
263
|
+
"-hrf",
|
|
264
|
+
params.get("hrf")
|
|
265
|
+
])
|
|
266
|
+
if params.get("hrf_vol") is not None:
|
|
267
|
+
cargs.extend([
|
|
268
|
+
"-hrf_vol",
|
|
269
|
+
execution.input_file(params.get("hrf_vol"))
|
|
270
|
+
])
|
|
271
|
+
if params.get("idx_hrf") is not None:
|
|
272
|
+
cargs.extend([
|
|
273
|
+
"-idx_hrf",
|
|
274
|
+
execution.input_file(params.get("idx_hrf"))
|
|
275
|
+
])
|
|
276
|
+
if params.get("LHS") is not None:
|
|
277
|
+
cargs.extend([
|
|
278
|
+
"-LHS",
|
|
279
|
+
*[execution.input_file(f) for f in params.get("LHS")]
|
|
280
|
+
])
|
|
281
|
+
if params.get("jobs") is not None:
|
|
282
|
+
cargs.extend([
|
|
283
|
+
"-jobs",
|
|
284
|
+
str(params.get("jobs"))
|
|
285
|
+
])
|
|
286
|
+
if params.get("nSeg") is not None:
|
|
287
|
+
cargs.extend([
|
|
288
|
+
"-nSeg",
|
|
289
|
+
str(params.get("nSeg"))
|
|
290
|
+
])
|
|
291
|
+
if params.get("verb") is not None:
|
|
292
|
+
cargs.extend([
|
|
293
|
+
"-verb",
|
|
294
|
+
str(params.get("verb"))
|
|
295
|
+
])
|
|
146
296
|
return cargs
|
|
147
297
|
|
|
148
298
|
|
|
@@ -217,6 +367,21 @@ def v_3d_pfm_execute(
|
|
|
217
367
|
|
|
218
368
|
|
|
219
369
|
def v_3d_pfm(
|
|
370
|
+
input_: InputPathType,
|
|
371
|
+
mask: InputPathType | None = None,
|
|
372
|
+
algorithm: str | None = None,
|
|
373
|
+
criteria: str | None = None,
|
|
374
|
+
nonzeros: float | None = None,
|
|
375
|
+
maxiter: float | None = None,
|
|
376
|
+
maxiterfactor: float | None = None,
|
|
377
|
+
tr: float | None = None,
|
|
378
|
+
hrf: str | None = None,
|
|
379
|
+
hrf_vol: InputPathType | None = None,
|
|
380
|
+
idx_hrf: InputPathType | None = None,
|
|
381
|
+
lhs: list[InputPathType] | None = None,
|
|
382
|
+
jobs: float | None = None,
|
|
383
|
+
n_seg: float | None = None,
|
|
384
|
+
verb: float | None = None,
|
|
220
385
|
runner: Runner | None = None,
|
|
221
386
|
) -> V3dPfmOutputs:
|
|
222
387
|
"""
|
|
@@ -228,6 +393,24 @@ def v_3d_pfm(
|
|
|
228
393
|
URL: https://afni.nimh.nih.gov/
|
|
229
394
|
|
|
230
395
|
Args:
|
|
396
|
+
input_: Specify the dataset to analyze (e.g., epi.nii).
|
|
397
|
+
mask: Process voxels inside this mask only. Default is no masking.
|
|
398
|
+
algorithm: Regularization function used for HRF deconvolution (dantzig\
|
|
399
|
+
or lasso).
|
|
400
|
+
criteria: Model selection criterion for HRF deconvolution (BIC or AIC).
|
|
401
|
+
nonzeros: Choose estimate with a fixed number of nonzero coefficients.
|
|
402
|
+
maxiter: Maximum number of iterations in the homotopy procedure\
|
|
403
|
+
(absolute value).
|
|
404
|
+
maxiterfactor: Maximum number of iterations relative to the number of\
|
|
405
|
+
volumes.
|
|
406
|
+
tr: Repetition time or sampling period of the input data.
|
|
407
|
+
hrf: Haemodynamic response function used for deconvolution.
|
|
408
|
+
hrf_vol: 3D+time dataset with voxel/nodes/vertex -dependent HRFs.
|
|
409
|
+
idx_hrf: 3D dataset with voxel-dependent indexes for HRF.
|
|
410
|
+
lhs: Additional regressors to be fitted to the dataset.
|
|
411
|
+
jobs: Number of parallel jobs to use in processing.
|
|
412
|
+
n_seg: Divide into segments to report progress.
|
|
413
|
+
verb: Verbosity level (0 for quiet, 1 for talkative).
|
|
231
414
|
runner: Command runner.
|
|
232
415
|
Returns:
|
|
233
416
|
NamedTuple of outputs (described in `V3dPfmOutputs`).
|
|
@@ -235,6 +418,21 @@ def v_3d_pfm(
|
|
|
235
418
|
runner = runner or get_global_runner()
|
|
236
419
|
execution = runner.start_execution(V_3D_PFM_METADATA)
|
|
237
420
|
params = v_3d_pfm_params(
|
|
421
|
+
input_=input_,
|
|
422
|
+
mask=mask,
|
|
423
|
+
algorithm=algorithm,
|
|
424
|
+
criteria=criteria,
|
|
425
|
+
nonzeros=nonzeros,
|
|
426
|
+
maxiter=maxiter,
|
|
427
|
+
maxiterfactor=maxiterfactor,
|
|
428
|
+
tr=tr,
|
|
429
|
+
hrf=hrf,
|
|
430
|
+
hrf_vol=hrf_vol,
|
|
431
|
+
idx_hrf=idx_hrf,
|
|
432
|
+
lhs=lhs,
|
|
433
|
+
jobs=jobs,
|
|
434
|
+
n_seg=n_seg,
|
|
435
|
+
verb=verb,
|
|
238
436
|
)
|
|
239
437
|
return v_3d_pfm_execute(params, execution)
|
|
240
438
|
|