22
22
import warnings
23
23
24
24
from ..base import TraitedSpec , File , traits , isdefined , CommandLineInputSpec
25
- from .base import get_custom_path , NiftyRegCommand , PositiveInt
25
+ from .base import get_custom_path , NiftyRegCommand
26
26
from ...utils .filemanip import split_filename
27
27
28
28
@@ -65,14 +65,14 @@ class RegAladinInputSpec(CommandLineInputSpec):
65
65
desc = 'The input floating mask' ,
66
66
argstr = '-fmask %s' )
67
67
# Maximum number of iterations
68
- maxit_val = PositiveInt (desc = 'Maximum number of iterations' ,
69
- argstr = '-maxit %d' )
68
+ maxit_val = traits . Range (desc = 'Maximum number of iterations' ,
69
+ argstr = '-maxit %d' , low = 0 )
70
70
# Multiresolution levels
71
- ln_val = PositiveInt (desc = 'Number of resolution levels to create' ,
72
- argstr = '-ln %d' )
71
+ ln_val = traits . Range (desc = 'Number of resolution levels to create' ,
72
+ argstr = '-ln %d' , low = 0 )
73
73
# Number of resolution levels to process
74
- lp_val = PositiveInt (desc = 'Number of resolution levels to perform' ,
75
- argstr = '-lp %d' )
74
+ lp_val = traits . Range (desc = 'Number of resolution levels to perform' ,
75
+ argstr = '-lp %d' , low = 0 )
76
76
# Smoothing to apply on reference image
77
77
desc = 'Amount of smoothing to apply to reference image'
78
78
smoo_r_val = traits .Float (desc = desc ,
@@ -90,10 +90,11 @@ class RegAladinInputSpec(CommandLineInputSpec):
90
90
cog_flag = traits .Bool (desc = desc ,
91
91
argstr = '-cog' )
92
92
# Percent of blocks that are considered active.
93
- v_val = PositiveInt (desc = 'Percent of blocks that are active' ,
94
- argstr = '-pv %d' )
93
+ v_val = traits . Range (desc = 'Percent of blocks that are active' ,
94
+ argstr = '-pv %d' , low = 0 )
95
95
# Percent of inlier blocks
96
- i_val = PositiveInt (desc = 'Percent of inlier blocks' , argstr = '-pi %d' )
96
+ i_val = traits .Range (desc = 'Percent of inlier blocks' , argstr = '-pi %d' ,
97
+ low = 0 )
97
98
# Lower threshold on reference image
98
99
ref_low_val = traits .Float (desc = 'Lower threshold value on reference image' ,
99
100
argstr = '-refLowThr %f' )
@@ -226,19 +227,19 @@ class RegF3DInputSpec(CommandLineInputSpec):
226
227
227
228
# Lower threshold for reference image
228
229
desc = 'Lower threshold for reference image at the specified time point'
229
- rlwth2_thr_val = traits .Tuple (PositiveInt , traits .Float ,
230
+ rlwth2_thr_val = traits .Tuple (traits . Range ( low = 0 ) , traits .Float ,
230
231
desc = desc , argstr = '-rLwTh %d %f' )
231
232
# Upper threshold for reference image
232
233
desc = 'Upper threshold for reference image at the specified time point'
233
- rupth2_thr_val = traits .Tuple (PositiveInt , traits .Float ,
234
+ rupth2_thr_val = traits .Tuple (traits . Range ( low = 0 ) , traits .Float ,
234
235
desc = desc , argstr = '-rUpTh %d %f' )
235
236
# Lower threshold for reference image
236
237
desc = 'Lower threshold for floating image at the specified time point'
237
- flwth2_thr_val = traits .Tuple (PositiveInt , traits .Float ,
238
+ flwth2_thr_val = traits .Tuple (traits . Range ( low = 0 ) , traits .Float ,
238
239
desc = desc , argstr = '-fLwTh %d %f' )
239
240
# Upper threshold for reference image
240
241
desc = 'Upper threshold for floating image at the specified time point'
241
- fupth2_thr_val = traits .Tuple (PositiveInt , traits .Float ,
242
+ fupth2_thr_val = traits .Tuple (traits . Range ( low = 0 ) , traits .Float ,
242
243
desc = desc , argstr = '-fUpTh %d %f' )
243
244
244
245
# Final grid spacing along the 3 axes
@@ -263,33 +264,33 @@ class RegF3DInputSpec(CommandLineInputSpec):
263
264
desc = 'use NMI even when other options are specified'
264
265
nmi_flag = traits .Bool (argstr = '--nmi' , desc = desc )
265
266
desc = 'Number of bins in the histogram for reference image'
266
- rbn_val = PositiveInt ( desc = desc , argstr = '--rbn %d' )
267
+ rbn_val = traits . Range ( low = 0 , desc = desc , argstr = '--rbn %d' )
267
268
desc = 'Number of bins in the histogram for reference image'
268
- fbn_val = PositiveInt ( desc = desc , argstr = '--fbn %d' )
269
+ fbn_val = traits . Range ( low = 0 , desc = desc , argstr = '--fbn %d' )
269
270
desc = 'Number of bins in the histogram for reference image for given \
270
271
time point'
271
- rbn2_val = traits .Tuple (PositiveInt , PositiveInt ,
272
+ rbn2_val = traits .Tuple (traits . Range ( low = 0 ), traits . Range ( low = 0 ) ,
272
273
desc = desc , argstr = '-rbn %d %d' )
273
274
274
275
desc = 'Number of bins in the histogram for reference image for given \
275
276
time point'
276
- fbn2_val = traits .Tuple (PositiveInt , PositiveInt ,
277
+ fbn2_val = traits .Tuple (traits . Range ( low = 0 ), traits . Range ( low = 0 ) ,
277
278
desc = desc , argstr = '-fbn %d %d' )
278
279
279
280
lncc_val = traits .Float (desc = 'SD of the Gaussian for computing LNCC' ,
280
281
argstr = '--lncc %f' )
281
282
desc = 'SD of the Gaussian for computing LNCC for a given time point'
282
- lncc2_val = traits .Tuple (PositiveInt , traits .Float ,
283
+ lncc2_val = traits .Tuple (traits . Range ( low = 0 ) , traits .Float ,
283
284
desc = desc , argstr = '-lncc %d %f' )
284
285
285
286
ssd_flag = traits .Bool (desc = 'Use SSD as the similarity measure' ,
286
287
argstr = '--ssd' )
287
288
desc = 'Use SSD as the similarity measure for a given time point'
288
- ssd2_flag = PositiveInt ( desc = desc , argstr = '-ssd %d' )
289
+ ssd2_flag = traits . Range ( low = 0 , desc = desc , argstr = '-ssd %d' )
289
290
kld_flag = traits .Bool (desc = 'Use KL divergence as the similarity measure' ,
290
291
argstr = '--kld' )
291
292
desc = 'Use KL divergence as the similarity measure for a given time point'
292
- kld2_flag = PositiveInt ( desc = desc , argstr = '-kld %d' )
293
+ kld2_flag = traits . Range ( low = 0 , desc = desc , argstr = '-kld %d' )
293
294
amc_flag = traits .Bool (desc = 'Use additive NMI' , argstr = '-amc' )
294
295
295
296
nox_flag = traits .Bool (desc = "Don't optimise in x direction" ,
@@ -300,18 +301,18 @@ class RegF3DInputSpec(CommandLineInputSpec):
300
301
argstr = '-noz' )
301
302
302
303
# Optimization options
303
- maxit_val = PositiveInt ( desc = 'Maximum number of iterations per level ' ,
304
- argstr = '-maxit %d ' )
305
- ln_val = PositiveInt ( desc = 'Number of resolution levels to create ' ,
306
- argstr = '-ln %d ' )
307
- lp_val = PositiveInt ( desc = 'Number of resolution levels to perform ' ,
308
- argstr = '-lp %d ' )
304
+ maxit_val = traits . Range ( low = 0 , argstr = '-maxit %d ' ,
305
+ desc = 'Maximum number of iterations per level ' )
306
+ ln_val = traits . Range ( low = 0 , argstr = '-ln %d ' ,
307
+ desc = 'Number of resolution levels to create ' )
308
+ lp_val = traits . Range ( low = 0 , argstr = '-lp %d ' ,
309
+ desc = 'Number of resolution levels to perform ' )
309
310
nopy_flag = traits .Bool (desc = 'Do not use the multiresolution approach' ,
310
311
argstr = '-nopy' )
311
312
noconj_flag = traits .Bool (desc = 'Use simple GD optimization' ,
312
313
argstr = '-noConj' )
313
314
desc = 'Add perturbation steps after each optimization step'
314
- pert_val = PositiveInt ( desc = desc , argstr = '-pert %d' )
315
+ pert_val = traits . Range ( low = 0 , desc = desc , argstr = '-pert %d' )
315
316
316
317
# F3d2 options
317
318
vel_flag = traits .Bool (desc = 'Use velocity field integration' ,
0 commit comments