niwrap-afni 0.5.1__py3-none-any.whl → 0.5.2__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.2.dist-info}/METADATA +1 -1
  110. {niwrap_afni-0.5.1.dist-info → niwrap_afni-0.5.2.dist-info}/RECORD +111 -111
  111. {niwrap_afni-0.5.1.dist-info → niwrap_afni-0.5.2.dist-info}/WHEEL +0 -0
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  V_1D_SEM_METADATA = Metadata(
9
- id="22951ac5931e28304cde031a44c651e57c4e4a1e.boutiques",
9
+ id="a26930914a15136a68f2004d57838df7d226dcb0.boutiques",
10
10
  name="1dSEM",
11
11
  package="afni",
12
12
  container_image_tag="afni/afni_make_build:AFNI_24.2.06",
@@ -19,6 +19,18 @@ V1dSemParameters = typing.TypedDict('V1dSemParameters', {
19
19
  "correlation_matrix": InputPathType,
20
20
  "residual_variance": InputPathType,
21
21
  "degrees_of_freedom": float,
22
+ "max_iterations": typing.NotRequired[int | None],
23
+ "number_random_trials": typing.NotRequired[int | None],
24
+ "limits": typing.NotRequired[list[float] | None],
25
+ "calculate_cost": bool,
26
+ "verbose": typing.NotRequired[int | None],
27
+ "tree_growth": bool,
28
+ "model_search": bool,
29
+ "max_paths": typing.NotRequired[int | None],
30
+ "stop_cost": typing.NotRequired[float | None],
31
+ "forest_growth": bool,
32
+ "grow_all": bool,
33
+ "leafpicker": bool,
22
34
  })
23
35
 
24
36
 
@@ -69,6 +81,18 @@ def v_1d_sem_params(
69
81
  correlation_matrix: InputPathType,
70
82
  residual_variance: InputPathType,
71
83
  degrees_of_freedom: float,
84
+ max_iterations: int | None = None,
85
+ number_random_trials: int | None = None,
86
+ limits: list[float] | None = None,
87
+ calculate_cost: bool = False,
88
+ verbose: int | None = None,
89
+ tree_growth: bool = False,
90
+ model_search: bool = False,
91
+ max_paths: int | None = None,
92
+ stop_cost: float | None = None,
93
+ forest_growth: bool = False,
94
+ grow_all: bool = False,
95
+ leafpicker: bool = False,
72
96
  ) -> V1dSemParameters:
73
97
  """
74
98
  Build parameters.
@@ -78,6 +102,30 @@ def v_1d_sem_params(
78
102
  correlation_matrix: Correlation matrix 1D file.
79
103
  residual_variance: Residual variance vector 1D file.
80
104
  degrees_of_freedom: Degrees of freedom.
105
+ max_iterations: Maximum number of iterations for convergence\
106
+ (Default=10000). Values can range from 1 to any positive integer less\
107
+ than 10000.
108
+ number_random_trials: Number of random trials before optimization\
109
+ (Default = 100).
110
+ limits: Lower and upper limits for connection coefficients (Default =\
111
+ -1.0 to 1.0).
112
+ calculate_cost: No modeling at all, just calculate the cost function\
113
+ for the coefficients as given in the theta file.
114
+ verbose: Print info every nnnnn steps.
115
+ tree_growth: Search for best model by growing a model for one\
116
+ additional coefficient from the previous model for n-1 coefficients.
117
+ model_search: Search for best model by growing a model for one\
118
+ additional coefficient from the previous model for n-1 coefficients.
119
+ max_paths: Maximum number of paths to include (Default = 1000).
120
+ stop_cost: Stop searching for paths when cost function is below this\
121
+ value (Default = 0.1).
122
+ forest_growth: Search over all possible models by comparing models at\
123
+ incrementally increasing number of path coefficients.
124
+ grow_all: Search over all possible models by comparing models at\
125
+ incrementally increasing number of path coefficients.
126
+ leafpicker: Expands the search optimization to look at multiple paths\
127
+ to avoid local minimum. This method is the default technique for tree\
128
+ growth and standard coefficient searches.
81
129
  Returns:
82
130
  Parameter dictionary
83
131
  """
@@ -87,7 +135,25 @@ def v_1d_sem_params(
87
135
  "correlation_matrix": correlation_matrix,
88
136
  "residual_variance": residual_variance,
89
137
  "degrees_of_freedom": degrees_of_freedom,
138
+ "calculate_cost": calculate_cost,
139
+ "tree_growth": tree_growth,
140
+ "model_search": model_search,
141
+ "forest_growth": forest_growth,
142
+ "grow_all": grow_all,
143
+ "leafpicker": leafpicker,
90
144
  }
145
+ if max_iterations is not None:
146
+ params["max_iterations"] = max_iterations
147
+ if number_random_trials is not None:
148
+ params["number_random_trials"] = number_random_trials
149
+ if limits is not None:
150
+ params["limits"] = limits
151
+ if verbose is not None:
152
+ params["verbose"] = verbose
153
+ if max_paths is not None:
154
+ params["max_paths"] = max_paths
155
+ if stop_cost is not None:
156
+ params["stop_cost"] = stop_cost
91
157
  return params
92
158
 
93
159
 
@@ -122,7 +188,48 @@ def v_1d_sem_cargs(
122
188
  "-DF",
123
189
  str(params.get("degrees_of_freedom"))
124
190
  ])
