@@ -353,6 +353,7 @@ def test_mcflirt(setup_flirt):
353
353
def test_fnirt (setup_flirt ):
354
354
355
355
tmpdir , infile , reffile = setup_flirt
356
+ os .chdir (tmpdir )
356
357
fnirt = fsl .FNIRT ()
357
358
assert fnirt .cmd == 'fnirt'
358
359
@@ -404,60 +405,66 @@ def test_fnirt(setup_flirt):
404
405
fnirt .run ()
405
406
fnirt .inputs .in_file = infile
406
407
fnirt .inputs .ref_file = reffile
408
+ infile_basename = fsl .FNIRT .intensitymap_file_basename (infile )
407
409
408
410
# test files
409
- opt_map = {
410
- 'affine_file' : ('--aff=' ),
411
- 'inwarp_file' : ('--inwarp=' ),
412
- 'in_intensitymap_file' : ('--intin=' ),
413
- 'config_file' : ('--config=' ),
414
- 'refmask_file' : ('--refmask=' ),
415
- 'inmask_file' : ('--inmask=' ),
416
- 'field_file' : ('--fout=' ),
417
- 'jacobian_file' : ('--jout=' ),
418
- 'modulatedref_file' : ('--refout=' ),
419
- 'out_intensitymap_file' : ('--intout=' ),
420
- 'log_file' : ('--logout=' )}
421
-
422
- for name , settings in list (opt_map .items ()):
411
+ opt_map = [
412
+ ('affine_file' , '--aff=%s' % infile , infile ),
413
+ ('inwarp_file' , '--inwarp=%s' % infile , infile ),
414
+ ('in_intensitymap_file' , '--intin=%s' % infile_basename , [infile ]),
415
+ ('in_intensitymap_file' ,
416
+ '--intin=%s' % infile_basename ,
417
+ [infile , '%s.txt' % infile_basename ]),
418
+ ('config_file' , '--config=%s' % infile , infile ),
419
+ ('refmask_file' , '--refmask=%s' % infile , infile ),
420
+ ('inmask_file' , '--inmask=%s' % infile , infile ),
421
+ ('field_file' , '--fout=%s' % infile , infile ),
422
+ ('jacobian_file' , '--jout=%s' % infile , infile ),
423
+ ('modulatedref_file' , '--refout=%s' % infile , infile ),
424
+ ('out_intensitymap_file' ,
425
+ '--intout=%s_intmap' % infile_basename , True ),
426
+ ('out_intensitymap_file' , '--intout=%s' % infile_basename , infile ),
427
+ ('log_file' , '--logout=%s' % infile , infile )]
428
+
429
+ for (name , settings , arg ) in opt_map :
423
430
fnirt = fsl .FNIRT (in_file = infile ,
424
431
ref_file = reffile ,
425
- ** {name : infile })
432
+ ** {name : arg })
426
433
427
434
if name in ('config_file' , 'affine_file' , 'field_file' ):
428
- cmd = 'fnirt %s%s --in=%s ' \
435
+ cmd = 'fnirt %s --in=%s ' \
429
436
'--logout=%s ' \
430
- '--ref=%s --iout=%s' % (settings , infile , infile , log ,
437
+ '--ref=%s --iout=%s' % (settings , infile , log ,
431
438
reffile , iout )
432
439
elif name in ('refmask_file' ):
433
440
cmd = 'fnirt --in=%s ' \
434
441
'--logout=%s --ref=%s ' \
435
- '%s%s ' \
442
+ '%s ' \
436
443
'--iout=%s' % (infile , log ,
437
444
reffile ,
438
- settings , infile ,
445
+ settings ,
439
446
iout )
440
447
elif name in ('in_intensitymap_file' , 'inwarp_file' , 'inmask_file' , 'jacobian_file' ):
441
448
cmd = 'fnirt --in=%s ' \
442
- '%s%s ' \
449
+ '%s ' \
443
450
'--logout=%s --ref=%s ' \
444
451
'--iout=%s' % (infile ,
445
- settings , infile ,
452
+ settings ,
446
453
log ,
447
454
reffile ,
448
455
iout )
449
456
elif name in ('log_file' ):
450
457
cmd = 'fnirt --in=%s ' \
451
- '%s%s --ref=%s ' \
458
+ '%s --ref=%s ' \
452
459
'--iout=%s' % (infile ,
453
- settings , infile ,
460
+ settings ,
454
461
reffile ,
455
462
iout )
456
463
else :
457
464
cmd = 'fnirt --in=%s ' \
458
- '--logout=%s %s%s ' \
465
+ '--logout=%s %s ' \
459
466
'--ref=%s --iout=%s' % (infile , log ,
460
- settings , infile ,
467
+ settings ,
461
468
reffile , iout )
462
469
463
470
assert fnirt .cmdline == cmd
0 commit comments