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.

Files changed (111) hide show
  1. niwrap_afni/afni/abids_json_tool_py.py +104 -1
  2. niwrap_afni/afni/abids_tool.py +43 -1
  3. niwrap_afni/afni/adjunct_make_script_and_rst_py.py +2 -2
  4. niwrap_afni/afni/afni_batch_r.py +1 -2
  5. niwrap_afni/afni/balloon.py +25 -1
  6. niwrap_afni/afni/brain_skin.py +16 -1
  7. niwrap_afni/afni/build_afni_py.py +28 -1
  8. niwrap_afni/afni/cat_matvec.py +23 -1
  9. niwrap_afni/afni/convert_surface.py +38 -1
  10. niwrap_afni/afni/dicom_hinfo.py +9 -2
  11. niwrap_afni/afni/dsetstat2p.py +19 -1
  12. niwrap_afni/afni/fat_proc_align_anat_pair.py +10 -1
  13. niwrap_afni/afni/fat_proc_convert_dcm_anat.py +16 -1
  14. niwrap_afni/afni/fat_roi_row.py +1 -4
  15. niwrap_afni/afni/fsread_annot.py +2 -2
  16. niwrap_afni/afni/imrotate.py +10 -1
  17. niwrap_afni/afni/myget.py +16 -3
  18. niwrap_afni/afni/nifti_tool.py +3 -2
  19. niwrap_afni/afni/p2dsetstat.py +19 -1
  20. niwrap_afni/afni/plugout_drive.py +93 -1
  21. niwrap_afni/afni/prompt_popup.py +46 -1
  22. niwrap_afni/afni/prompt_user.py +16 -1
  23. niwrap_afni/afni/rbox.py +170 -9
  24. niwrap_afni/afni/samp_bias.py +16 -1
  25. niwrap_afni/afni/sfim.py +9 -2
  26. niwrap_afni/afni/stimband.py +22 -3
  27. niwrap_afni/afni/surf_dist.py +47 -1
  28. niwrap_afni/afni/surf_fwhm.py +1 -5
  29. niwrap_afni/afni/surf_info.py +99 -2
  30. niwrap_afni/afni/surface_metrics.py +179 -172
  31. niwrap_afni/afni/tedana_wrapper_py.py +19 -1
  32. niwrap_afni/afni/v_1d_bport.py +12 -1
  33. niwrap_afni/afni/v_1d_correlate.py +39 -1
  34. niwrap_afni/afni/v_1d_marry.py +1 -2
  35. niwrap_afni/afni/v_1d_rplot.py +233 -4
  36. niwrap_afni/afni/v_1d_sem.py +157 -2
  37. niwrap_afni/afni/v_1d_tsort.py +10 -1
  38. niwrap_afni/afni/v_1ddot.py +5 -4
  39. niwrap_afni/afni/v_1deval.py +16 -1
  40. niwrap_afni/afni/v_1dgen_arma11.py +16 -1
  41. niwrap_afni/afni/v_3_droimaker.py +16 -1
  42. niwrap_afni/afni/v_3d_afnito3_d.py +34 -4
  43. niwrap_afni/afni/v_3d_afnito_niml.py +34 -2
  44. niwrap_afni/afni/v_3d_amp_to_rsfc.py +10 -9
  45. niwrap_afni/afni/v_3d_anova3.py +323 -20
  46. niwrap_afni/afni/v_3d_clip_level.py +38 -2
  47. niwrap_afni/afni/v_3d_clust_sim.py +275 -22
  48. niwrap_afni/afni/v_3d_cm.py +103 -2
  49. niwrap_afni/afni/v_3d_dtto_dwi.py +58 -4
  50. niwrap_afni/afni/v_3d_dwito_dt.py +299 -2
  51. niwrap_afni/afni/v_3d_ecm.py +24 -2
  52. niwrap_afni/afni/v_3d_fdr.py +14 -1
  53. niwrap_afni/afni/v_3d_gen_feature_dist.py +53 -1
  54. niwrap_afni/afni/v_3d_hist.py +14 -1
  55. niwrap_afni/afni/v_3d_icc.py +137 -2
  56. niwrap_afni/afni/v_3d_lfcd.py +24 -5
  57. niwrap_afni/afni/v_3d_lme.py +1 -3
  58. niwrap_afni/afni/v_3d_local_histog.py +32 -1
  59. niwrap_afni/afni/v_3d_lrflip.py +46 -1
  60. niwrap_afni/afni/v_3d_lss.py +107 -4
  61. niwrap_afni/afni/v_3d_mask_to_ascii.py +12 -4
  62. niwrap_afni/afni/v_3d_mema.py +301 -3
  63. niwrap_afni/afni/v_3d_mepfm.py +1 -2
  64. niwrap_afni/afni/v_3d_nlfim.py +487 -30
  65. niwrap_afni/afni/v_3d_nwarp_xyz.py +27 -14
  66. niwrap_afni/afni/v_3d_overlap.py +20 -6
  67. niwrap_afni/afni/v_3d_par2_afni.py +32 -1
  68. niwrap_afni/afni/v_3d_pfm.py +200 -2
  69. niwrap_afni/afni/v_3d_remlfit.py +41 -1
  70. niwrap_afni/afni/v_3d_roistats.py +1 -2
  71. niwrap_afni/afni/v_3d_rsfc.py +240 -6
  72. niwrap_afni/afni/v_3d_stat_clust.py +19 -1
  73. niwrap_afni/afni/v_3d_tcat.py +24 -5
  74. niwrap_afni/afni/v_3d_threeto_rgb.py +1 -2
  75. niwrap_afni/afni/v_3d_toy_prog.py +111 -1
  76. niwrap_afni/afni/v_3d_tsgen.py +18 -1
  77. niwrap_afni/afni/v_3d_tsort.py +10 -1
  78. niwrap_afni/afni/v_3d_tstat.py +25 -15
  79. niwrap_afni/afni/v_3d_undump.py +10 -1
  80. niwrap_afni/afni/v_3d_warp.py +236 -2
  81. niwrap_afni/afni/v_3d_wilcoxon.py +9 -7
  82. niwrap_afni/afni/v_3dbucket.py +14 -1
  83. niwrap_afni/afni/v_3dcalc.py +1 -1
  84. niwrap_afni/afni/v_3dcopy.py +31 -3
  85. niwrap_afni/afni/v_3dmask_svd.py +99 -2
  86. niwrap_afni/afni/v__4_daverage.py +11 -2
  87. niwrap_afni/afni/v__afni_env.py +19 -1
  88. niwrap_afni/afni/v__afni_refacer_run.py +36 -1
  89. niwrap_afni/afni/v__build_afni_xlib.py +21 -1
  90. niwrap_afni/afni/v__chauffeur_afni.py +184 -2
  91. niwrap_afni/afni/v__command_globb.py +13 -7
  92. niwrap_afni/afni/v__compute_oc_weights.py +16 -1
  93. niwrap_afni/afni/v__deblank_file_names.py +13 -2
  94. niwrap_afni/afni/v__dice_metric.py +18 -14
  95. niwrap_afni/afni/v__djunct_edgy_align_check.py +82 -10
  96. niwrap_afni/afni/v__djunct_montage_coordinator.py +10 -1
  97. niwrap_afni/afni/v__get_afni_res.py +3 -2
  98. niwrap_afni/afni/v__grad_flip_test.py +38 -42
  99. niwrap_afni/afni/v__grayplot.py +34 -1
  100. niwrap_afni/afni/v__help_afni.py +63 -2
  101. niwrap_afni/afni/v__make_label_table.py +14 -1
  102. niwrap_afni/afni/v__no_ext.py +9 -2
  103. niwrap_afni/afni/v__reorder.py +10 -1
  104. niwrap_afni/afni/v__skull_strip_touch_up.py +10 -1
  105. niwrap_afni/afni/v__suma_make_spec_caret.py +62 -2
  106. niwrap_afni/afni/v__suma_make_spec_fs.py +180 -2
  107. niwrap_afni/afni/v__to_mni_qwarpar.py +21 -1
  108. niwrap_afni/afni/v__to_rai.py +23 -7
  109. {niwrap_afni-0.5.1.dist-info → niwrap_afni-0.5.3.dist-info}/METADATA +1 -1
  110. {niwrap_afni-0.5.1.dist-info → niwrap_afni-0.5.3.dist-info}/RECORD +111 -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="5a16d2bee46238f64451cbe6e0fea267dd5ecf53.boutiques",
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("[OPTIONS]")
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
- cargs.append(execution.input_file(params.get("xyzfile")))
108
- cargs.append(">")
109
- cargs.append("[OUTPUT_FILE]")
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("[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
 
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  V_3D_OVERLAP_METADATA = Metadata(
9
- id="a1bc040d8dc7e5b89536a75a10ba6ad55a1ecc95.boutiques",
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("[SAVE_PREFIX]+orig.BRIK"),
125
- output_head=execution.output_file("[SAVE_PREFIX]+orig.HEAD"),
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="955afce507c339e4fbf43caaf056ad39a659f439.boutiques",
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
 
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  V_3D_PFM_METADATA = Metadata(
9
- id="c5e5e30b454a1a81f02535de2e794be7d716492a.boutiques",
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.append("[PARAMETERS]")
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