niwrap-mrtrix 0.5.0__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-mrtrix might be problematic. Click here for more details.

Files changed (119) hide show
  1. niwrap_mrtrix/mrtrix/__init__.py +130 -0
  2. niwrap_mrtrix/mrtrix/afdconnectivity.py +445 -0
  3. niwrap_mrtrix/mrtrix/amp2response.py +453 -0
  4. niwrap_mrtrix/mrtrix/amp2sh.py +656 -0
  5. niwrap_mrtrix/mrtrix/connectome2tck.py +470 -0
  6. niwrap_mrtrix/mrtrix/connectomeedit.py +338 -0
  7. niwrap_mrtrix/mrtrix/connectomestats.py +767 -0
  8. niwrap_mrtrix/mrtrix/dcmedit.py +440 -0
  9. niwrap_mrtrix/mrtrix/dcminfo.py +416 -0
  10. niwrap_mrtrix/mrtrix/dirflip.py +362 -0
  11. niwrap_mrtrix/mrtrix/dirgen.py +423 -0
  12. niwrap_mrtrix/mrtrix/dirmerge.py +365 -0
  13. niwrap_mrtrix/mrtrix/dirorder.py +347 -0
  14. niwrap_mrtrix/mrtrix/dirsplit.py +358 -0
  15. niwrap_mrtrix/mrtrix/dirstat.py +530 -0
  16. niwrap_mrtrix/mrtrix/dwi2adc.py +428 -0
  17. niwrap_mrtrix/mrtrix/dwi2fod.py +879 -0
  18. niwrap_mrtrix/mrtrix/dwi2mask.py +463 -0
  19. niwrap_mrtrix/mrtrix/dwi2response.py +1295 -0
  20. niwrap_mrtrix/mrtrix/dwi2tensor.py +587 -0
  21. niwrap_mrtrix/mrtrix/dwibiascorrect.py +467 -0
  22. niwrap_mrtrix/mrtrix/dwidenoise.py +478 -0
  23. niwrap_mrtrix/mrtrix/dwiextract.py +825 -0
  24. niwrap_mrtrix/mrtrix/dwigradcheck.py +534 -0
  25. niwrap_mrtrix/mrtrix/fixel2peaks.py +452 -0
  26. niwrap_mrtrix/mrtrix/fixel2sh.py +357 -0
  27. niwrap_mrtrix/mrtrix/fixel2tsf.py +357 -0
  28. niwrap_mrtrix/mrtrix/fixel2voxel.py +437 -0
  29. niwrap_mrtrix/mrtrix/fixelcfestats.py +893 -0
  30. niwrap_mrtrix/mrtrix/fixelconnectivity.py +391 -0
  31. niwrap_mrtrix/mrtrix/fixelconvert.py +588 -0
  32. niwrap_mrtrix/mrtrix/fixelcorrespondence.py +371 -0
  33. niwrap_mrtrix/mrtrix/fixelcrop.py +348 -0
  34. niwrap_mrtrix/mrtrix/fixelfilter.py +616 -0
  35. niwrap_mrtrix/mrtrix/fixelreorient.py +361 -0
  36. niwrap_mrtrix/mrtrix/fod2dec.py +469 -0
  37. niwrap_mrtrix/mrtrix/fod2fixel.py +530 -0
  38. niwrap_mrtrix/mrtrix/label2colour.py +351 -0
  39. niwrap_mrtrix/mrtrix/label2mesh.py +343 -0
  40. niwrap_mrtrix/mrtrix/labelconvert.py +377 -0
  41. niwrap_mrtrix/mrtrix/labelstats.py +344 -0
  42. niwrap_mrtrix/mrtrix/maskdump.py +336 -0
  43. niwrap_mrtrix/mrtrix/maskfilter.py +537 -0
  44. niwrap_mrtrix/mrtrix/mesh2voxel.py +348 -0
  45. niwrap_mrtrix/mrtrix/meshconvert.py +410 -0
  46. niwrap_mrtrix/mrtrix/meshfilter.py +370 -0
  47. niwrap_mrtrix/mrtrix/mraverageheader.py +396 -0
  48. niwrap_mrtrix/mrtrix/mrcalc.py +3047 -0
  49. niwrap_mrtrix/mrtrix/mrcat.py +382 -0
  50. niwrap_mrtrix/mrtrix/mrcentroid.py +344 -0
  51. niwrap_mrtrix/mrtrix/mrcheckerboardmask.py +363 -0
  52. niwrap_mrtrix/mrtrix/mrclusterstats.py +736 -0
  53. niwrap_mrtrix/mrtrix/mrcolour.py +401 -0
  54. niwrap_mrtrix/mrtrix/mrconvert.py +1423 -0
  55. niwrap_mrtrix/mrtrix/mrdegibbs.py +443 -0
  56. niwrap_mrtrix/mrtrix/mrdump.py +351 -0
  57. niwrap_mrtrix/mrtrix/mredit.py +546 -0
  58. niwrap_mrtrix/mrtrix/mrfilter.py +716 -0
  59. niwrap_mrtrix/mrtrix/mrgrid.py +819 -0
  60. niwrap_mrtrix/mrtrix/mrhistmatch.py +403 -0
  61. niwrap_mrtrix/mrtrix/mrhistogram.py +393 -0
  62. niwrap_mrtrix/mrtrix/mrinfo.py +990 -0
  63. niwrap_mrtrix/mrtrix/mrmath.py +413 -0
  64. niwrap_mrtrix/mrtrix/mrmetric.py +425 -0
  65. niwrap_mrtrix/mrtrix/mrregister.py +1676 -0
  66. niwrap_mrtrix/mrtrix/mrstats.py +427 -0
  67. niwrap_mrtrix/mrtrix/mrthreshold.py +549 -0
  68. niwrap_mrtrix/mrtrix/mrtransform.py +1061 -0
  69. niwrap_mrtrix/mrtrix/mtnormalise.py +596 -0
  70. niwrap_mrtrix/mrtrix/peaks2amp.py +334 -0
  71. niwrap_mrtrix/mrtrix/peaks2fixel.py +349 -0
  72. niwrap_mrtrix/mrtrix/responsemean.py +316 -0
  73. niwrap_mrtrix/mrtrix/sh2amp.py +640 -0
  74. niwrap_mrtrix/mrtrix/sh2peaks.py +505 -0
  75. niwrap_mrtrix/mrtrix/sh2power.py +353 -0
  76. niwrap_mrtrix/mrtrix/sh2response.py +394 -0
  77. niwrap_mrtrix/mrtrix/shbasis.py +373 -0
  78. niwrap_mrtrix/mrtrix/shconv.py +498 -0
  79. niwrap_mrtrix/mrtrix/tck2connectome.py +580 -0
  80. niwrap_mrtrix/mrtrix/tck2fixel.py +363 -0
  81. niwrap_mrtrix/mrtrix/tckconvert.py +580 -0
  82. niwrap_mrtrix/mrtrix/tckdfc.py +551 -0
  83. niwrap_mrtrix/mrtrix/tckedit.py +1003 -0
  84. niwrap_mrtrix/mrtrix/tckgen.py +1983 -0
  85. niwrap_mrtrix/mrtrix/tckglobal.py +758 -0
  86. niwrap_mrtrix/mrtrix/tckinfo.py +329 -0
  87. niwrap_mrtrix/mrtrix/tckmap.py +772 -0
  88. niwrap_mrtrix/mrtrix/tckresample.py +580 -0
  89. niwrap_mrtrix/mrtrix/tcksample.py +404 -0
  90. niwrap_mrtrix/mrtrix/tcksift.py +592 -0
  91. niwrap_mrtrix/mrtrix/tcksift2.py +730 -0
  92. niwrap_mrtrix/mrtrix/tckstats.py +441 -0
  93. niwrap_mrtrix/mrtrix/tcktransform.py +340 -0
  94. niwrap_mrtrix/mrtrix/tensor2metric.py +544 -0
  95. niwrap_mrtrix/mrtrix/transformcalc.py +344 -0
  96. niwrap_mrtrix/mrtrix/transformcompose.py +465 -0
  97. niwrap_mrtrix/mrtrix/transformconvert.py +346 -0
  98. niwrap_mrtrix/mrtrix/tsfdivide.py +340 -0
  99. niwrap_mrtrix/mrtrix/tsfinfo.py +344 -0
  100. niwrap_mrtrix/mrtrix/tsfmult.py +340 -0
  101. niwrap_mrtrix/mrtrix/tsfsmooth.py +347 -0
  102. niwrap_mrtrix/mrtrix/tsfthreshold.py +349 -0
  103. niwrap_mrtrix/mrtrix/tsfvalidate.py +328 -0
  104. niwrap_mrtrix/mrtrix/v_5tt2gmwmi.py +359 -0
  105. niwrap_mrtrix/mrtrix/v_5tt2vis.py +412 -0
  106. niwrap_mrtrix/mrtrix/v_5ttcheck.py +337 -0
  107. niwrap_mrtrix/mrtrix/v_5ttedit.py +420 -0
  108. niwrap_mrtrix/mrtrix/v_5ttgen.py +816 -0
  109. niwrap_mrtrix/mrtrix/vectorstats.py +585 -0
  110. niwrap_mrtrix/mrtrix/voxel2fixel.py +350 -0
  111. niwrap_mrtrix/mrtrix/voxel2mesh.py +376 -0
  112. niwrap_mrtrix/mrtrix/warp2metric.py +449 -0
  113. niwrap_mrtrix/mrtrix/warpconvert.py +411 -0
  114. niwrap_mrtrix/mrtrix/warpcorrect.py +368 -0
  115. niwrap_mrtrix/mrtrix/warpinit.py +356 -0
  116. niwrap_mrtrix/mrtrix/warpinvert.py +370 -0
  117. niwrap_mrtrix-0.5.0.dist-info/METADATA +8 -0
  118. niwrap_mrtrix-0.5.0.dist-info/RECORD +119 -0
  119. niwrap_mrtrix-0.5.0.dist-info/WHEEL +4 -0