125
- cargs.append("[OPTIONS]")
191
+ if params.get("max_iterations") is not None:
192
+ cargs.extend([
193
+ "-max_iter",
194
+ str(params.get("max_iterations"))
195
+ ])
196
+ if params.get("number_random_trials") is not None:
197
+ cargs.extend([
198
+ "-nrand",
199
+ str(params.get("number_random_trials"))
200
+ ])
201
+ if params.get("limits") is not None:
202
+ cargs.extend([
203
+ "-limits",
204
+ *map(str, params.get("limits"))
205
+ ])
206
+ if params.get("calculate_cost"):
207
+ cargs.append("-calccost")
208
+ if params.get("verbose") is not None:
209
+ cargs.extend([
210
+ "-verbose",
211
+ str(params.get("verbose"))
212
+ ])
213
+ if params.get("tree_growth"):
214
+ cargs.append("-tree_growth")
215
+ if params.get("model_search"):
216
+ cargs.append("-model_search")
217
+ if params.get("max_paths") is not None:
218
+ cargs.extend([
219
+ "-max_paths",
220
+ str(params.get("max_paths"))
221
+ ])
222
+ if params.get("stop_cost") is not None:
223
+ cargs.extend([
224
+ "-stop_cost",
225
+ str(params.get("stop_cost"))
226
+ ])
227
+ if params.get("forest_growth"):
228
+ cargs.append("-forest_growth")
229
+ if params.get("grow_all"):
230
+ cargs.append("-grow_all")
231
+ if params.get("leafpicker"):
232
+ cargs.append("-leafpicker")
126
233
  return cargs
127
234
 
128
235
 
@@ -176,6 +283,18 @@ def v_1d_sem(
176
283
  correlation_matrix: InputPathType,
177
284
  residual_variance: InputPathType,
178
285
  degrees_of_freedom: float,
286
+ max_iterations: int | None = None,
287
+ number_random_trials: int | None = None,
288
+ limits: list[float] | None = None,
289
+ calculate_cost: bool = False,
290
+ verbose: int | None = None,
291
+ tree_growth: bool = False,
292
+ model_search: bool = False,
293
+ max_paths: int | None = None,
294
+ stop_cost: float | None = None,
295
+ forest_growth: bool = False,
296
+ grow_all: bool = False,
297
+ leafpicker: bool = False,
179
298
  runner: Runner | None = None,
180
299
  ) -> V1dSemOutputs:
