def test_seg_em(): # Create a reg_aladin object test_node = FitDwi() # Check if the command is properly defined yield assert_equal, test_node.cmd, get_custom_path('fit_dwi') # Assign some input data in_file = example_data('diffusion.nii') bval_file = example_data('bvals') bvec_file = example_data('bvecs') test_node.inputs.source_file = in_file test_node.inputs.bval_file = bval_file test_node.inputs.bvec_file = bvec_file cmd_tmp = '{cmd} -bval {bval} -bvec {bvec} -famap dwifit__famap -mcmap \ dwifit__mcmap -mdmap dwifit__mdmap -res dwifit__resmap -rgbmap dwifit__rgbmap \ -source {in_file} -syn dwifit__syn -tenmap2 dwifit__tenmap2 -v1map \ dwifit__v1map' expected_cmd = cmd_tmp.format( cmd=get_custom_path('fit_dwi'), in_file=in_file, bval=bval_file, bvec=bvec_file) yield assert_equal, test_node.cmdline, expected_cmd
def test_fit_asl(): """ Testing FitAsl interface.""" # Create the test node fit_asl = FitAsl() # Check if the command is properly defined assert fit_asl.cmd == get_custom_path('fit_asl') # test raising error with mandatory args absent with pytest.raises(ValueError): fit_asl.run() # Tests on the interface: # Runs cbf fitting assuming all tissue is GM! in_file = example_data('asl.nii.gz') fit_asl.inputs.source_file = in_file cmd_tmp = '{cmd} -source {in_file} -cbf {cbf} -error {error} -syn {syn}' expected_cmd = cmd_tmp.format( cmd=get_custom_path('fit_asl'), in_file=in_file, cbf='asl_cbf.nii.gz', error='asl_error.nii.gz', syn='asl_syn.nii.gz', ) assert fit_asl.cmdline == expected_cmd # Runs cbf fitting using IR/SR T1 data to estimate the local T1 and uses # the segmentation data to fit tissue specific blood flow parameters # (lambda,transit times,T1) fit_asl2 = FitAsl(sig=True) in_file = example_data('asl.nii.gz') t1map = example_data('T1map.nii.gz') seg = example_data('segmentation0.nii.gz') fit_asl2.inputs.source_file = in_file fit_asl2.inputs.t1map = t1map fit_asl2.inputs.seg = seg cmd_tmp = '{cmd} -source {in_file} -cbf {cbf} -error {error} \ -seg {seg} -sig -syn {syn} -t1map {t1map}' expected_cmd = cmd_tmp.format( cmd=get_custom_path('fit_asl'), in_file=in_file, t1map=t1map, seg=seg, cbf='asl_cbf.nii.gz', error='asl_error.nii.gz', syn='asl_syn.nii.gz', ) assert fit_asl2.cmdline == expected_cmd
def test_dwi_tool(): # Create a node object test_node = DwiTool() # Check if the command is properly defined assert test_node.cmd == get_custom_path('dwi_tool') # test raising error with mandatory args absent with pytest.raises(ValueError): test_node.run() # Assign some input data in_file = example_data('diffusion.nii') bval_file = example_data('bvals') bvec_file = example_data('bvecs') b0_file = example_data('b0.nii') mask_file = example_data('mask.nii') test_node.inputs.source_file = in_file test_node.inputs.mask_file = mask_file test_node.inputs.bval_file = bval_file test_node.inputs.bvec_file = bvec_file test_node.inputs.b0_file = b0_file test_node.inputs.dti_flag = True cmd_tmp = '{cmd} -source {in_file} -bval {bval} -bvec {bvec} -b0 {b0} \ -mask {mask} -dti -famap {fa} -logdti2 {log} -mcmap {mc} -mdmap {md} \ -rgbmap {rgb} -syn {syn} -v1map {v1}' expected_cmd = cmd_tmp.format(cmd=get_custom_path('dwi_tool'), in_file=in_file, bval=bval_file, bvec=bvec_file, b0=b0_file, mask=mask_file, fa=os.path.join(os.getcwd(), 'diffusion_famap.nii.gz'), log=os.path.join(os.getcwd(), 'diffusion_logdti2.nii.gz'), mc=os.path.join(os.getcwd(), 'diffusion_mcmap.nii.gz'), md=os.path.join(os.getcwd(), 'diffusion_mdmap.nii.gz'), rgb=os.path.join(os.getcwd(), 'diffusion_rgbmap.nii.gz'), syn=os.path.join(os.getcwd(), 'diffusion_syn.nii.gz'), v1=os.path.join(os.getcwd(), 'diffusion_v1map.nii.gz')) assert test_node.cmdline == expected_cmd
def test_seg_em(): # Create a reg_aladin object test_node = DwiTool() # Check if the command is properly defined yield assert_equal, test_node.cmd, get_custom_path("dwi_tool") # Assign some input data in_file = example_data("diffusion.nii") test_node.inputs.source_file = in_file cmd_tmp = "{cmd} -famap dwifit__famap -logdti2 dwifit__logdti2 -mdmap \ dwifit__mdmap -rgbmap dwifit__rgbmap -source {in_file} -v1map dwifit__v1map" expected_cmd = cmd_tmp.format(cmd=get_custom_path("dwi_tool"), in_file=in_file) yield assert_equal, test_node.cmdline, expected_cmd
def test_dwi_tool(): """ Testing DwiTool interface.""" # Create a node object dwi_tool = DwiTool() # Check if the command is properly defined assert dwi_tool.cmd == get_custom_path('dwi_tool') # test raising error with mandatory args absent with pytest.raises(ValueError): dwi_tool.run() # Assign some input data in_file = example_data('dwi.nii.gz') bval_file = example_data('bvals') bvec_file = example_data('bvecs') b0_file = example_data('b0.nii') mask_file = example_data('mask.nii.gz') dwi_tool.inputs.source_file = in_file dwi_tool.inputs.mask_file = mask_file dwi_tool.inputs.bval_file = bval_file dwi_tool.inputs.bvec_file = bvec_file dwi_tool.inputs.b0_file = b0_file dwi_tool.inputs.dti_flag = True cmd_tmp = '{cmd} -source {in_file} -bval {bval} -bvec {bvec} -b0 {b0} \ -mask {mask} -dti -famap {fa} -logdti2 {log} -mcmap {mc} -mdmap {md} \ -rgbmap {rgb} -syn {syn} -v1map {v1}' expected_cmd = cmd_tmp.format( cmd=get_custom_path('dwi_tool'), in_file=in_file, bval=bval_file, bvec=bvec_file, b0=b0_file, mask=mask_file, fa='dwi_famap.nii.gz', log='dwi_logdti2.nii.gz', mc='dwi_mcmap.nii.gz', md='dwi_mdmap.nii.gz', rgb='dwi_rgbmap.nii.gz', syn='dwi_syn.nii.gz', v1='dwi_v1map.nii.gz') assert dwi_tool.cmdline == expected_cmd
def test_dwi_tool(): """ Testing DwiTool interface.""" # Create a node object dwi_tool = DwiTool() # Check if the command is properly defined assert dwi_tool.cmd == get_custom_path('dwi_tool') # test raising error with mandatory args absent with pytest.raises(ValueError): dwi_tool.run() # Assign some input data in_file = example_data('dwi.nii.gz') bval_file = example_data('bvals') bvec_file = example_data('bvecs') b0_file = example_data('b0.nii') mask_file = example_data('mask.nii.gz') dwi_tool.inputs.source_file = in_file dwi_tool.inputs.mask_file = mask_file dwi_tool.inputs.bval_file = bval_file dwi_tool.inputs.bvec_file = bvec_file dwi_tool.inputs.b0_file = b0_file dwi_tool.inputs.dti_flag = True cmd_tmp = '{cmd} -source {in_file} -bval {bval} -bvec {bvec} -b0 {b0} \ -mask {mask} -dti -famap {fa} -logdti2 {log} -mcmap {mc} -mdmap {md} \ -rgbmap {rgb} -syn {syn} -v1map {v1}' expected_cmd = cmd_tmp.format(cmd=get_custom_path('dwi_tool'), in_file=in_file, bval=bval_file, bvec=bvec_file, b0=b0_file, mask=mask_file, fa='dwi_famap.nii.gz', log='dwi_logdti2.nii.gz', mc='dwi_mcmap.nii.gz', md='dwi_mdmap.nii.gz', rgb='dwi_rgbmap.nii.gz', syn='dwi_syn.nii.gz', v1='dwi_v1map.nii.gz') assert dwi_tool.cmdline == expected_cmd
def test_seg_em(): # Create a reg_aladin object test_node = FitQt1() # Check if the command is properly defined yield assert_equal, test_node.cmd, get_custom_path('fit_qt1') # Assign some input data in_file = example_data('im1.nii') test_node.inputs.source_file = in_file cmd_tmp = '{cmd} -source {in_file} -error im1_error -m0map im1_m0map \ -mcmap im1_mcmap -res im1_res -syn im1_syn -t1map im1_t1map' expected_cmd = cmd_tmp.format( cmd=get_custom_path('fit_qt1'), in_file=in_file) yield assert_equal, test_node.cmdline, expected_cmd
def test_seg_em(): # Create a reg_aladin object test_node = FitAsl() # Check if the command is properly defined yield assert_equal, test_node.cmd, get_custom_path('fit_asl') # Assign some input data in_file = example_data('im1.nii') test_node.inputs.source_file = in_file cmd_tmp = '{cmd} -cbf im1_cbf -error im1_error -source {in_file} \ -syn im1_syn' expected_cmd = cmd_tmp.format( cmd=get_custom_path('fit_asl'), in_file=in_file) yield assert_equal, test_node.cmdline, expected_cmd
def test_dwi_tool(): # Create a node object test_node = DwiTool() # Check if the command is properly defined assert test_node.cmd == get_custom_path('dwi_tool') # test raising error with mandatory args absent with pytest.raises(ValueError): test_node.run() # Assign some input data in_file = example_data('diffusion.nii') bval_file = example_data('bvals') bvec_file = example_data('bvecs') b0_file = example_data('b0.nii') mask_file = example_data('mask.nii') test_node.inputs.source_file = in_file test_node.inputs.mask_file = mask_file test_node.inputs.bval_file = bval_file test_node.inputs.bvec_file = bvec_file test_node.inputs.b0_file = b0_file test_node.inputs.dti_flag = True cmd_tmp = '{cmd} -source {in_file} -bval {bval} -bvec {bvec} -b0 {b0} \ -mask {mask} -dti -famap {fa} -logdti2 {log} -mcmap {mc} -mdmap {md} \ -rgbmap {rgb} -syn {syn} -v1map {v1}' expected_cmd = cmd_tmp.format( cmd=get_custom_path('dwi_tool'), in_file=in_file, bval=bval_file, bvec=bvec_file, b0=b0_file, mask=mask_file, fa=os.path.join(os.getcwd(), 'diffusion_famap.nii.gz'), log=os.path.join(os.getcwd(), 'diffusion_logdti2.nii.gz'), mc=os.path.join(os.getcwd(), 'diffusion_mcmap.nii.gz'), md=os.path.join(os.getcwd(), 'diffusion_mdmap.nii.gz'), rgb=os.path.join(os.getcwd(), 'diffusion_rgbmap.nii.gz'), syn=os.path.join(os.getcwd(), 'diffusion_syn.nii.gz'), v1=os.path.join(os.getcwd(), 'diffusion_v1map.nii.gz')) assert test_node.cmdline == expected_cmd
def test_fit_dwi(): """ Testing FitDwi interface.""" # Create a node object fit_dwi = FitDwi() # Check if the command is properly defined assert fit_dwi.cmd == get_custom_path('fit_dwi') # test raising error with mandatory args absent with pytest.raises(ValueError): fit_dwi.run() # Assign some input data in_file = example_data('dwi.nii.gz') bval_file = example_data('bvals') bvec_file = example_data('bvecs') fit_dwi.inputs.source_file = in_file fit_dwi.inputs.bval_file = bval_file fit_dwi.inputs.bvec_file = bvec_file fit_dwi.inputs.dti_flag = True cmd_tmp = '{cmd} -source {in_file} -bval {bval} -bvec {bvec} -dti \ -error {error} -famap {fa} -mcmap {mc} -mcout {mcout} -mdmap {md} -nodiff \ {nodiff} -res {res} -rgbmap {rgb} -syn {syn} -tenmap2 {ten2} -v1map {v1}' expected_cmd = cmd_tmp.format( cmd=get_custom_path('fit_dwi'), in_file=in_file, bval=bval_file, bvec=bvec_file, error='dwi_error.nii.gz', fa='dwi_famap.nii.gz', mc='dwi_mcmap.nii.gz', md='dwi_mdmap.nii.gz', nodiff='dwi_no_diff.nii.gz', res='dwi_resmap.nii.gz', rgb='dwi_rgbmap.nii.gz', syn='dwi_syn.nii.gz', ten2='dwi_tenmap2.nii.gz', v1='dwi_v1map.nii.gz', mcout='dwi_mcout.txt') assert fit_dwi.cmdline == expected_cmd
def test_fit_dwi(): """ Testing FitDwi interface.""" # Create a node object fit_dwi = FitDwi() # Check if the command is properly defined assert fit_dwi.cmd == get_custom_path('fit_dwi') # test raising error with mandatory args absent with pytest.raises(ValueError): fit_dwi.run() # Assign some input data in_file = example_data('dwi.nii.gz') bval_file = example_data('bvals') bvec_file = example_data('bvecs') fit_dwi.inputs.source_file = in_file fit_dwi.inputs.bval_file = bval_file fit_dwi.inputs.bvec_file = bvec_file fit_dwi.inputs.dti_flag = True cmd_tmp = '{cmd} -source {in_file} -bval {bval} -bvec {bvec} -dti \ -error {error} -famap {fa} -mcmap {mc} -mcout {mcout} -mdmap {md} -nodiff \ {nodiff} -res {res} -rgbmap {rgb} -syn {syn} -tenmap2 {ten2} -v1map {v1}' expected_cmd = cmd_tmp.format(cmd=get_custom_path('fit_dwi'), in_file=in_file, bval=bval_file, bvec=bvec_file, error='dwi_error.nii.gz', fa='dwi_famap.nii.gz', mc='dwi_mcmap.nii.gz', md='dwi_mdmap.nii.gz', nodiff='dwi_no_diff.nii.gz', res='dwi_resmap.nii.gz', rgb='dwi_rgbmap.nii.gz', syn='dwi_syn.nii.gz', ten2='dwi_tenmap2.nii.gz', v1='dwi_v1map.nii.gz', mcout='dwi_mcout.txt') assert fit_dwi.cmdline == expected_cmd
def test_fit_qt1(): """ Testing FitQt1 interface.""" # Create a node object fit_qt1 = FitQt1() # Check if the command is properly defined assert fit_qt1.cmd == get_custom_path('fit_qt1') # test raising error with mandatory args absent with pytest.raises(ValueError): fit_qt1.run() # Regular test: in_file = example_data('TI4D.nii.gz') fit_qt1.inputs.source_file = in_file cmd_tmp = '{cmd} -source {in_file} -comp {comp} -error {error} -m0map \ {map0} -mcmap {cmap} -res {res} -syn {syn} -t1map {t1map}' expected_cmd = cmd_tmp.format( cmd=get_custom_path('fit_qt1'), in_file=in_file, comp='TI4D_comp.nii.gz', map0='TI4D_m0map.nii.gz', error='TI4D_error.nii.gz', cmap='TI4D_mcmap.nii.gz', res='TI4D_res.nii.gz', t1map='TI4D_t1map.nii.gz', syn='TI4D_syn.nii.gz', ) assert fit_qt1.cmdline == expected_cmd # Runs T1 fitting to inversion and saturation recovery data (NLSQR) fit_qt1_2 = FitQt1(tis=[1, 2, 5], ir_flag=True) in_file = example_data('TI4D.nii.gz') fit_qt1_2.inputs.source_file = in_file cmd_tmp = '{cmd} -source {in_file} -IR -TIs 1.0 2.0 5.0 \ -comp {comp} -error {error} -m0map {map0} -mcmap {cmap} -res {res} \ -syn {syn} -t1map {t1map}' expected_cmd = cmd_tmp.format( cmd=get_custom_path('fit_qt1'), in_file=in_file, comp='TI4D_comp.nii.gz', map0='TI4D_m0map.nii.gz', error='TI4D_error.nii.gz', cmap='TI4D_mcmap.nii.gz', res='TI4D_res.nii.gz', t1map='TI4D_t1map.nii.gz', syn='TI4D_syn.nii.gz', ) assert fit_qt1_2.cmdline == expected_cmd # Runs T1 fitting to spoiled gradient echo (SPGR) data (NLSQR) fit_qt1_3 = FitQt1(flips=[2, 4, 8], spgr=True) in_file = example_data('TI4D.nii.gz') fit_qt1_3.inputs.source_file = in_file cmd_tmp = '{cmd} -source {in_file} -comp {comp} -error {error} \ -flips 2.0 4.0 8.0 -m0map {map0} -mcmap {cmap} -res {res} -SPGR -syn {syn} \ -t1map {t1map}' expected_cmd = cmd_tmp.format( cmd=get_custom_path('fit_qt1'), in_file=in_file, comp='TI4D_comp.nii.gz', map0='TI4D_m0map.nii.gz', error='TI4D_error.nii.gz', cmap='TI4D_mcmap.nii.gz', res='TI4D_res.nii.gz', t1map='TI4D_t1map.nii.gz', syn='TI4D_syn.nii.gz', ) assert fit_qt1_3.cmdline == expected_cmd