@@ -0,0 +1,365 @@
1
+ # This file was auto generated by Styx.
2
+ # Do not edit this file directly.
3
+
4
+ import typing
5
+ import pathlib
6
+ from styxdefs import *
7
+
8
+ DIRMERGE_METADATA = Metadata(
9
+ id="92c50a190c4f14115f8c861044c931f1316999ca.boutiques",
10
+ name="dirmerge",
11
+ package="mrtrix",
12
+ container_image_tag="mrtrix3/mrtrix3:3.0.4",
13
+ )
14
+
15
+
16
+ DirmergeConfigParameters = typing.TypedDict('DirmergeConfigParameters', {
17
+ "__STYX_TYPE__": typing.Literal["config"],
18
+ "key": str,
19
+ "value": str,
20
+ })
21
+
22
+
23
+ DirmergeParameters = typing.TypedDict('DirmergeParameters', {
24
+ "__STYX_TYPE__": typing.Literal["dirmerge"],
25
+ "unipolar_weight": typing.NotRequired[float | None],
26
+ "info": bool,
27
+ "quiet": bool,
28
+ "debug": bool,
29
+ "force": bool,
30
+ "nthreads": typing.NotRequired[int | None],
31
+ "config": typing.NotRequired[list[DirmergeConfigParameters] | None],
32
+ "help": bool,
33
+ "version": bool,
34
+ "subsets": int,
35
+ "bvalue_files": list[str],
36
+ "out": str,
37
+ })
38
+
39
+
40
+ def dyn_cargs(
41
+ t: str,
42
+ ) -> typing.Any:
43
+ """
44
+ Get build cargs function by command type.
45
+
46
+ Args:
47
+ t: Command type.
48
+ Returns:
49
+ Build cargs function.
50
+ """
51
+ return {
52
+ "dirmerge": dirmerge_cargs,
53
+ "config": dirmerge_config_cargs,
54
+ }.get(t)
55
+
56
+
57
+ def dyn_outputs(
58
+ t: str,
59
+ ) -> typing.Any:
60
+ """
61
+ Get build outputs function by command type.
62
+
63
+ Args:
64
+ t: Command type.
65
+ Returns:
66
+ Build outputs function.
67
+ """
68
+ return {
69
+ "dirmerge": dirmerge_outputs,
70
+ }.get(t)
71
+
72
+
73
+ def dirmerge_config_params(
74
+ key: str,
75
+ value: str,
76
+ ) -> DirmergeConfigParameters:
77
+ """
78
+ Build parameters.
79
+
80
+ Args:
81
+ key: temporarily set the value of an MRtrix config file entry.
82
+ value: temporarily set the value of an MRtrix config file entry.
83
+ Returns:
84
+ Parameter dictionary
85
+ """
86
+ params = {
87
+ "__STYXTYPE__": "config",
88
+ "key": key,
89
+ "value": value,
90
+ }
91
+ return params
92
+
93
+
94
+ def dirmerge_config_cargs(
95
+ params: DirmergeConfigParameters,
96
+ execution: Execution,
97
+ ) -> list[str]:
98
+ """
99
+ Build command-line arguments from parameters.
100
+
101
+ Args:
102
+ params: The parameters.
103
+ execution: The execution object for resolving input paths.
104
+ Returns:
105
+ Command-line arguments.
106
+ """
107
+ cargs = []
108
+ cargs.append("-config")
109
+ cargs.append(params.get("key"))
110
+ cargs.append(params.get("value"))
111
+ return cargs
112
+
113
+
114
+ class DirmergeOutputs(typing.NamedTuple):
115
+ """
116
+ Output object returned when calling `dirmerge(...)`.
117
+ """
118
+ root: OutputPathType
119
+ """Output root folder. This is the root folder for all outputs."""
120
+ out: OutputPathType
121
+ """the output directions file, with each row listing the X Y Z gradient
122
+ directions, the b-value, and an index representing the phase encode
123
+ direction"""
124
+
125
+
126
+ def dirmerge_params(
127
+ subsets: int,
128
+ bvalue_files: list[str],
129
+ out: str,
130
+ unipolar_weight: float | None = None,
131
+ info: bool = False,
132
+ quiet: bool = False,
133
+ debug: bool = False,
134
+ force: bool = False,
135
+ nthreads: int | None = None,
136
+ config: list[DirmergeConfigParameters] | None = None,
137
+ help_: bool = False,
138
+ version: bool = False,
139
+ ) -> DirmergeParameters:
140
+ """
141
+ Build parameters.
142
+
143
+ Args:
144
+ subsets: the number of subsets (eg. phase encoding directions) per\
145
+ b-value.
146
+ bvalue_files: the b-value and sets of corresponding files, in order.
147
+ out: the output directions file, with each row listing the X Y Z\
148
+ gradient directions, the b-value, and an index representing the phase\
149
+ encode direction.
150
+ unipolar_weight: set the weight given to the unipolar electrostatic\
151
+ repulsion model compared to the bipolar model (default: 0.2).
152
+ info: display information messages.
153
+ quiet: do not display information messages or progress status;\
154
+ alternatively, this can be achieved by setting the MRTRIX_QUIET\
155
+ environment variable to a non-empty string.
156
+ debug: display debugging messages.
157
+ force: force overwrite of output files (caution: using the same file as\
158
+ input and output might cause unexpected behaviour).
159
+ nthreads: use this number of threads in multi-threaded applications\
160
+ (set to 0 to disable multi-threading).
161
+ config: temporarily set the value of an MRtrix config file entry.
162
+ help_: display this information page and exit.
163
+ version: display version information and exit.
164
+ Returns:
165
+ Parameter dictionary
166
+ """
167
+ params = {
168
+ "__STYXTYPE__": "dirmerge",
169
+ "info": info,
170
+ "quiet": quiet,
171
+ "debug": debug,
172
+ "force": force,
173
+ "help": help_,
174
+ "version": version,
175
+ "subsets": subsets,
176
+ "bvalue_files": bvalue_files,
177
+ "out": out,
178
+ }
179
+ if unipolar_weight is not None:
180
+ params["unipolar_weight"] = unipolar_weight
181
+ if nthreads is not None:
182
+ params["nthreads"] = nthreads
183
+ if config is not None:
184
+ params["config"] = config
185
+ return params
186
+
187
+
188
+ def dirmerge_cargs(
189
+ params: DirmergeParameters,
190
+ execution: Execution,
191
+ ) -> list[str]:
192
+ """
193
+ Build command-line arguments from parameters.
194
+
195
+ Args:
196
+ params: The parameters.
197
+ execution: The execution object for resolving input paths.
198
+ Returns:
199
+ Command-line arguments.
200
+ """
201
+ cargs = []
202
+ cargs.append("dirmerge")
203
+ if params.get("unipolar_weight") is not None:
204
+ cargs.extend([
205
+ "-unipolar_weight",
206
+ str(params.get("unipolar_weight"))
207
+ ])
208
+ if params.get("info"):
209
+ cargs.append("-info")
210
+ if params.get("quiet"):
211
+ cargs.append("-quiet")
212
+ if params.get("debug"):
213
+ cargs.append("-debug")
214
+ if params.get("force"):
215
+ cargs.append("-force")
216
+ if params.get("nthreads") is not None:
217
+ cargs.extend([
218
+ "-nthreads",
219
+ str(params.get("nthreads"))
220
+ ])
221
+ if params.get("config") is not None:
222
+ cargs.extend([a for c in [dyn_cargs(s["__STYXTYPE__"])(s, execution) for s in params.get("config")] for a in c])
223
+ if params.get("help"):
224
+ cargs.append("-help")
225
+ if params.get("version"):
226
+ cargs.append("-version")
227
+ cargs.append(str(params.get("subsets")))
228
+ cargs.extend(params.get("bvalue_files"))
229
+ cargs.append(params.get("out"))
230
+ return cargs
231
+
232
+
233
+ def dirmerge_outputs(
234
+ params: DirmergeParameters,
235
+ execution: Execution,
236
+ ) -> DirmergeOutputs:
237
+ """
238
+ Build outputs object containing output file paths and possibly stdout/stderr.
239
+
240
+ Args:
241
+ params: The parameters.
242
+ execution: The execution object for resolving input paths.
243
+ Returns:
244
+ Outputs object.
245
+ """
246
+ ret = DirmergeOutputs(
247
+ root=execution.output_file("."),
248
+ out=execution.output_file(params.get("out")),
249
+ )
250
+ return ret
251
+
252
+
253
+ def dirmerge_execute(
254
+ params: DirmergeParameters,
255
+ execution: Execution,
256
+ ) -> DirmergeOutputs:
257
+ """
258
+ Splice / merge multiple sets of directions in such a way as to maintain
259
+ near-optimality upon truncation.
260
+
261
+
262
+
263
+ References:
264
+
265
+ .
266
+
267
+ Author: MRTrix3 Developers
268
+
269
+ URL: https://www.mrtrix.org/
270
+
271
+ Args:
272
+ params: The parameters.
273
+ execution: The execution object.
274
+ Returns:
275
+ NamedTuple of outputs (described in `DirmergeOutputs`).
276
+ """
277
+ params = execution.params(params)
278
+ cargs = dirmerge_cargs(params, execution)
279
+ ret = dirmerge_outputs(params, execution)
280
+ execution.run(cargs)
281
+ return ret
282
+
283
+
284
+ def dirmerge(
285
+ subsets: int,
286
+ bvalue_files: list[str],
287
+ out: str,
288
+ unipolar_weight: float | None = None,
289
+ info: bool = False,
290
+ quiet: bool = False,
291
+ debug: bool = False,
292
+ force: bool = False,
293
+ nthreads: int | None = None,
294
+ config: list[DirmergeConfigParameters] | None = None,
295
+ help_: bool = False,
296
+ version: bool = False,
297
+ runner: Runner | None = None,
298
+ ) -> DirmergeOutputs:
299
+ """
300
+ Splice / merge multiple sets of directions in such a way as to maintain
301
+ near-optimality upon truncation.
302
+
303
+
304
+
305
+ References:
306
+
307
+ .
308
+
309
+ Author: MRTrix3 Developers
310
+
311
+ URL: https://www.mrtrix.org/
312
+
313
+ Args:
314
+ subsets: the number of subsets (eg. phase encoding directions) per\
315
+ b-value.
316
+ bvalue_files: the b-value and sets of corresponding files, in order.
317
+ out: the output directions file, with each row listing the X Y Z\
318
+ gradient directions, the b-value, and an index representing the phase\
319
+ encode direction.
320
+ unipolar_weight: set the weight given to the unipolar electrostatic\
321
+ repulsion model compared to the bipolar model (default: 0.2).
322
+ info: display information messages.
323
+ quiet: do not display information messages or progress status;\
324
+ alternatively, this can be achieved by setting the MRTRIX_QUIET\
325
+ environment variable to a non-empty string.
326
+ debug: display debugging messages.
327
+ force: force overwrite of output files (caution: using the same file as\
328
+ input and output might cause unexpected behaviour).
329
+ nthreads: use this number of threads in multi-threaded applications\
330
+ (set to 0 to disable multi-threading).
331
+ config: temporarily set the value of an MRtrix config file entry.
332
+ help_: display this information page and exit.
333
+ version: display version information and exit.
334
+ runner: Command runner.
335
+ Returns:
336
+ NamedTuple of outputs (described in `DirmergeOutputs`).
337
+ """
338
+ runner = runner or get_global_runner()
339
+ execution = runner.start_execution(DIRMERGE_METADATA)
340
+ params = dirmerge_params(
341
+ unipolar_weight=unipolar_weight,
342
+ info=info,
343
+ quiet=quiet,
344
+ debug=debug,
345
+ force=force,
346
+ nthreads=nthreads,
347
+ config=config,
348
+ help_=help_,
349
+ version=version,
350
+ subsets=subsets,
351
+ bvalue_files=bvalue_files,
352
+ out=out,
353
+ )
354
+ return dirmerge_execute(params, execution)
355
+
356
+
357
+ __all__ = [
358
+ "DIRMERGE_METADATA",
359
+ "DirmergeConfigParameters",
360
+ "DirmergeOutputs",
361
+ "DirmergeParameters",
362
+ "dirmerge",
363
+ "dirmerge_config_params",
364
+ "dirmerge_params",
365
+ ]
@@ -0,0 +1,347 @@
1
+ # This file was auto generated by Styx.
2
+ # Do not edit this file directly.
3
+
4
+ import typing
5
+ import pathlib
6
+ from styxdefs import *
7
+
8
+ DIRORDER_METADATA = Metadata(
9
+ id="822332bcb7593b804c24d6da3c7da0a1eb44ba1a.boutiques",
10
+ name="dirorder",
11
+ package="mrtrix",
12
+ container_image_tag="mrtrix3/mrtrix3:3.0.4",
13
+ )
14
+
15
+
16
+ DirorderConfigParameters = typing.TypedDict('DirorderConfigParameters', {
17
+ "__STYX_TYPE__": typing.Literal["config"],
18
+ "key": str,
19
+ "value": str,
20
+ })
21
+
22
+
23
+ DirorderParameters = typing.TypedDict('DirorderParameters', {
24
+ "__STYX_TYPE__": typing.Literal["dirorder"],
25
+ "cartesian": bool,
26
+ "info": bool,
27
+ "quiet": bool,
28
+ "debug": bool,
29
+ "force": bool,
30
+ "nthreads": typing.NotRequired[int | None],
31
+ "config": typing.NotRequired[list[DirorderConfigParameters] | None],
32
+ "help": bool,
33
+ "version": bool,
34
+ "input": InputPathType,
35
+ "output": str,
36
+ })
37
+
38
+
39
+ def dyn_cargs(
40
+ t: str,
41
+ ) -> typing.Any:
42
+ """
43
+ Get build cargs function by command type.
44
+
45
+ Args:
46
+ t: Command type.
47
+ Returns:
48
+ Build cargs function.
49
+ """
50
+ return {
51
+ "dirorder": dirorder_cargs,
52
+ "config": dirorder_config_cargs,
53
+ }.get(t)
54
+
55
+
56
+ def dyn_outputs(
57
+ t: str,
58
+ ) -> typing.Any:
59
+ """
60
+ Get build outputs function by command type.
61
+
62
+ Args:
63
+ t: Command type.
64
+ Returns:
65
+ Build outputs function.
66
+ """
67
+ return {
68
+ "dirorder": dirorder_outputs,
69
+ }.get(t)
70
+
71
+
72
+ def dirorder_config_params(
73
+ key: str,
74
+ value: str,
75
+ ) -> DirorderConfigParameters:
76
+ """
77
+ Build parameters.
78
+
79
+ Args:
80
+ key: temporarily set the value of an MRtrix config file entry.
81
+ value: temporarily set the value of an MRtrix config file entry.
82
+ Returns:
83
+ Parameter dictionary
84
+ """
85
+ params = {
86
+ "__STYXTYPE__": "config",
87
+ "key": key,
88
+ "value": value,
89
+ }
90
+ return params
91
+
92
+
93
+ def dirorder_config_cargs(
94
+ params: DirorderConfigParameters,
95
+ execution: Execution,
96
+ ) -> list[str]:
97
+ """
98
+ Build command-line arguments from parameters.
99
+
100
+ Args:
101
+ params: The parameters.
102
+ execution: The execution object for resolving input paths.
103
+ Returns:
104
+ Command-line arguments.
105
+ """
106
+ cargs = []
107
+ cargs.append("-config")
108
+ cargs.append(params.get("key"))
109
+ cargs.append(params.get("value"))
110
+ return cargs
111
+
112
+
113
+ class DirorderOutputs(typing.NamedTuple):
114
+ """
115
+ Output object returned when calling `dirorder(...)`.
116
+ """
117
+ root: OutputPathType
118
+ """Output root folder. This is the root folder for all outputs."""
119
+ output: OutputPathType
120
+ """the output directions file"""
121
+
122
+
123
+ def dirorder_params(
124
+ input_: InputPathType,
125
+ output: str,
126
+ cartesian: bool = False,
127
+ info: bool = False,
128
+ quiet: bool = False,
129
+ debug: bool = False,
130
+ force: bool = False,
131
+ nthreads: int | None = None,
132
+ config: list[DirorderConfigParameters] | None = None,
133
+ help_: bool = False,
134
+ version: bool = False,
135
+ ) -> DirorderParameters:
136
+ """
137
+ Build parameters.
138
+
139
+ Args:
140
+ input_: the input directions file.
141
+ output: the output directions file.
142
+ cartesian: Output the directions in Cartesian coordinates [x y z]\
143
+ instead of [az el].
144
+ info: display information messages.
145
+ quiet: do not display information messages or progress status;\
146
+ alternatively, this can be achieved by setting the MRTRIX_QUIET\
147
+ environment variable to a non-empty string.
148
+ debug: display debugging messages.
149
+ force: force overwrite of output files (caution: using the same file as\
150
+ input and output might cause unexpected behaviour).
151
+ nthreads: use this number of threads in multi-threaded applications\
152
+ (set to 0 to disable multi-threading).
153
+ config: temporarily set the value of an MRtrix config file entry.
154
+ help_: display this information page and exit.
155
+ version: display version information and exit.
156
+ Returns:
157
+ Parameter dictionary
158
+ """
159
+ params = {
160
+ "__STYXTYPE__": "dirorder",
161
+ "cartesian": cartesian,
162
+ "info": info,
163
+ "quiet": quiet,
164
+ "debug": debug,
165
+ "force": force,
166
+ "help": help_,
167
+ "version": version,
168
+ "input": input_,
169
+ "output": output,
170
+ }
171
+ if nthreads is not None:
172
+ params["nthreads"] = nthreads
173
+ if config is not None:
174
+ params["config"] = config
175
+ return params
176
+
177
+
178
+ def dirorder_cargs(
179
+ params: DirorderParameters,
180
+ execution: Execution,
181
+ ) -> list[str]:
182
+ """
183
+ Build command-line arguments from parameters.
184
+
185
+ Args:
186
+ params: The parameters.
187
+ execution: The execution object for resolving input paths.
188
+ Returns:
189
+ Command-line arguments.
190
+ """
191
+ cargs = []
192
+ cargs.append("dirorder")
193
+ if params.get("cartesian"):
194
+ cargs.append("-cartesian")
195
+ if params.get("info"):
196
+ cargs.append("-info")
197
+ if params.get("quiet"):
198
+ cargs.append("-quiet")
199
+ if params.get("debug"):
200
+ cargs.append("-debug")
201
+ if params.get("force"):
202
+ cargs.append("-force")
203
+ if params.get("nthreads") is not None:
204
+ cargs.extend([
205
+ "-nthreads",
206
+ str(params.get("nthreads"))
207
+ ])
208
+ if params.get("config") is not None:
209
+ cargs.extend([a for c in [dyn_cargs(s["__STYXTYPE__"])(s, execution) for s in params.get("config")] for a in c])
210
+ if params.get("help"):
211
+ cargs.append("-help")
212
+ if params.get("version"):
213
+ cargs.append("-version")
214
+ cargs.append(execution.input_file(params.get("input")))
215
+ cargs.append(params.get("output"))
216
+ return cargs
217
+
218
+
219
+ def dirorder_outputs(
220
+ params: DirorderParameters,
221
+ execution: Execution,
222
+ ) -> DirorderOutputs:
223
+ """
224
+ Build outputs object containing output file paths and possibly stdout/stderr.
225
+
226
+ Args:
227
+ params: The parameters.
228
+ execution: The execution object for resolving input paths.
229
+ Returns:
230
+ Outputs object.
231
+ """
232
+ ret = DirorderOutputs(
233
+ root=execution.output_file("."),
234
+ output=execution.output_file(params.get("output")),
235
+ )
236
+ return ret
237
+
238
+
239
+ def dirorder_execute(
240
+ params: DirorderParameters,
241
+ execution: Execution,
242
+ ) -> DirorderOutputs:
243
+ """
244
+ Reorder a set of directions to ensure near-uniformity upon truncation.
245
+
246
+ The intent of this command is to reorder a set of gradient directions such
247
+ that if a scan is terminated prematurely, at any point, the acquired
248
+ directions will still be close to optimally distributed on the half-sphere.
249
+
250
+ References:
251
+
252
+ .
253
+
254
+ Author: MRTrix3 Developers
255
+
256
+ URL: https://www.mrtrix.org/
257
+
258
+ Args:
259
+ params: The parameters.
260
+ execution: The execution object.
261
+ Returns:
262
+ NamedTuple of outputs (described in `DirorderOutputs`).
263
+ """
264
+ params = execution.params(params)
265
+ cargs = dirorder_cargs(params, execution)
266
+ ret = dirorder_outputs(params, execution)
267
+ execution.run(cargs)
268
+ return ret
269
+
270
+
271
+ def dirorder(
272
+ input_: InputPathType,
273
+ output: str,
274
+ cartesian: bool = False,
275
+ info: bool = False,
276
+ quiet: bool = False,
277
+ debug: bool = False,
278
+ force: bool = False,
279
+ nthreads: int | None = None,
280
+ config: list[DirorderConfigParameters] | None = None,
281
+ help_: bool = False,
282
+ version: bool = False,
283
+ runner: Runner | None = None,
284
+ ) -> DirorderOutputs:
285
+ """
286
+ Reorder a set of directions to ensure near-uniformity upon truncation.
287
+
288
+ The intent of this command is to reorder a set of gradient directions such
289
+ that if a scan is terminated prematurely, at any point, the acquired
290
+ directions will still be close to optimally distributed on the half-sphere.
291
+
292
+ References:
293
+
294
+ .
295
+
296
+ Author: MRTrix3 Developers
297
+
298
+ URL: https://www.mrtrix.org/
299
+
300
+ Args:
301
+ input_: the input directions file.
302
+ output: the output directions file.
303
+ cartesian: Output the directions in Cartesian coordinates [x y z]\
304
+ instead of [az el].
305
+ info: display information messages.
306
+ quiet: do not display information messages or progress status;\
307
+ alternatively, this can be achieved by setting the MRTRIX_QUIET\
308
+ environment variable to a non-empty string.
309
+ debug: display debugging messages.
310
+ force: force overwrite of output files (caution: using the same file as\
311
+ input and output might cause unexpected behaviour).
312
+ nthreads: use this number of threads in multi-threaded applications\
313
+ (set to 0 to disable multi-threading).
314
+ config: temporarily set the value of an MRtrix config file entry.
315
+ help_: display this information page and exit.
316
+ version: display version information and exit.
317
+ runner: Command runner.
318
+ Returns:
319
+ NamedTuple of outputs (described in `DirorderOutputs`).
320
+ """
321
+ runner = runner or get_global_runner()
322
+ execution = runner.start_execution(DIRORDER_METADATA)
323
+ params = dirorder_params(
324
+ cartesian=cartesian,
325
+ info=info,
326
+ quiet=quiet,
327
+ debug=debug,
328
+ force=force,
329
+ nthreads=nthreads,
330
+ config=config,
331
+ help_=help_,
332
+ version=version,
333
+ input_=input_,
334
+ output=output,
335
+ )
336
+ return dirorder_execute(params, execution)
337
+
338
+
339
+ __all__ = [
340
+ "DIRORDER_METADATA",
341
+ "DirorderConfigParameters",
342
+ "DirorderOutputs",
343
+ "DirorderParameters",
344
+ "dirorder",
345
+ "dirorder_config_params",
346
+ "dirorder_params",
347
+ ]