181
300
  """
@@ -191,6 +310,30 @@ def v_1d_sem(
191
310
  correlation_matrix: Correlation matrix 1D file.
192
311
  residual_variance: Residual variance vector 1D file.
193
312
  degrees_of_freedom: Degrees of freedom.
313
+ max_iterations: Maximum number of iterations for convergence\
314
+ (Default=10000). Values can range from 1 to any positive integer less\
315
+ than 10000.
316
+ number_random_trials: Number of random trials before optimization\
317
+ (Default = 100).
318
+ limits: Lower and upper limits for connection coefficients (Default =\
319
+ -1.0 to 1.0).
320
+ calculate_cost: No modeling at all, just calculate the cost function\
321
+ for the coefficients as given in the theta file.
322
+ verbose: Print info every nnnnn steps.
323
+ tree_growth: Search for best model by growing a model for one\
324
+ additional coefficient from the previous model for n-1 coefficients.
325
+ model_search: Search for best model by growing a model for one\
326
+ additional coefficient from the previous model for n-1 coefficients.
327
+ max_paths: Maximum number of paths to include (Default = 1000).
328
+ stop_cost: Stop searching for paths when cost function is below this\
329
+ value (Default = 0.1).
330
+ forest_growth: Search over all possible models by comparing models at\
331
+ incrementally increasing number of path coefficients.
332
+ grow_all: Search over all possible models by comparing models at\
333
+ incrementally increasing number of path coefficients.
334
+ leafpicker: Expands the search optimization to look at multiple paths\
335
+ to avoid local minimum. This method is the default technique for tree\
336
+ growth and standard coefficient searches.
194
337
  runner: Command runner.
195
338
  Returns:
196
339
  NamedTuple of outputs (described in `V1dSemOutputs`).
@@ -202,6 +345,18 @@ def v_1d_sem(
202
345
  correlation_matrix=correlation_matrix,
203
346
  residual_variance=residual_variance,
204
347
  degrees_of_freedom=degrees_of_freedom,
348
+ max_iterations=max_iterations,
349
+ number_random_trials=number_random_trials,
350
+ limits=limits,
351
+ calculate_cost=calculate_cost,
352
+ verbose=verbose,
353
+ tree_growth=tree_growth,
354
+ model_search=model_search,
355
+ max_paths=max_paths,
356
+ stop_cost=stop_cost,
357
+ forest_growth=forest_growth,
358
+ grow_all=grow_all,
359
+ leafpicker=leafpicker,
205
360
  )
206
361
  return v_1d_sem_execute(params, execution)
207
362
 
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  V_1D_TSORT_METADATA = Metadata(
9
- id="731309e5236007bd69df120b6a0494a5de798eeb.boutiques",
9
+ id="f4d144dd2a33cb2a0c2516cb757ba2a8c82c7262.boutiques",
10
10
  name="1dTsort",
11
11
  package="afni",
12
12
  container_image_tag="afni/afni_make_build:AFNI_24.2.06",
@@ -15,6 +15,7 @@ V_1D_TSORT_METADATA = Metadata(
15
15
 
16
16
  V1dTsortParameters = typing.TypedDict('V1dTsortParameters', {
17
17
  "__STYX_TYPE__": typing.Literal["1dTsort"],
18
+ "inc_order": bool,
18
19
  "dec_order": bool,
19
20
  "transpose": bool,
20
21
  "column": typing.NotRequired[float | None],
@@ -64,6 +65,7 @@ class V1dTsortOutputs(typing.NamedTuple):
64
65
 
65
66
  def v_1d_tsort_params(
66
67
  infile: InputPathType,
68
+ inc_order: bool = False,
67
69
  dec_order: bool = False,
68
70
  transpose: bool = False,
69
71
  column: float | None = None,
@@ -74,6 +76,7 @@ def v_1d_tsort_params(
74
76
 
75
77
  Args:
76
78
  infile: Input 1D file to be sorted.
79
+ inc_order: Sort into increasing order [default].
77
80
  dec_order: Sort into decreasing order.
78
81
  transpose: Transpose the file before output.
79
82
  column: Sort only on column #j (counting starts at 0), and carry the\
@@ -85,6 +88,7 @@ def v_1d_tsort_params(
85
88
  """
86
89
  params = {
87
90
  "__STYXTYPE__": "1dTsort",
91
+ "inc_order": inc_order,
88
92
  "dec_order": dec_order,
89
93
  "transpose": transpose,
90
94
  "imode": imode,
@@ -110,6 +114,8 @@ def v_1d_tsort_cargs(
110
114
  """
111
115
  cargs = []
112
116
  cargs.append("1dTsort")
117
+ if params.get("inc_order"):
118
+ cargs.append("-inc")
113
119
  if params.get("dec_order"):
114
120
  cargs.append("-dec")
115
121
  if params.get("transpose"):
@@ -170,6 +176,7 @@ def v_1d_tsort_execute(
170
176
 
171
177
  def v_1d_tsort(
172
178
  infile: InputPathType,
179
+ inc_order: bool = False,
173
180
  dec_order: bool = False,
174
181
  transpose: bool = False,
175
182
  column: float | None = None,
@@ -185,6 +192,7 @@ def v_1d_tsort(
185
192
 
186
193
  Args:
187
194
  infile: Input 1D file to be sorted.
195
+ inc_order: Sort into increasing order [default].
188
196
  dec_order: Sort into decreasing order.
189
197
  transpose: Transpose the file before output.
190
198
  column: Sort only on column #j (counting starts at 0), and carry the\
@@ -198,6 +206,7 @@ def v_1d_tsort(
198
206
  runner = runner or get_global_runner()
199
207
  execution = runner.start_execution(V_1D_TSORT_METADATA)
200
208
  params = v_1d_tsort_params(
209
+ inc_order=inc_order,
201
210
  dec_order=dec_order,
202
211
  transpose=transpose,
203
212
  column=column,
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  V_1DDOT_METADATA = Metadata(
9
- id="89e3bea294b27fb22b4f6d2f28db83dbf8daea66.boutiques",
9
+ id="3b57cf09716c42dc28cccea1c8b49a4f626abd0b.boutiques",
10
10
  name="1ddot",
11
11
  package="afni",
12
12
  container_image_tag="afni/afni_make_build:AFNI_24.2.06",
@@ -64,6 +64,8 @@ class V1ddotOutputs(typing.NamedTuple):
64
64
  """
65
65
  root: OutputPathType
66
66
  """Output root folder. This is the root folder for all outputs."""
67
+ stdout: list[str]
68
+ """output text file"""
67
69
  stdout_output: OutputPathType
68
70
  """Output correlation or covariance matrix printed to stdout."""
69
71
 
@@ -140,8 +142,6 @@ def v_1ddot_cargs(
140
142
  if params.get("okzero_flag"):
141
143
  cargs.append("-okzero")
142
144
  cargs.extend([execution.input_file(f) for f in params.get("input_files")])
143
- cargs.append(">")
144
- cargs.append("stdout.txt")
145
145
  return cargs
146
146
 
147
147
 
@@ -160,6 +160,7 @@ def v_1ddot_outputs(
160
160
  """
161
161
  ret = V1ddotOutputs(
162
162
  root=execution.output_file("."),
163
+ stdout=[],
163
164
  stdout_output=execution.output_file("stdout.txt"),
164
165
  )
165
166
  return ret
@@ -186,7 +187,7 @@ def v_1ddot_execute(
186
187
  params = execution.params(params)
187
188
  cargs = v_1ddot_cargs(params, execution)
188
189
  ret = v_1ddot_outputs(params, execution)
189
- execution.run(cargs)
190
+ execution.run(cargs, handle_stdout=lambda s: ret.stdout.append(s))
190
191
  return ret
191
192
 
192
193
 
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  V_1DEVAL_METADATA = Metadata(
9
- id="da64e5acb6bc6cd359ef137e00f938392ac2b5e3.boutiques",
9
+ id="4d289385c575fb0e342e48148cb17a3c5cbf7c68.boutiques",
10
10
  name="1deval",
11
11
  package="afni",
12
12
  container_image_tag="afni/afni_make_build:AFNI_24.2.06",
@@ -21,6 +21,7 @@ V1devalParameters = typing.TypedDict('V1devalParameters', {
21
21
  "index": typing.NotRequired[InputPathType | None],
22
22
  "1D": bool,
23
23
  "symbols": typing.NotRequired[list[InputPathType] | None],
24
+ "symbol_values": typing.NotRequired[list[str] | None],
24
25
  "expression": str,
25
26
  })
26
27
 
@@ -75,6 +76,7 @@ def v_1deval_params(
75
76
  index: InputPathType | None = None,
76
77
  v_1_d: bool = False,
77
78
  symbols: list[InputPathType] | None = None,
79
+ symbol_values: list[str] | None = None,
78
80
  ) -> V1devalParameters:
79
81
  """
80
82
  Build parameters.
@@ -92,6 +94,8 @@ def v_1deval_params(
92
94
  input on the command line of another program.
93
95
  symbols: Read time series file and assign it to the symbol 'a'. Letters\
94
96
  'a' to 'z' may be used as symbols.
97
+ symbol_values: Assign a fixed numerical value to the symbol 'a'.\
98
+ Letters 'a' to 'z' may be used as symbols.
95
99
  Returns:
96
100
  Parameter dictionary
97
101
  """
@@ -110,6 +114,8 @@ def v_1deval_params(
110
114
  params["index"] = index
111
115
  if symbols is not None:
112
116
  params["symbols"] = symbols
117
+ if symbol_values is not None:
118
+ params["symbol_values"] = symbol_values
113
119
  return params
114
120
 
115
121
 
@@ -155,6 +161,11 @@ def v_1deval_cargs(
155
161
  "-a",
156
162
  *[execution.input_file(f) for f in params.get("symbols")]
157
163
  ])
164
+ if params.get("symbol_values") is not None:
165
+ cargs.extend([
166
+ "-a=",
167
+ *params.get("symbol_values")
168
+ ])
158
169
  cargs.extend([
159
170
  "-expr",
160
171
  params.get("expression")
@@ -215,6 +226,7 @@ def v_1deval(
215
226
  index: InputPathType | None = None,
216
227
  v_1_d: bool = False,
217
228
  symbols: list[InputPathType] | None = None,
229
+ symbol_values: list[str] | None = None,
218
230
  runner: Runner | None = None,
219
231
  ) -> V1devalOutputs:
220
232
  """
@@ -238,6 +250,8 @@ def v_1deval(
238
250
  input on the command line of another program.
239
251
  symbols: Read time series file and assign it to the symbol 'a'. Letters\
240
252
  'a' to 'z' may be used as symbols.
253
+ symbol_values: Assign a fixed numerical value to the symbol 'a'.\
254
+ Letters 'a' to 'z' may be used as symbols.
241
255
  runner: Command runner.
242
256
  Returns:
243
257
  NamedTuple of outputs (described in `V1devalOutputs`).
@@ -251,6 +265,7 @@ def v_1deval(
251
265
  index=index,
252
266
  v_1_d=v_1_d,
253
267
  symbols=symbols,
268
+ symbol_values=symbol_values,
254
269
  expression=expression,
255
270
  )
256
271
  return v_1deval_execute(params, execution)
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  V_1DGEN_ARMA11_METADATA = Metadata(
9
- id="9fce1559df8cc31e0d2c99d44319f7a47b38ba76.boutiques",
9
+ id="db531d2478af899030ee6f05096f794916316ef9.boutiques",
10
10
  name="1dgenARMA11",
11
11
  package="afni",
12
12
  container_image_tag="afni/afni_make_build:AFNI_24.2.06",
@@ -15,6 +15,7 @@ V_1DGEN_ARMA11_METADATA = Metadata(
15
15
 
16
16
  V1dgenArma11Parameters = typing.TypedDict('V1dgenArma11Parameters', {
17
17
  "__STYX_TYPE__": typing.Literal["1dgenARMA11"],
18
+ "length": typing.NotRequired[float | None],
18
19
  "length_alt": typing.NotRequired[float | None],
19
20
  "num_series": typing.NotRequired[float | None],
20
21
  "param_a": typing.NotRequired[float | None],
@@ -72,6 +73,7 @@ class V1dgenArma11Outputs(typing.NamedTuple):
72
73
 
73
74
 
74
75
  def v_1dgen_arma11_params(
76
+ length: float | None = None,
75
77
  length_alt: float | None = None,
76
78
  num_series: float | None = None,
77
79
  param_a: float | None = None,
@@ -88,6 +90,8 @@ def v_1dgen_arma11_params(
88
90
  Build parameters.
89
91
 
90
92
  Args:
93
+ length: Specify the length of the time series vector to generate\
94
+ (equivalent to -len option).
91
95
  length_alt: Specify the length of the time series vector to generate\
92
96
  (equivalent to -num option).
93
97
  num_series: The number of time series vectors to generate; defaults to\
@@ -111,6 +115,8 @@ def v_1dgen_arma11_params(
111
115
  "__STYXTYPE__": "1dgenARMA11",
112
116
  "normalize": normalize,
113
117
  }
118
+ if length is not None:
119
+ params["length"] = length
114
120
  if length_alt is not None:
115
121
  params["length_alt"] = length_alt
116
122
  if num_series is not None:
@@ -149,6 +155,11 @@ def v_1dgen_arma11_cargs(
149
155
  """
150
156
  cargs = []
151
157
  cargs.append("1dgenARMA11")
158
+ if params.get("length") is not None:
159
+ cargs.extend([
160
+ "-num",
161
+ str(params.get("length"))
162
+ ])
152
163
  if params.get("length_alt") is not None:
153
164
  cargs.extend([
154
165
  "-len",
@@ -250,6 +261,7 @@ def v_1dgen_arma11_execute(
250
261
 
251
262
 
252
263
  def v_1dgen_arma11(
264
+ length: float | None = None,
253
265
  length_alt: float | None = None,
254
266
  num_series: float | None = None,
255
267
  param_a: float | None = None,
@@ -272,6 +284,8 @@ def v_1dgen_arma11(
272
284
  URL: https://afni.nimh.nih.gov/
273
285
 
274
286
  Args:
287
+ length: Specify the length of the time series vector to generate\
288
+ (equivalent to -len option).
275
289
  length_alt: Specify the length of the time series vector to generate\
276
290
  (equivalent to -num option).
277
291
  num_series: The number of time series vectors to generate; defaults to\
@@ -295,6 +309,7 @@ def v_1dgen_arma11(
295
309
  runner = runner or get_global_runner()
296
310
  execution = runner.start_execution(V_1DGEN_ARMA11_METADATA)
297
311
  params = v_1dgen_arma11_params(
312
+ length=length,
298
313
  length_alt=length_alt,
299
314
  num_series=num_series,
300
315
  param_a=param_a,
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  V_3_DROIMAKER_METADATA = Metadata(
9
- id="52994e672a5f137f27dbb8bbd59f66cee7093ffe.boutiques",
9
+ id="16b5bd8ed0bd228cb0f4654876f7baea2f4af429.boutiques",
10
10
  name="3DROIMaker",
11
11
  package="afni",
12
12
  container_image_tag="afni/afni_make_build:AFNI_24.2.06",
@@ -20,6 +20,7 @@ V3DroimakerParameters = typing.TypedDict('V3DroimakerParameters', {
20
20
  "prefix": str,
21
21
  "refset": typing.NotRequired[InputPathType | None],
22
22
  "volthr": typing.NotRequired[float | None],
23
+ "only_some_top": typing.NotRequired[float | None],
23
24
  "only_conn_top": typing.NotRequired[float | None],
24
25
  "inflate": typing.NotRequired[float | None],
25
26
  "trim_off_wm": bool,
@@ -89,6 +90,7 @@ def v_3_droimaker_params(
89
90
  prefix: str,
90
91
  refset: InputPathType | None = None,
91
92
  volthr: float | None = None,
93
+ only_some_top: float | None = None,
92
94
  only_conn_top: float | None = None,
93
95
  inflate: float | None = None,
94
96
  trim_off_wm: bool = False,
@@ -118,6 +120,8 @@ def v_3_droimaker_params(
118
120
  which to label specific GM ROIs after thresholding.
119
121
  volthr: Minimum size a cluster of voxels must have in order to remain a\
120
122
  GM ROI after thresholding. Can reduce 'noisy' clusters.
123
+ only_some_top: Restrict each found region to keep only N voxels with\
124
+ the highest inset values.
121
125
  only_conn_top: Select N max contiguous voxels in a region starting from\
122
126
  peak voxel and expanding.
123
127
  inflate: Number of voxels to pad each found ROI in order to turn GM\
@@ -161,6 +165,8 @@ def v_3_droimaker_params(
161
165
  params["refset"] = refset
162
166
  if volthr is not None:
163
167
  params["volthr"] = volthr
168
+ if only_some_top is not None:
169
+ params["only_some_top"] = only_some_top
164
170
  if only_conn_top is not None:
165
171
  params["only_conn_top"] = only_conn_top
166
172
  if inflate is not None:
@@ -214,6 +220,11 @@ def v_3_droimaker_cargs(
214
220
  "-volthr",
215
221
  str(params.get("volthr"))
216
222
  ])
223
+ if params.get("only_some_top") is not None:
224
+ cargs.extend([
225
+ "-only_some_top",
226
+ str(params.get("only_some_top"))
227
+ ])
217
228
  if params.get("only_conn_top") is not None:
218
229
  cargs.extend([
219
230
  "-only_conn_top",
@@ -321,6 +332,7 @@ def v_3_droimaker(
321
332
  prefix: str,
322
333
  refset: InputPathType | None = None,
323
334
  volthr: float | None = None,
335
+ only_some_top: float | None = None,
324
336
  only_conn_top: float | None = None,
325
337
  inflate: float | None = None,
326
338
  trim_off_wm: bool = False,
@@ -356,6 +368,8 @@ def v_3_droimaker(
356
368
  which to label specific GM ROIs after thresholding.
357
369
  volthr: Minimum size a cluster of voxels must have in order to remain a\
358
370
  GM ROI after thresholding. Can reduce 'noisy' clusters.
371
+ only_some_top: Restrict each found region to keep only N voxels with\
372
+ the highest inset values.
359
373
  only_conn_top: Select N max contiguous voxels in a region starting from\
360
374
  peak voxel and expanding.
361
375
  inflate: Number of voxels to pad each found ROI in order to turn GM\
@@ -392,6 +406,7 @@ def v_3_droimaker(
392
406
  prefix=prefix,
393
407
  refset=refset,
394
408
  volthr=volthr,
409
+ only_some_top=only_some_top,
395
410
  only_conn_top=only_conn_top,
396
411
  inflate=inflate,
397
412
  trim_off_wm=trim_off_wm,
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  V_3D_AFNITO3_D_METADATA = Metadata(
9
- id="51230e7f67f1e0eb607573872e1507d7fe45f41a.boutiques",
9
+ id="2e56ef52ac7f3be262fb2b8e920d983be907904e.boutiques",
10
10
  name="3dAFNIto3D",
11
11
  package="afni",
12
12
  container_image_tag="afni/afni_make_build:AFNI_24.2.06",
@@ -16,6 +16,9 @@ V_3D_AFNITO3_D_METADATA = Metadata(
16
16
  V3dAfnito3DParameters = typing.TypedDict('V3dAfnito3DParameters', {
17
17
  "__STYX_TYPE__": typing.Literal["3dAFNIto3D"],
18
18
  "dataset": InputPathType,
19
+ "prefix": typing.NotRequired[str | None],
20
+ "binary": bool,
21
+ "text": bool,
19
22
  })
20
23
 
21
24
 
@@ -57,25 +60,35 @@ class V3dAfnito3DOutputs(typing.NamedTuple):
57
60
  """
58
61
  root: OutputPathType
59
62
  """Output root folder. This is the root folder for all outputs."""
60
- outfile: OutputPathType
63
+ outfile: OutputPathType | None
61
64
  """Output 3D file, either in binary or text format"""
62
65
 
63
66
 
64
67
  def v_3d_afnito3_d_params(
65
68
  dataset: InputPathType,
69
+ prefix: str | None = None,
70
+ binary: bool = False,
71
+ text: bool = False,
66
72
  ) -> V3dAfnito3DParameters:
67
73
  """
68
74
  Build parameters.
69
75
 
70
76
  Args:
71
77
  dataset: AFNI dataset to be converted.
78
+ prefix: Write result into file with specified prefix.
79
+ binary: Write data in binary format.
80
+ text: Write data in text format.
72
81
  Returns:
73
82
  Parameter dictionary
74
83
  """
75
84
  params = {
76
85
  "__STYXTYPE__": "3dAFNIto3D",
77
86
  "dataset": dataset,
87
+ "binary": binary,
88
+ "text": text,
78
89
  }
90
+ if prefix is not None:
91
+ params["prefix"] = prefix
79
92
  return params
80
93
 
81
94
 
@@ -94,8 +107,16 @@ def v_3d_afnito3_d_cargs(
94
107
  """
95
108
  cargs = []
96
109
  cargs.append("3dAFNIto3D")
97
- cargs.append("[OPTIONS]")
98
110
  cargs.append(execution.input_file(params.get("dataset")))
111
+ if params.get("prefix") is not None:
112
+ cargs.extend([
113
+ "-prefix",
114
+ params.get("prefix")
115
+ ])
116
+ if params.get("binary"):
117
+ cargs.append("-bin")
118
+ if params.get("text"):
119
+ cargs.append("-txt")
99
120
  return cargs
100
121
 
101
122
 
@@ -114,7 +135,7 @@ def v_3d_afnito3_d_outputs(
114
135
  """
115
136
  ret = V3dAfnito3DOutputs(
116
137
  root=execution.output_file("."),
117
- outfile=execution.output_file("[PREFIX].3D"),
138
+ outfile=execution.output_file(params.get("prefix") + ".3D") if (params.get("prefix") is not None) else None,
118
139
  )
119
140
  return ret
120
141
 
@@ -145,6 +166,9 @@ def v_3d_afnito3_d_execute(
145
166
 
146
167
  def v_3d_afnito3_d(
147
168
  dataset: InputPathType,
169
+ prefix: str | None = None,
170
+ binary: bool = False,
171
+ text: bool = False,
148
172
  runner: Runner | None = None,
149
173
  ) -> V3dAfnito3DOutputs:
150
174
  """
@@ -156,6 +180,9 @@ def v_3d_afnito3_d(
156
180
 
157
181
  Args:
158
182
  dataset: AFNI dataset to be converted.
183
+ prefix: Write result into file with specified prefix.
184
+ binary: Write data in binary format.
185
+ text: Write data in text format.
159
186
  runner: Command runner.
160
187
  Returns:
161
188
  NamedTuple of outputs (described in `V3dAfnito3DOutputs`).
@@ -164,6 +191,9 @@ def v_3d_afnito3_d(
164
191
  execution = runner.start_execution(V_3D_AFNITO3_D_METADATA)
165
192
  params = v_3d_afnito3_d_params(
166
193
  dataset=dataset,
194
+ prefix=prefix,
195
+ binary=binary,
196
+ text=text,
167
197
  )
168
198
  return v_3d_afnito3_d_execute(params, execution)
169
199