diff --git a/.circleci/test-01_outputs.txt b/.circleci/test-01_outputs.txt index 6b4057f90..d37a28d89 100644 --- a/.circleci/test-01_outputs.txt +++ b/.circleci/test-01_outputs.txt @@ -40,7 +40,7 @@ nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/result_nlmDenoise.pklz nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/sub-01_run-1_T2w_nlm.nii.gz nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/sub-01_run-3_T2w_nlm.nii.gz -nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/sub-01_run-5_T2w_nlm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/sub-01_run-6_T2w_nlm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/_node.pklz @@ -48,13 +48,13 @@ nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/_report/report. nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/result_srtkCorrectSliceIntensity01_nlm.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/sub-01_run-1_T2w_nlm_uni.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/sub-01_run-3_T2w_nlm_uni.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/sub-01_run-5_T2w_nlm_uni.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/sub-01_run-6_T2w_nlm_uni.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/result_srtkCorrectSliceIntensity01.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/sub-01_run-1_T2w_uni.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/sub-01_run-3_T2w_uni.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/sub-01_run-5_T2w_uni.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/sub-01_run-6_T2w_uni.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/_node.pklz @@ -62,13 +62,13 @@ nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/_report/report. nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/result_srtkCorrectSliceIntensity02_nlm.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/sub-01_run-1_T2w_nlm_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/sub-01_run-3_T2w_nlm_uni_bcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/sub-01_run-5_T2w_nlm_uni_bcorr.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/sub-01_run-6_T2w_nlm_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/result_srtkCorrectSliceIntensity02.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/sub-01_run-1_T2w_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/sub-01_run-3_T2w_uni_bcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/sub-01_run-5_T2w_uni_bcorr.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/sub-01_run-6_T2w_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/_node.pklz @@ -76,13 +76,18 @@ nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/_report/report.r nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/result_srtkHistogramNormalization_nlm.pklz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/sub-01_run-1_T2w_nlm_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/sub-01_run-3_T2w_nlm_uni_bcorr_histnorm.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/sub-01_run-5_T2w_nlm_uni_bcorr_histnorm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/sub-01_run-6_T2w_nlm_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/result_srtkHistogramNormalization.pklz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/sub-01_run-1_T2w_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/sub-01_run-3_T2w_uni_bcorr_histnorm.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/sub-01_run-5_T2w_uni_bcorr_histnorm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/sub-01_run-6_T2w_uni_bcorr_histnorm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkHRMask/_inputs.pklz +nipype/sub-01/rec-1/srr_pipeline/srtkHRMask/_node.pklz +nipype/sub-01/rec-1/srr_pipeline/srtkHRMask/_report/report.rst +nipype/sub-01/rec-1/srr_pipeline/srtkHRMask/result_srtkHRMask.pklz +nipype/sub-01/rec-1/srr_pipeline/srtkHRMask/SRTV_sub-01_3V_rad1_srMask.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/_report/report.rst @@ -90,7 +95,7 @@ nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/result_srtkImageReconst nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/SDI_sub-01_3V_rad1.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/sub-01_run-1_T2w_nlm_uni_bcorr_histnorm_transform_3V.txt nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/sub-01_run-3_T2w_nlm_uni_bcorr_histnorm_transform_3V.txt -nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/sub-01_run-5_T2w_nlm_uni_bcorr_histnorm_transform_3V.txt +nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/sub-01_run-6_T2w_nlm_uni_bcorr_histnorm_transform_3V.txt nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/_node.pklz @@ -98,13 +103,13 @@ nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/_report/repo nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/result_srtkIntensityStandardization01_nlm.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/sub-01_run-1_T2w_nlm_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/sub-01_run-3_T2w_nlm_uni_bcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/sub-01_run-5_T2w_nlm_uni_bcorr.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/sub-01_run-6_T2w_nlm_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/result_srtkIntensityStandardization01.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/sub-01_run-1_T2w_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/sub-01_run-3_T2w_uni_bcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/sub-01_run-5_T2w_uni_bcorr.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/sub-01_run-6_T2w_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/_node.pklz @@ -112,20 +117,20 @@ nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/_report/repo nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/result_srtkIntensityStandardization02_nlm.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/sub-01_run-1_T2w_nlm_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/sub-01_run-3_T2w_nlm_uni_bcorr_histnorm.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/sub-01_run-5_T2w_nlm_uni_bcorr_histnorm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/sub-01_run-6_T2w_nlm_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/result_srtkIntensityStandardization02.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/sub-01_run-1_T2w_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/sub-01_run-3_T2w_uni_bcorr_histnorm.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/sub-01_run-5_T2w_uni_bcorr_histnorm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/sub-01_run-6_T2w_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/result_srtkMaskImage01.pklz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/sub-01_run-1_T2w_nlm_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/sub-01_run-3_T2w_nlm_uni_bcorr_histnorm.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/sub-01_run-5_T2w_nlm_uni_bcorr_histnorm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/sub-01_run-6_T2w_nlm_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage02/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage02/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage02/_report/report.rst @@ -136,18 +141,13 @@ nipype/sub-01/rec-1/srr_pipeline/srtkN4BiasFieldCorrection/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkN4BiasFieldCorrection/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkN4BiasFieldCorrection/result_srtkN4BiasFieldCorrection.pklz nipype/sub-01/rec-1/srr_pipeline/srtkN4BiasFieldCorrection/SRTV_sub-01_3V_rad1_gbcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkRefineHRMaskByIntersection/_inputs.pklz -nipype/sub-01/rec-1/srr_pipeline/srtkRefineHRMaskByIntersection/_node.pklz -nipype/sub-01/rec-1/srr_pipeline/srtkRefineHRMaskByIntersection/_report/report.rst -nipype/sub-01/rec-1/srr_pipeline/srtkRefineHRMaskByIntersection/result_srtkRefineHRMaskByIntersection.pklz -nipype/sub-01/rec-1/srr_pipeline/srtkRefineHRMaskByIntersection/sub-01_T2w_uni_bcorr_histnorm_srMask.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/result_srtkSliceBySliceCorrectBiasField.pklz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/sub-01_run-1_T2w_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/sub-01_run-3_T2w_uni_bcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/sub-01_run-5_T2w_uni_bcorr.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/sub-01_run-6_T2w_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/_report/report.rst @@ -156,8 +156,8 @@ nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_ru nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-1_T2w_nlm_uni_n4bias.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-3_T2w_nlm_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-3_T2w_nlm_uni_n4bias.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-5_T2w_nlm_uni_bcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-5_T2w_nlm_uni_n4bias.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-6_T2w_nlm_uni_bcorr.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-6_T2w_nlm_uni_n4bias.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkTVSuperResolution/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkTVSuperResolution/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkTVSuperResolution/_report/report.rst @@ -178,9 +178,9 @@ pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-1_T2w_desc-brain_mask.nii.gz pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-3_id-1_desc-preprocSDI_T2w.nii.gz pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-3_id-1_desc-preprocSR_T2w.nii.gz pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-3_T2w_desc-brain_mask.nii.gz -pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-5_id-1_desc-preprocSDI_T2w.nii.gz -pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-5_id-1_desc-preprocSR_T2w.nii.gz -pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-5_T2w_desc-brain_mask.nii.gz +pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-6_id-1_desc-preprocSDI_T2w.nii.gz +pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-6_id-1_desc-preprocSR_T2w.nii.gz +pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-6_T2w_desc-brain_mask.nii.gz pymialsrtk-2.0.1-dev/sub-01/xfm/sub-01_run-1_id-1_T2w_from-origin_to-SDI_mode-image_xfm.txt pymialsrtk-2.0.1-dev/sub-01/xfm/sub-01_run-3_id-1_T2w_from-origin_to-SDI_mode-image_xfm.txt -pymialsrtk-2.0.1-dev/sub-01/xfm/sub-01_run-5_id-1_T2w_from-origin_to-SDI_mode-image_xfm.txt +pymialsrtk-2.0.1-dev/sub-01/xfm/sub-01_run-6_id-1_T2w_from-origin_to-SDI_mode-image_xfm.txt diff --git a/.circleci/test-02_outputs.txt b/.circleci/test-02_outputs.txt index b310f5dce..6b190c8e7 100644 --- a/.circleci/test-02_outputs.txt +++ b/.circleci/test-02_outputs.txt @@ -26,10 +26,7 @@ nipype/sub-01/rec-1/srr_pipeline/Multiple_Brain_extraction/_node.pklz nipype/sub-01/rec-1/srr_pipeline/Multiple_Brain_extraction/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/Multiple_Brain_extraction/result_Multiple_Brain_extraction.pklz nipype/sub-01/rec-1/srr_pipeline/Multiple_Brain_extraction/sub-01_run-1_T2w_brainMask.nii.gz -nipype/sub-01/rec-1/srr_pipeline/Multiple_Brain_extraction/sub-01_run-2_T2w_brainMask.nii.gz nipype/sub-01/rec-1/srr_pipeline/Multiple_Brain_extraction/sub-01_run-3_T2w_brainMask.nii.gz -nipype/sub-01/rec-1/srr_pipeline/Multiple_Brain_extraction/sub-01_run-4_T2w_brainMask.nii.gz -nipype/sub-01/rec-1/srr_pipeline/Multiple_Brain_extraction/sub-01_run-5_T2w_brainMask.nii.gz nipype/sub-01/rec-1/srr_pipeline/Multiple_Brain_extraction/sub-01_run-6_T2w_brainMask.nii.gz nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/_node.pklz @@ -37,7 +34,7 @@ nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/result_nlmDenoise.pklz nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/sub-01_run-1_T2w_nlm.nii.gz nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/sub-01_run-3_T2w_nlm.nii.gz -nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/sub-01_run-5_T2w_nlm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/sub-01_run-6_T2w_nlm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/_node.pklz @@ -45,13 +42,13 @@ nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/_report/report. nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/result_srtkCorrectSliceIntensity01_nlm.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/sub-01_run-1_T2w_nlm_uni.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/sub-01_run-3_T2w_nlm_uni.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/sub-01_run-5_T2w_nlm_uni.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/sub-01_run-6_T2w_nlm_uni.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/result_srtkCorrectSliceIntensity01.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/sub-01_run-1_T2w_uni.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/sub-01_run-3_T2w_uni.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/sub-01_run-5_T2w_uni.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/sub-01_run-6_T2w_uni.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/_node.pklz @@ -59,13 +56,13 @@ nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/_report/report. nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/result_srtkCorrectSliceIntensity02_nlm.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/sub-01_run-1_T2w_nlm_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/sub-01_run-3_T2w_nlm_uni_bcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/sub-01_run-5_T2w_nlm_uni_bcorr.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/sub-01_run-6_T2w_nlm_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/result_srtkCorrectSliceIntensity02.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/sub-01_run-1_T2w_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/sub-01_run-3_T2w_uni_bcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/sub-01_run-5_T2w_uni_bcorr.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/sub-01_run-6_T2w_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/_node.pklz @@ -73,13 +70,18 @@ nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/_report/report.r nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/result_srtkHistogramNormalization_nlm.pklz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/sub-01_run-1_T2w_nlm_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/sub-01_run-3_T2w_nlm_uni_bcorr_histnorm.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/sub-01_run-5_T2w_nlm_uni_bcorr_histnorm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/sub-01_run-6_T2w_nlm_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/result_srtkHistogramNormalization.pklz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/sub-01_run-1_T2w_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/sub-01_run-3_T2w_uni_bcorr_histnorm.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/sub-01_run-5_T2w_uni_bcorr_histnorm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/sub-01_run-6_T2w_uni_bcorr_histnorm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkHRMask/_inputs.pklz +nipype/sub-01/rec-1/srr_pipeline/srtkHRMask/_node.pklz +nipype/sub-01/rec-1/srr_pipeline/srtkHRMask/_report/report.rst +nipype/sub-01/rec-1/srr_pipeline/srtkHRMask/result_srtkHRMask.pklz +nipype/sub-01/rec-1/srr_pipeline/srtkHRMask/SRTV_sub-01_3V_rad1_srMask.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/_report/report.rst @@ -87,7 +89,7 @@ nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/result_srtkImageReconst nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/SDI_sub-01_3V_rad1.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/sub-01_run-1_T2w_nlm_uni_bcorr_histnorm_transform_3V.txt nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/sub-01_run-3_T2w_nlm_uni_bcorr_histnorm_transform_3V.txt -nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/sub-01_run-5_T2w_nlm_uni_bcorr_histnorm_transform_3V.txt +nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/sub-01_run-6_T2w_nlm_uni_bcorr_histnorm_transform_3V.txt nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/_node.pklz @@ -95,13 +97,13 @@ nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/_report/repo nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/result_srtkIntensityStandardization01_nlm.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/sub-01_run-1_T2w_nlm_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/sub-01_run-3_T2w_nlm_uni_bcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/sub-01_run-5_T2w_nlm_uni_bcorr.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/sub-01_run-6_T2w_nlm_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/result_srtkIntensityStandardization01.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/sub-01_run-1_T2w_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/sub-01_run-3_T2w_uni_bcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/sub-01_run-5_T2w_uni_bcorr.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/sub-01_run-6_T2w_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/_node.pklz @@ -109,20 +111,20 @@ nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/_report/repo nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/result_srtkIntensityStandardization02_nlm.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/sub-01_run-1_T2w_nlm_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/sub-01_run-3_T2w_nlm_uni_bcorr_histnorm.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/sub-01_run-5_T2w_nlm_uni_bcorr_histnorm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/sub-01_run-6_T2w_nlm_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/result_srtkIntensityStandardization02.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/sub-01_run-1_T2w_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/sub-01_run-3_T2w_uni_bcorr_histnorm.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/sub-01_run-5_T2w_uni_bcorr_histnorm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/sub-01_run-6_T2w_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/result_srtkMaskImage01.pklz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/sub-01_run-1_T2w_nlm_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/sub-01_run-3_T2w_nlm_uni_bcorr_histnorm.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/sub-01_run-5_T2w_nlm_uni_bcorr_histnorm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/sub-01_run-6_T2w_nlm_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage02/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage02/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage02/_report/report.rst @@ -133,18 +135,13 @@ nipype/sub-01/rec-1/srr_pipeline/srtkN4BiasFieldCorrection/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkN4BiasFieldCorrection/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkN4BiasFieldCorrection/result_srtkN4BiasFieldCorrection.pklz nipype/sub-01/rec-1/srr_pipeline/srtkN4BiasFieldCorrection/SRTV_sub-01_3V_rad1_gbcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkRefineHRMaskByIntersection/_inputs.pklz -nipype/sub-01/rec-1/srr_pipeline/srtkRefineHRMaskByIntersection/_node.pklz -nipype/sub-01/rec-1/srr_pipeline/srtkRefineHRMaskByIntersection/_report/report.rst -nipype/sub-01/rec-1/srr_pipeline/srtkRefineHRMaskByIntersection/result_srtkRefineHRMaskByIntersection.pklz -nipype/sub-01/rec-1/srr_pipeline/srtkRefineHRMaskByIntersection/sub-01_T2w_uni_bcorr_histnorm_srMask.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/result_srtkSliceBySliceCorrectBiasField.pklz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/sub-01_run-1_T2w_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/sub-01_run-3_T2w_uni_bcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/sub-01_run-5_T2w_uni_bcorr.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/sub-01_run-6_T2w_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/_report/report.rst @@ -153,8 +150,8 @@ nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_ru nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-1_T2w_nlm_uni_n4bias.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-3_T2w_nlm_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-3_T2w_nlm_uni_n4bias.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-5_T2w_nlm_uni_bcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-5_T2w_nlm_uni_n4bias.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-6_T2w_nlm_uni_bcorr.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-6_T2w_nlm_uni_n4bias.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkTVSuperResolution/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkTVSuperResolution/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkTVSuperResolution/_report/report.rst @@ -165,6 +162,10 @@ nipype/sub-01/rec-1/srr_pipeline/t2ws_filtered/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/t2ws_filtered/_node.pklz nipype/sub-01/rec-1/srr_pipeline/t2ws_filtered/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/t2ws_filtered/result_t2ws_filtered.pklz +nipype/sub-01/rec-1/srr_pipeline/t2ws_filter_prior_masks/_inputs.pklz +nipype/sub-01/rec-1/srr_pipeline/t2ws_filter_prior_masks/_node.pklz +nipype/sub-01/rec-1/srr_pipeline/t2ws_filter_prior_masks/_report/report.rst +nipype/sub-01/rec-1/srr_pipeline/t2ws_filter_prior_masks/result_t2ws_filter_prior_masks.pklz pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_rec-SDI_id-1_T2w.nii.gz pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_rec-SR_id-1_T2w_desc-brain_mask.nii.gz pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_rec-SR_id-1_T2w.json @@ -175,9 +176,9 @@ pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-1_id-1_desc-preprocSR_T2w.nii.gz pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-3_desc-brain_mask.nii.gz pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-3_id-1_desc-preprocSDI_T2w.nii.gz pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-3_id-1_desc-preprocSR_T2w.nii.gz -pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-5_desc-brain_mask.nii.gz -pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-5_id-1_desc-preprocSDI_T2w.nii.gz -pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-5_id-1_desc-preprocSR_T2w.nii.gz +pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-6_desc-brain_mask.nii.gz +pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-6_id-1_desc-preprocSDI_T2w.nii.gz +pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-6_id-1_desc-preprocSR_T2w.nii.gz pymialsrtk-2.0.1-dev/sub-01/xfm/sub-01_run-1_id-1_T2w_from-origin_to-SDI_mode-image_xfm.txt pymialsrtk-2.0.1-dev/sub-01/xfm/sub-01_run-3_id-1_T2w_from-origin_to-SDI_mode-image_xfm.txt -pymialsrtk-2.0.1-dev/sub-01/xfm/sub-01_run-5_id-1_T2w_from-origin_to-SDI_mode-image_xfm.txt +pymialsrtk-2.0.1-dev/sub-01/xfm/sub-01_run-6_id-1_T2w_from-origin_to-SDI_mode-image_xfm.txt diff --git a/.circleci/test-03_outputs.txt b/.circleci/test-03_outputs.txt index 6b4057f90..d37a28d89 100644 --- a/.circleci/test-03_outputs.txt +++ b/.circleci/test-03_outputs.txt @@ -40,7 +40,7 @@ nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/result_nlmDenoise.pklz nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/sub-01_run-1_T2w_nlm.nii.gz nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/sub-01_run-3_T2w_nlm.nii.gz -nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/sub-01_run-5_T2w_nlm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/sub-01_run-6_T2w_nlm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/_node.pklz @@ -48,13 +48,13 @@ nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/_report/report. nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/result_srtkCorrectSliceIntensity01_nlm.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/sub-01_run-1_T2w_nlm_uni.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/sub-01_run-3_T2w_nlm_uni.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/sub-01_run-5_T2w_nlm_uni.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/sub-01_run-6_T2w_nlm_uni.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/result_srtkCorrectSliceIntensity01.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/sub-01_run-1_T2w_uni.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/sub-01_run-3_T2w_uni.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/sub-01_run-5_T2w_uni.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/sub-01_run-6_T2w_uni.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/_node.pklz @@ -62,13 +62,13 @@ nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/_report/report. nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/result_srtkCorrectSliceIntensity02_nlm.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/sub-01_run-1_T2w_nlm_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/sub-01_run-3_T2w_nlm_uni_bcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/sub-01_run-5_T2w_nlm_uni_bcorr.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/sub-01_run-6_T2w_nlm_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/result_srtkCorrectSliceIntensity02.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/sub-01_run-1_T2w_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/sub-01_run-3_T2w_uni_bcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/sub-01_run-5_T2w_uni_bcorr.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/sub-01_run-6_T2w_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/_node.pklz @@ -76,13 +76,18 @@ nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/_report/report.r nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/result_srtkHistogramNormalization_nlm.pklz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/sub-01_run-1_T2w_nlm_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/sub-01_run-3_T2w_nlm_uni_bcorr_histnorm.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/sub-01_run-5_T2w_nlm_uni_bcorr_histnorm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/sub-01_run-6_T2w_nlm_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/result_srtkHistogramNormalization.pklz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/sub-01_run-1_T2w_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/sub-01_run-3_T2w_uni_bcorr_histnorm.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/sub-01_run-5_T2w_uni_bcorr_histnorm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/sub-01_run-6_T2w_uni_bcorr_histnorm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkHRMask/_inputs.pklz +nipype/sub-01/rec-1/srr_pipeline/srtkHRMask/_node.pklz +nipype/sub-01/rec-1/srr_pipeline/srtkHRMask/_report/report.rst +nipype/sub-01/rec-1/srr_pipeline/srtkHRMask/result_srtkHRMask.pklz +nipype/sub-01/rec-1/srr_pipeline/srtkHRMask/SRTV_sub-01_3V_rad1_srMask.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/_report/report.rst @@ -90,7 +95,7 @@ nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/result_srtkImageReconst nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/SDI_sub-01_3V_rad1.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/sub-01_run-1_T2w_nlm_uni_bcorr_histnorm_transform_3V.txt nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/sub-01_run-3_T2w_nlm_uni_bcorr_histnorm_transform_3V.txt -nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/sub-01_run-5_T2w_nlm_uni_bcorr_histnorm_transform_3V.txt +nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/sub-01_run-6_T2w_nlm_uni_bcorr_histnorm_transform_3V.txt nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/_node.pklz @@ -98,13 +103,13 @@ nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/_report/repo nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/result_srtkIntensityStandardization01_nlm.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/sub-01_run-1_T2w_nlm_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/sub-01_run-3_T2w_nlm_uni_bcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/sub-01_run-5_T2w_nlm_uni_bcorr.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/sub-01_run-6_T2w_nlm_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/result_srtkIntensityStandardization01.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/sub-01_run-1_T2w_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/sub-01_run-3_T2w_uni_bcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/sub-01_run-5_T2w_uni_bcorr.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/sub-01_run-6_T2w_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/_node.pklz @@ -112,20 +117,20 @@ nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/_report/repo nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/result_srtkIntensityStandardization02_nlm.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/sub-01_run-1_T2w_nlm_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/sub-01_run-3_T2w_nlm_uni_bcorr_histnorm.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/sub-01_run-5_T2w_nlm_uni_bcorr_histnorm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/sub-01_run-6_T2w_nlm_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/result_srtkIntensityStandardization02.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/sub-01_run-1_T2w_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/sub-01_run-3_T2w_uni_bcorr_histnorm.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/sub-01_run-5_T2w_uni_bcorr_histnorm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/sub-01_run-6_T2w_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/result_srtkMaskImage01.pklz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/sub-01_run-1_T2w_nlm_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/sub-01_run-3_T2w_nlm_uni_bcorr_histnorm.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/sub-01_run-5_T2w_nlm_uni_bcorr_histnorm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/sub-01_run-6_T2w_nlm_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage02/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage02/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage02/_report/report.rst @@ -136,18 +141,13 @@ nipype/sub-01/rec-1/srr_pipeline/srtkN4BiasFieldCorrection/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkN4BiasFieldCorrection/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkN4BiasFieldCorrection/result_srtkN4BiasFieldCorrection.pklz nipype/sub-01/rec-1/srr_pipeline/srtkN4BiasFieldCorrection/SRTV_sub-01_3V_rad1_gbcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkRefineHRMaskByIntersection/_inputs.pklz -nipype/sub-01/rec-1/srr_pipeline/srtkRefineHRMaskByIntersection/_node.pklz -nipype/sub-01/rec-1/srr_pipeline/srtkRefineHRMaskByIntersection/_report/report.rst -nipype/sub-01/rec-1/srr_pipeline/srtkRefineHRMaskByIntersection/result_srtkRefineHRMaskByIntersection.pklz -nipype/sub-01/rec-1/srr_pipeline/srtkRefineHRMaskByIntersection/sub-01_T2w_uni_bcorr_histnorm_srMask.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/result_srtkSliceBySliceCorrectBiasField.pklz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/sub-01_run-1_T2w_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/sub-01_run-3_T2w_uni_bcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/sub-01_run-5_T2w_uni_bcorr.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/sub-01_run-6_T2w_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/_report/report.rst @@ -156,8 +156,8 @@ nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_ru nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-1_T2w_nlm_uni_n4bias.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-3_T2w_nlm_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-3_T2w_nlm_uni_n4bias.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-5_T2w_nlm_uni_bcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-5_T2w_nlm_uni_n4bias.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-6_T2w_nlm_uni_bcorr.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-6_T2w_nlm_uni_n4bias.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkTVSuperResolution/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkTVSuperResolution/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkTVSuperResolution/_report/report.rst @@ -178,9 +178,9 @@ pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-1_T2w_desc-brain_mask.nii.gz pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-3_id-1_desc-preprocSDI_T2w.nii.gz pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-3_id-1_desc-preprocSR_T2w.nii.gz pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-3_T2w_desc-brain_mask.nii.gz -pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-5_id-1_desc-preprocSDI_T2w.nii.gz -pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-5_id-1_desc-preprocSR_T2w.nii.gz -pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-5_T2w_desc-brain_mask.nii.gz +pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-6_id-1_desc-preprocSDI_T2w.nii.gz +pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-6_id-1_desc-preprocSR_T2w.nii.gz +pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-6_T2w_desc-brain_mask.nii.gz pymialsrtk-2.0.1-dev/sub-01/xfm/sub-01_run-1_id-1_T2w_from-origin_to-SDI_mode-image_xfm.txt pymialsrtk-2.0.1-dev/sub-01/xfm/sub-01_run-3_id-1_T2w_from-origin_to-SDI_mode-image_xfm.txt -pymialsrtk-2.0.1-dev/sub-01/xfm/sub-01_run-5_id-1_T2w_from-origin_to-SDI_mode-image_xfm.txt +pymialsrtk-2.0.1-dev/sub-01/xfm/sub-01_run-6_id-1_T2w_from-origin_to-SDI_mode-image_xfm.txt diff --git a/.circleci/test-04_outputs.txt b/.circleci/test-04_outputs.txt index b310f5dce..6b190c8e7 100644 --- a/.circleci/test-04_outputs.txt +++ b/.circleci/test-04_outputs.txt @@ -26,10 +26,7 @@ nipype/sub-01/rec-1/srr_pipeline/Multiple_Brain_extraction/_node.pklz nipype/sub-01/rec-1/srr_pipeline/Multiple_Brain_extraction/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/Multiple_Brain_extraction/result_Multiple_Brain_extraction.pklz nipype/sub-01/rec-1/srr_pipeline/Multiple_Brain_extraction/sub-01_run-1_T2w_brainMask.nii.gz -nipype/sub-01/rec-1/srr_pipeline/Multiple_Brain_extraction/sub-01_run-2_T2w_brainMask.nii.gz nipype/sub-01/rec-1/srr_pipeline/Multiple_Brain_extraction/sub-01_run-3_T2w_brainMask.nii.gz -nipype/sub-01/rec-1/srr_pipeline/Multiple_Brain_extraction/sub-01_run-4_T2w_brainMask.nii.gz -nipype/sub-01/rec-1/srr_pipeline/Multiple_Brain_extraction/sub-01_run-5_T2w_brainMask.nii.gz nipype/sub-01/rec-1/srr_pipeline/Multiple_Brain_extraction/sub-01_run-6_T2w_brainMask.nii.gz nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/_node.pklz @@ -37,7 +34,7 @@ nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/result_nlmDenoise.pklz nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/sub-01_run-1_T2w_nlm.nii.gz nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/sub-01_run-3_T2w_nlm.nii.gz -nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/sub-01_run-5_T2w_nlm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/nlmDenoise/sub-01_run-6_T2w_nlm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/_node.pklz @@ -45,13 +42,13 @@ nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/_report/report. nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/result_srtkCorrectSliceIntensity01_nlm.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/sub-01_run-1_T2w_nlm_uni.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/sub-01_run-3_T2w_nlm_uni.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/sub-01_run-5_T2w_nlm_uni.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01_nlm/sub-01_run-6_T2w_nlm_uni.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/result_srtkCorrectSliceIntensity01.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/sub-01_run-1_T2w_uni.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/sub-01_run-3_T2w_uni.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/sub-01_run-5_T2w_uni.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity01/sub-01_run-6_T2w_uni.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/_node.pklz @@ -59,13 +56,13 @@ nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/_report/report. nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/result_srtkCorrectSliceIntensity02_nlm.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/sub-01_run-1_T2w_nlm_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/sub-01_run-3_T2w_nlm_uni_bcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/sub-01_run-5_T2w_nlm_uni_bcorr.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02_nlm/sub-01_run-6_T2w_nlm_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/result_srtkCorrectSliceIntensity02.pklz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/sub-01_run-1_T2w_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/sub-01_run-3_T2w_uni_bcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/sub-01_run-5_T2w_uni_bcorr.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkCorrectSliceIntensity02/sub-01_run-6_T2w_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/_node.pklz @@ -73,13 +70,18 @@ nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/_report/report.r nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/result_srtkHistogramNormalization_nlm.pklz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/sub-01_run-1_T2w_nlm_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/sub-01_run-3_T2w_nlm_uni_bcorr_histnorm.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/sub-01_run-5_T2w_nlm_uni_bcorr_histnorm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization_nlm/sub-01_run-6_T2w_nlm_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/result_srtkHistogramNormalization.pklz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/sub-01_run-1_T2w_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/sub-01_run-3_T2w_uni_bcorr_histnorm.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/sub-01_run-5_T2w_uni_bcorr_histnorm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkHistogramNormalization/sub-01_run-6_T2w_uni_bcorr_histnorm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkHRMask/_inputs.pklz +nipype/sub-01/rec-1/srr_pipeline/srtkHRMask/_node.pklz +nipype/sub-01/rec-1/srr_pipeline/srtkHRMask/_report/report.rst +nipype/sub-01/rec-1/srr_pipeline/srtkHRMask/result_srtkHRMask.pklz +nipype/sub-01/rec-1/srr_pipeline/srtkHRMask/SRTV_sub-01_3V_rad1_srMask.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/_report/report.rst @@ -87,7 +89,7 @@ nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/result_srtkImageReconst nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/SDI_sub-01_3V_rad1.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/sub-01_run-1_T2w_nlm_uni_bcorr_histnorm_transform_3V.txt nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/sub-01_run-3_T2w_nlm_uni_bcorr_histnorm_transform_3V.txt -nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/sub-01_run-5_T2w_nlm_uni_bcorr_histnorm_transform_3V.txt +nipype/sub-01/rec-1/srr_pipeline/srtkImageReconstruction/sub-01_run-6_T2w_nlm_uni_bcorr_histnorm_transform_3V.txt nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/_node.pklz @@ -95,13 +97,13 @@ nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/_report/repo nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/result_srtkIntensityStandardization01_nlm.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/sub-01_run-1_T2w_nlm_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/sub-01_run-3_T2w_nlm_uni_bcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/sub-01_run-5_T2w_nlm_uni_bcorr.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01_nlm/sub-01_run-6_T2w_nlm_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/result_srtkIntensityStandardization01.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/sub-01_run-1_T2w_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/sub-01_run-3_T2w_uni_bcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/sub-01_run-5_T2w_uni_bcorr.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization01/sub-01_run-6_T2w_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/_node.pklz @@ -109,20 +111,20 @@ nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/_report/repo nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/result_srtkIntensityStandardization02_nlm.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/sub-01_run-1_T2w_nlm_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/sub-01_run-3_T2w_nlm_uni_bcorr_histnorm.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/sub-01_run-5_T2w_nlm_uni_bcorr_histnorm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02_nlm/sub-01_run-6_T2w_nlm_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/result_srtkIntensityStandardization02.pklz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/sub-01_run-1_T2w_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/sub-01_run-3_T2w_uni_bcorr_histnorm.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/sub-01_run-5_T2w_uni_bcorr_histnorm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkIntensityStandardization02/sub-01_run-6_T2w_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/result_srtkMaskImage01.pklz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/sub-01_run-1_T2w_nlm_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/sub-01_run-3_T2w_nlm_uni_bcorr_histnorm.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/sub-01_run-5_T2w_nlm_uni_bcorr_histnorm.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage01/sub-01_run-6_T2w_nlm_uni_bcorr_histnorm.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage02/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage02/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkMaskImage02/_report/report.rst @@ -133,18 +135,13 @@ nipype/sub-01/rec-1/srr_pipeline/srtkN4BiasFieldCorrection/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkN4BiasFieldCorrection/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkN4BiasFieldCorrection/result_srtkN4BiasFieldCorrection.pklz nipype/sub-01/rec-1/srr_pipeline/srtkN4BiasFieldCorrection/SRTV_sub-01_3V_rad1_gbcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkRefineHRMaskByIntersection/_inputs.pklz -nipype/sub-01/rec-1/srr_pipeline/srtkRefineHRMaskByIntersection/_node.pklz -nipype/sub-01/rec-1/srr_pipeline/srtkRefineHRMaskByIntersection/_report/report.rst -nipype/sub-01/rec-1/srr_pipeline/srtkRefineHRMaskByIntersection/result_srtkRefineHRMaskByIntersection.pklz -nipype/sub-01/rec-1/srr_pipeline/srtkRefineHRMaskByIntersection/sub-01_T2w_uni_bcorr_histnorm_srMask.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/result_srtkSliceBySliceCorrectBiasField.pklz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/sub-01_run-1_T2w_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/sub-01_run-3_T2w_uni_bcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/sub-01_run-5_T2w_uni_bcorr.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceCorrectBiasField/sub-01_run-6_T2w_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/_report/report.rst @@ -153,8 +150,8 @@ nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_ru nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-1_T2w_nlm_uni_n4bias.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-3_T2w_nlm_uni_bcorr.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-3_T2w_nlm_uni_n4bias.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-5_T2w_nlm_uni_bcorr.nii.gz -nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-5_T2w_nlm_uni_n4bias.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-6_T2w_nlm_uni_bcorr.nii.gz +nipype/sub-01/rec-1/srr_pipeline/srtkSliceBySliceN4BiasFieldCorrection/sub-01_run-6_T2w_nlm_uni_n4bias.nii.gz nipype/sub-01/rec-1/srr_pipeline/srtkTVSuperResolution/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/srtkTVSuperResolution/_node.pklz nipype/sub-01/rec-1/srr_pipeline/srtkTVSuperResolution/_report/report.rst @@ -165,6 +162,10 @@ nipype/sub-01/rec-1/srr_pipeline/t2ws_filtered/_inputs.pklz nipype/sub-01/rec-1/srr_pipeline/t2ws_filtered/_node.pklz nipype/sub-01/rec-1/srr_pipeline/t2ws_filtered/_report/report.rst nipype/sub-01/rec-1/srr_pipeline/t2ws_filtered/result_t2ws_filtered.pklz +nipype/sub-01/rec-1/srr_pipeline/t2ws_filter_prior_masks/_inputs.pklz +nipype/sub-01/rec-1/srr_pipeline/t2ws_filter_prior_masks/_node.pklz +nipype/sub-01/rec-1/srr_pipeline/t2ws_filter_prior_masks/_report/report.rst +nipype/sub-01/rec-1/srr_pipeline/t2ws_filter_prior_masks/result_t2ws_filter_prior_masks.pklz pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_rec-SDI_id-1_T2w.nii.gz pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_rec-SR_id-1_T2w_desc-brain_mask.nii.gz pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_rec-SR_id-1_T2w.json @@ -175,9 +176,9 @@ pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-1_id-1_desc-preprocSR_T2w.nii.gz pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-3_desc-brain_mask.nii.gz pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-3_id-1_desc-preprocSDI_T2w.nii.gz pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-3_id-1_desc-preprocSR_T2w.nii.gz -pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-5_desc-brain_mask.nii.gz -pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-5_id-1_desc-preprocSDI_T2w.nii.gz -pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-5_id-1_desc-preprocSR_T2w.nii.gz +pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-6_desc-brain_mask.nii.gz +pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-6_id-1_desc-preprocSDI_T2w.nii.gz +pymialsrtk-2.0.1-dev/sub-01/anat/sub-01_run-6_id-1_desc-preprocSR_T2w.nii.gz pymialsrtk-2.0.1-dev/sub-01/xfm/sub-01_run-1_id-1_T2w_from-origin_to-SDI_mode-image_xfm.txt pymialsrtk-2.0.1-dev/sub-01/xfm/sub-01_run-3_id-1_T2w_from-origin_to-SDI_mode-image_xfm.txt -pymialsrtk-2.0.1-dev/sub-01/xfm/sub-01_run-5_id-1_T2w_from-origin_to-SDI_mode-image_xfm.txt +pymialsrtk-2.0.1-dev/sub-01/xfm/sub-01_run-6_id-1_T2w_from-origin_to-SDI_mode-image_xfm.txt diff --git a/data/code/participants_params.json b/data/code/participants_params.json index 1abaaa081..10312eba5 100644 --- a/data/code/participants_params.json +++ b/data/code/participants_params.json @@ -1,9 +1,14 @@ { - "01": [ - { "sr-id":1, - "stacksOrder": [1, 3, 5], - "paramTV": { - "lambdaTV": 0.75, - "deltatTV": 0.01 } - }] + "01": [ + { + "sr-id":1, + "stacks": [3,1,6], + "paramTV": { + "lambdaTV": 0.75, + "deltatTV": 0.01 }, + "custom_interfaces": { + "skip_stacks_ordering": true, + "skip_svr": false + } + }] } \ No newline at end of file diff --git a/docker/bidsapp/run.py b/docker/bidsapp/run.py index 3f41c655d..f500c8ffe 100644 --- a/docker/bidsapp/run.py +++ b/docker/bidsapp/run.py @@ -136,7 +136,8 @@ def check_and_return_valid_nb_of_cores(openmp_nb_of_cores, nipype_nb_of_cores, o return openmp_nb_of_cores, nipype_nb_of_cores -def main(bids_dir, output_dir, subject, p_stacksOrder, session, paramTV=None, number_of_cores=1, srID=None, masks_derivatives_dir=''): +def main(bids_dir, output_dir, subject, p_stacks, session, paramTV=None, number_of_cores=1, srID=None, + masks_derivatives_dir='', dict_custom_interfaces=None): #skip_svr=False, do_refine_hr_mask=False, skip_nlm_denoising=False, skip_stacks_ordering=False): """Main function that creates and executes the workflow of the BIDS App on one subject. It creates an instance of the class :class:`pymialsrtk.pipelines.anatomical.srr.AnatomicalPipeline`, @@ -153,8 +154,8 @@ def main(bids_dir, output_dir, subject, p_stacksOrder, session, paramTV=None, nu subject Subject ID (in the form ``sub-XX``) - p_stacks_order list<> - List of stack indices that specify the order of the stacks + p_stacks list<> + List of stack to be used in the reconstruction. The specified order is kept if `skip_stacks_ordering` is True. session Session ID if applicable (in the form ``ses-YY``) @@ -169,8 +170,20 @@ def main(bids_dir, output_dir, subject, p_stacksOrder, session, paramTV=None, nu ID of the reconstruction useful to distinguish when multiple reconstructions with different order of stacks are run on the same subject - use_manual_masks - If set to True, use manual masks expected to be in ``/output_dir/manual_masks``. + masks_derivatives_dir + directory basename in BIDS directory derivatives where to search for masks (optional) + + skip_svr (optional) + Weither the Slice-to-Volume Registration should be skipped in the image reconstruction. (default is False) + + do_refine_hr_mask (optional) + Weither a refinement of the HR mask should be performed. (default is False) + + skip_nlm_denoising (optional) + Weither the NLM denoising preprocessing should be skipped. (default is False) + + skip_stacks_ordering (optional) + Weither the automatic stacks ordering should be skipped. (default is False) """ @@ -187,11 +200,16 @@ def main(bids_dir, output_dir, subject, p_stacksOrder, session, paramTV=None, nu pipeline = AnatomicalPipeline(bids_dir, output_dir, subject, - p_stacksOrder, + p_stacks, srID, session, paramTV, - masks_derivatives_dir) + masks_derivatives_dir, + p_dict_custom_interfaces=dict_custom_interfaces) + # skip_svr, + # do_refine_hr_mask, + # p_skip_nlm_denoising=skip_nlm_denoising, + # p_skip_stacks_ordering=skip_stacks_ordering) # Create the super resolution Nipype workflow pipeline.create_workflow() @@ -236,40 +254,26 @@ def main(bids_dir, output_dir, subject, p_stacksOrder, session, paramTV=None, nu for sr_params in sr_list: ses = sr_params["session"] if "session" in sr_params.keys() else None - stacks_order = sr_params['stacksOrder'] if 'stacksOrder' in sr_params.keys() else None + stacks = sr_params['stacks'] if 'stacks' in sr_params.keys() else None + paramTV = sr_params['paramTV'] if 'paramTV' in sr_params.keys() else None + + dict_custom_interfaces = sr_params['custom_interfaces'] if 'custom_interfaces' in sr_params.keys() else None - print('sr_params') if ("sr-id" not in sr_params.keys()): print('Do not process subjects %s because of missing parameters.' % sub) continue - if 'paramTV' in sr_params.keys(): - - res = main(bids_dir=args.bids_dir, - output_dir=args.output_dir, - subject=sub, - p_stacksOrder=stacks_order, - session=ses, - paramTV=sr_params['paramTV'], - srID=sr_params['sr-id'], - masks_derivatives_dir=args.masks_derivatives_dir, - number_of_cores=nipype_nb_of_cores) - - # sys.exit(0) - - else: - - res = main(bids_dir=args.bids_dir, - output_dir=args.output_dir, - subject=sub, - p_stacksOrder=stacks_order, - session=ses, - srID=sr_params['sr-id'], - masks_derivatives_dir=args.masks_derivatives_dir, - number_of_cores=nipype_nb_of_cores - ) - - # sys.exit(0) + res = main(bids_dir=args.bids_dir, + output_dir=args.output_dir, + subject=sub, + p_stacks=stacks, + session=ses, + paramTV=paramTV, + srID=sr_params['sr-id'], + masks_derivatives_dir=args.masks_derivatives_dir, + number_of_cores=nipype_nb_of_cores, + dict_custom_interfaces = dict_custom_interfaces) + else: print('ERROR: Processing of all dataset not implemented yet\n At least one participant label should be provided') sys.exit(2) diff --git a/documentation/usage.rst b/documentation/usage.rst index f673400b3..c7e50af0b 100644 --- a/documentation/usage.rst +++ b/documentation/usage.rst @@ -28,7 +28,7 @@ The BIDS App configuration file specified by the input flag `--param_file` adopt "01": [ { "sr-id": 1, ("session": 01,) - "stacksOrder": [1, 3, 5, 2, 4, 6], + "stacks": [1, 3, 5, 2, 4, 6], "paramTV": { "lambdaTV": 0.75, "deltatTV": 0.01 } @@ -36,15 +36,20 @@ The BIDS App configuration file specified by the input flag `--param_file` adopt "01": [ { "sr-id": 2, ("session": 01,) - "stacksOrder": [2, 3, 5, 4], + "stacks": [2, 3, 5, 4], "paramTV": { "lambdaTV": 0.75, - "deltatTV": 0.01 } + "deltatTV": 0.01 }, + "custom_interfaces": + { + "skip_svr": true, + "do_refine_hr_mask": false, + "skip_stacks_ordering": false } }] "02": [ { "sr-id": 1, ("session": 01,) - "stacksOrder": [3, 1, 2, 4], + "stacks": [3, 1, 2, 4], "paramTV": { "lambdaTV": 0.7, "deltatTV": 0.01 } @@ -53,14 +58,23 @@ The BIDS App configuration file specified by the input flag `--param_file` adopt } where: - * ``"sr-id"`` allows to distinguish between runs with different configurations of the same acquisition set. + * ``"sr-id"`` (mandatoy) allows to distinguish between runs with different configurations of the same acquisition set. + + * ``"stacks"`` (optional) defines the list of scans to be used in the reconstruction. The specified order is considered if ``"skip_stacks_ordering"`` is False + + * ``"paramTV"`` (optional): ``"lambdaTV"`` (regularization) and ``"deltaTV"`` (optimization time step) are parameters of the TV super-resolution algorithm. + + * ``"session"`` (optional) It MUST be specified if you have a BIDS dataset composed of multiple sessions with the *sub-XX/ses-YY* structure. + + * ``"custom_interfaces"`` (optional): indicates weither optional interfaces of the pipeline should be performed. - * ``"stacksOrder"`` defines the list and order od scans to be used in the reconstruction. + * ``"skip_svr"`` (optional) the Slice-to-Volume Registration should be skipped in the image reconstruction. (default is False) - * ``"lambdaTV"`` (regularization) and `deltaTV` (optimization time step) are parameters of the TV super-resolution algorithm. + * ``"do_refine_hr_mask"`` (optional) indicates weither a refinement of the HR mask should be performed. (default is False) - * ``"session"`` MUST be specified if you have a BIDS dataset composed of multiple sessions with the *sub-XX/ses-YY* structure. + * ``"skip_nlm_denoising"`` (optional) indicates weither the NLM denoising preprocessing should be skipped. (default is False) + * ``"skip_stacks_ordering"`` (optional) indicates weither the order of stacks specified in ``"stacks"`` should be kept or re-computed. (default is False) .. important:: Before using any BIDS App, we highly recommend you to validate your BIDS structured dataset with the free, online `BIDS Validator `_. diff --git a/pymialsrtk/interfaces/postprocess.py b/pymialsrtk/interfaces/postprocess.py index ae5ab20b6..994837be8 100644 --- a/pymialsrtk/interfaces/postprocess.py +++ b/pymialsrtk/interfaces/postprocess.py @@ -97,9 +97,7 @@ def _run_interface(self, runtime): ''.join((name, self.inputs.out_lrmask_postfix, ext))) cmd += ['-O', out_file] - _, name, ext = split_filename(os.path.abspath(self.inputs.input_images[0])) - run_id = (name.split('run-')[1]).split('_')[0] - name = name.replace('_run-'+run_id+'_', '_') + _, name, ext = split_filename(os.path.abspath(self.inputs.input_sr)) out_file = os.path.join(os.getcwd().replace(self.inputs.bids_dir, '/fetaldata'), ''.join((name, self.inputs.out_srmask_postfix, ext))) @@ -118,9 +116,7 @@ def _run_interface(self, runtime): def _list_outputs(self): outputs = self._outputs().get() - _, name, ext = split_filename(os.path.abspath(self.inputs.input_images[0])) - run_id = (name.split('run-')[1]).split('_')[0] - name = name.replace('_run-'+run_id+'_', '_') + _, name, ext = split_filename(os.path.abspath(self.inputs.input_sr)) outputs['output_srmask'] = os.path.join(os.getcwd().replace(self.inputs.bids_dir, '/fetaldata'), ''.join((name, self.inputs.out_srmask_postfix, ext))) outputs['output_lrmasks'] = glob(os.path.abspath(''.join(["*", self.inputs.out_lrmask_postfix, ext]))) @@ -301,10 +297,10 @@ def _run_interface(self, runtime): self.m_substitutions.append(('SRTV_' + self.inputs.sub_ses + '_' + str(len(self.inputs.stacks_order)) + 'V_rad1.json', self.inputs.sub_ses + '_rec-SR' + '_id-' + str(self.inputs.sr_id) + '_T2w.json')) - print(self.inputs.sub_ses + '_T2w_uni_bcorr_histnorm_srMask.nii.gz', + print('SRTV_' + self.inputs.sub_ses + '_' + str(len(self.inputs.stacks_order)) + 'V_rad1_srMask.nii.gz', ' ---> ', self.inputs.sub_ses + '_rec-SR' + '_id-' + str(self.inputs.sr_id) + '_T2w_desc-brain_mask.nii.gz') - self.m_substitutions.append((self.inputs.sub_ses + '_T2w_uni_bcorr_histnorm_srMask.nii.gz', + self.m_substitutions.append(('SRTV_' + self.inputs.sub_ses + '_' + str(len(self.inputs.stacks_order)) + 'V_rad1_srMask.nii.gz', self.inputs.sub_ses + '_rec-SR' + '_id-' + str(self.inputs.sr_id) + '_T2w_desc-brain_mask.nii.gz')) return runtime @@ -314,3 +310,21 @@ def _list_outputs(self): outputs['substitutions'] = self.m_substitutions return outputs + + + +def binarize_image(input_image): + import nibabel as nib + import os + from nipype.utils.filemanip import split_filename + + im = nib.load(input_image) + + out = nib.Nifti1Image(dataobj=(im.get_fdata() > 0.01).astype(int), affine=im.affine) + out._header = im.header + + _,name,ext = split_filename(input_image) + output_mask = name + '_srMask' + ext + nib.save(filename=output_mask, img=out) + + return os.path.abspath(output_mask) \ No newline at end of file diff --git a/pymialsrtk/interfaces/reconstruction.py b/pymialsrtk/interfaces/reconstruction.py index 0349dd987..e35f58200 100644 --- a/pymialsrtk/interfaces/reconstruction.py +++ b/pymialsrtk/interfaces/reconstruction.py @@ -54,6 +54,8 @@ class MialsrtkImageReconstructionInputSpec(BaseInterfaceInputSpec): stacks_order = traits.List(mandatory=True, desc='List of stack run-id that specify the order of the stacks') + no_reg = traits.Bool(default=False, desc="Skip slice-to-volume registration.") + class MialsrtkImageReconstructionOutputSpec(TraitedSpec): """Class used to represent outputs of the MialsrtkImageReconstruction interface.""" @@ -121,15 +123,15 @@ def _run_interface(self, runtime): params.append("-o") params.append(out_file) + if self.inputs.no_reg: + params.append("--noreg") + cmd = ["mialsrtkImageReconstruction"] cmd += params try: print('... cmd: {}'.format(cmd)) cmd = ' '.join(cmd) - print("") - print(cmd) - print("") run(cmd, env={}, cwd=os.path.abspath(self.inputs.bids_dir)) except Exception as e: print('Failed') @@ -305,7 +307,7 @@ def _run_interface(self, runtime): output_json_path = ''.join([self.m_out_files, '.json']) with open(output_json_path, 'w') as outfile: - json.dump(self.m_output_dict, outfile) + json.dump(self.m_output_dict, outfile, indent=4) print('json dumped.') try: diff --git a/pymialsrtk/pipelines/anatomical/srr.py b/pymialsrtk/pipelines/anatomical/srr.py index ec4871d6f..2ade6b47c 100644 --- a/pymialsrtk/pipelines/anatomical/srr.py +++ b/pymialsrtk/pipelines/anatomical/srr.py @@ -11,7 +11,7 @@ from nipype import config, logging # from nipype.interfaces.io import BIDSDataGrabber from nipype.interfaces.io import DataGrabber, DataSink -from nipype.interfaces.utility import IdentityInterface +from nipype.interfaces.utility import IdentityInterface, Function # from nipype.pipeline import Node, MapNode, Workflow from nipype.pipeline import Node, Workflow @@ -63,12 +63,25 @@ class AnatomicalPipeline: session Session ID if applicable (in the form ``ses-YY``) - p_stacks_order list<> - List of stack indices that specify the order of the stacks + m_stacks list<> + List of stack to be used in the reconstruction. The specified order is kept if `skip_stacks_ordering` is True. m_masks_derivatives_dir directory basename in BIDS directory derivatives where to search for masks (optional) + m_skip_svr + Weither the Slice-to-Volume Registration should be skipped in the image reconstruction. (default is False) + + m_do_refine_hr_mask + Weither a refinement of the HR mask should be performed. (default is False) + + m_skip_nlm_denoising + Weither the NLM denoising preprocessing should be skipped. (default is False) + + m_skip_stacks_ordering (optional) + Weither the automatic stacks ordering should be skipped. (default is False) + + Examples -------- >>> from pymialsrtk.pipelines.anatomical.srr import AnatomicalPipeline @@ -99,14 +112,21 @@ class AnatomicalPipeline: primal_dual_loops = "20" sr_id = 1 session = None - p_stacks_order = None + + m_stacks = None + + # Custom interfaces options + m_skip_svr = None + m_skip_nlm_denoising = None + m_skip_stacks_ordering = None + m_do_refine_hr_mask = None m_masks_derivatives_dir = None use_manual_masks = False - def __init__(self, bids_dir, output_dir, subject, - p_stacks_order, sr_id, session=None, paramTV=None, - p_masks_derivatives_dir=None): + def __init__(self, bids_dir, output_dir, subject, p_stacks=None, sr_id=1, + session=None, paramTV=None, p_masks_derivatives_dir=None, + p_dict_custom_interfaces = None): """Constructor of AnatomicalPipeline class instance.""" # BIDS processing parameters @@ -115,7 +135,7 @@ def __init__(self, bids_dir, output_dir, subject, self.subject = subject self.sr_id = sr_id self.session = session - self.p_stacks_order = p_stacks_order + self.m_stacks = p_stacks # (default) sr tv parameters if paramTV is None: @@ -129,8 +149,19 @@ def __init__(self, bids_dir, output_dir, subject, self.m_masks_derivatives_dir = p_masks_derivatives_dir self.use_manual_masks = True if self.m_masks_derivatives_dir is not None else False - self.compute_stacks_order = True if self.p_stacks_order is None else False + # Custom interfaces and default values. + if p_dict_custom_interfaces is not None: + self.m_skip_svr = p_dict_custom_interfaces['skip_svr'] if 'skip_svr' in p_dict_custom_interfaces.keys() else False + self.m_do_refine_hr_mask = p_dict_custom_interfaces['do_refine_hr_mask'] if 'do_refine_hr_mask' in p_dict_custom_interfaces.keys() else False + self.m_skip_nlm_denoising = p_dict_custom_interfaces['skip_nlm_denoising'] if 'skip_nlm_denoising' in p_dict_custom_interfaces.keys() else False + self.m_skip_stacks_ordering = p_dict_custom_interfaces['skip_stacks_ordering'] if \ + ((self.m_stacks is not None) and ('skip_stacks_ordering' in p_dict_custom_interfaces.keys())) else False + else: + self.m_skip_svr = False + self.m_do_refine_hr_mask = False + self.m_skip_nlm_denoising = False + self.m_skip_stacks_ordering = False def create_workflow(self): """Create the Niype workflow of the super-resolution pipeline. @@ -240,6 +271,11 @@ def create_workflow(self): dg.inputs.field_template = dict(T2ws=os.path.join(self.subject, self.session, 'anat', '_'.join([sub_ses, '*run-*', '*T2w.nii.gz']))) + if self.m_stacks is not None: + print('if is not self.m_stacks !!! ') + t2ws_filter_prior_masks = Node(interface=preprocess.FilteringByRunid(), name='t2ws_filter_prior_masks') + t2ws_filter_prior_masks.inputs.stacks_id = self.m_stacks + brainMask = Node(interface = preprocess.MultipleBrainExtraction(), name='Multiple_Brain_extraction') brainMask.inputs.bids_dir = self.bids_dir brainMask.inputs.in_ckpt_loc = pkg_resources.resource_filename("pymialsrtk", @@ -258,19 +294,21 @@ def create_workflow(self): t2ws_filtered = Node(interface=preprocess.FilteringByRunid(), name='t2ws_filtered') masks_filtered = Node(interface=preprocess.FilteringByRunid(), name='masks_filtered') - if self.compute_stacks_order: + + if not self.m_skip_stacks_ordering: stacksOrdering = Node(interface=preprocess.StacksOrdering(), name='stackOrdering') else: stacksOrdering = Node(interface=IdentityInterface(fields=['stacks_order']), name='stackOrdering') - stacksOrdering.inputs.stacks_order = self.p_stacks_order + stacksOrdering.inputs.stacks_order = self.m_stacks - nlmDenoise = Node(interface=preprocess.MultipleBtkNLMDenoising(), name='nlmDenoise') - nlmDenoise.inputs.bids_dir = self.bids_dir + if not self.m_skip_nlm_denoising: + nlmDenoise = Node(interface=preprocess.MultipleBtkNLMDenoising(), name='nlmDenoise') + nlmDenoise.inputs.bids_dir = self.bids_dir - # Sans le mask le premier correct slice intensity... - srtkCorrectSliceIntensity01_nlm = Node(interface=preprocess.MultipleMialsrtkCorrectSliceIntensity(), name='srtkCorrectSliceIntensity01_nlm') - srtkCorrectSliceIntensity01_nlm.inputs.bids_dir = self.bids_dir - srtkCorrectSliceIntensity01_nlm.inputs.out_postfix = '_uni' + # Sans le mask le premier correct slice intensity... + srtkCorrectSliceIntensity01_nlm = Node(interface=preprocess.MultipleMialsrtkCorrectSliceIntensity(), name='srtkCorrectSliceIntensity01_nlm') + srtkCorrectSliceIntensity01_nlm.inputs.bids_dir = self.bids_dir + srtkCorrectSliceIntensity01_nlm.inputs.out_postfix = '_uni' srtkCorrectSliceIntensity01 = Node(interface=preprocess.MultipleMialsrtkCorrectSliceIntensity(), name='srtkCorrectSliceIntensity01') srtkCorrectSliceIntensity01.inputs.bids_dir = self.bids_dir @@ -283,29 +321,34 @@ def create_workflow(self): srtkSliceBySliceCorrectBiasField = Node(interface=preprocess.MultipleMialsrtkSliceBySliceCorrectBiasField(), name='srtkSliceBySliceCorrectBiasField') srtkSliceBySliceCorrectBiasField.inputs.bids_dir = self.bids_dir - srtkCorrectSliceIntensity02_nlm = Node(interface=preprocess.MultipleMialsrtkCorrectSliceIntensity(), name='srtkCorrectSliceIntensity02_nlm') - srtkCorrectSliceIntensity02_nlm.inputs.bids_dir = self.bids_dir + # 4-modules sequence to be defined as a stage. + if not self.m_skip_nlm_denoising: + srtkCorrectSliceIntensity02_nlm = Node(interface=preprocess.MultipleMialsrtkCorrectSliceIntensity(), name='srtkCorrectSliceIntensity02_nlm') + srtkCorrectSliceIntensity02_nlm.inputs.bids_dir = self.bids_dir + + srtkIntensityStandardization01_nlm = Node(interface=preprocess.MialsrtkIntensityStandardization(), name='srtkIntensityStandardization01_nlm') + srtkIntensityStandardization01_nlm.inputs.bids_dir = self.bids_dir + + srtkHistogramNormalization_nlm = Node(interface=preprocess.MialsrtkHistogramNormalization(), name='srtkHistogramNormalization_nlm') + srtkHistogramNormalization_nlm.inputs.bids_dir = self.bids_dir + + srtkIntensityStandardization02_nlm = Node(interface=preprocess.MialsrtkIntensityStandardization(), name='srtkIntensityStandardization02_nlm') + srtkIntensityStandardization02_nlm.inputs.bids_dir = self.bids_dir + + # 4-modules sequence to be defined as a stage. srtkCorrectSliceIntensity02 = Node(interface=preprocess.MultipleMialsrtkCorrectSliceIntensity(), name='srtkCorrectSliceIntensity02') srtkCorrectSliceIntensity02.inputs.bids_dir = self.bids_dir srtkIntensityStandardization01 = Node(interface=preprocess.MialsrtkIntensityStandardization(), name='srtkIntensityStandardization01') srtkIntensityStandardization01.inputs.bids_dir = self.bids_dir - srtkIntensityStandardization01_nlm = Node(interface=preprocess.MialsrtkIntensityStandardization(), name='srtkIntensityStandardization01_nlm') - srtkIntensityStandardization01_nlm.inputs.bids_dir = self.bids_dir - srtkHistogramNormalization = Node(interface=preprocess.MialsrtkHistogramNormalization(), name='srtkHistogramNormalization') srtkHistogramNormalization.inputs.bids_dir = self.bids_dir - srtkHistogramNormalization_nlm = Node(interface=preprocess.MialsrtkHistogramNormalization(), name='srtkHistogramNormalization_nlm') - srtkHistogramNormalization_nlm.inputs.bids_dir = self.bids_dir - srtkIntensityStandardization02 = Node(interface=preprocess.MialsrtkIntensityStandardization(), name='srtkIntensityStandardization02') srtkIntensityStandardization02.inputs.bids_dir = self.bids_dir - srtkIntensityStandardization02_nlm = Node(interface=preprocess.MialsrtkIntensityStandardization(), name='srtkIntensityStandardization02_nlm') - srtkIntensityStandardization02_nlm.inputs.bids_dir = self.bids_dir srtkMaskImage01 = Node(interface=preprocess.MultipleMialsrtkMaskImage(), name='srtkMaskImage01') srtkMaskImage01.inputs.bids_dir = self.bids_dir @@ -313,6 +356,7 @@ def create_workflow(self): srtkImageReconstruction = Node(interface=reconstruction.MialsrtkImageReconstruction(), name='srtkImageReconstruction') srtkImageReconstruction.inputs.bids_dir = self.bids_dir srtkImageReconstruction.inputs.sub_ses = sub_ses + srtkImageReconstruction.inputs.no_reg = self.m_skip_svr srtkTVSuperResolution = Node(interface=reconstruction.MialsrtkTVSuperResolution(), name='srtkTVSuperResolution') srtkTVSuperResolution.inputs.bids_dir = self.bids_dir @@ -322,12 +366,16 @@ def create_workflow(self): srtkTVSuperResolution.inputs.in_lambda = self.lambdaTV srtkTVSuperResolution.inputs.use_manual_masks = self.use_manual_masks - srtkRefineHRMaskByIntersection = Node(interface=postprocess.MialsrtkRefineHRMaskByIntersection(), name='srtkRefineHRMaskByIntersection') - srtkRefineHRMaskByIntersection.inputs.bids_dir = self.bids_dir - srtkN4BiasFieldCorrection = Node(interface=postprocess.MialsrtkN4BiasFieldCorrection(), name='srtkN4BiasFieldCorrection') srtkN4BiasFieldCorrection.inputs.bids_dir = self.bids_dir + if self.m_do_refine_hr_mask: + srtkHRMask = Node(interface=postprocess.MialsrtkRefineHRMaskByIntersection(), name='srtkHRMask') + srtkHRMask.inputs.bids_dir = self.bids_dir + else: + srtkHRMask = Node(interface=Function(input_names=["input_image"], output_names=["output_srmask"], + function=postprocess.binarize_image), name='srtkHRMask') + srtkMaskImage02 = Node(interface=preprocess.MialsrtkMaskImage(), name='srtkMaskImage02') srtkMaskImage02.inputs.bids_dir = self.bids_dir @@ -346,51 +394,64 @@ def create_workflow(self): if self.use_manual_masks: self.wf.connect(dg, "masks", brainMask, "masks") else: - self.wf.connect(dg, "T2ws", brainMask, "input_images") + if self.m_stacks is not None: + self.wf.connect(dg, "T2ws", t2ws_filter_prior_masks, "input_files") + self.wf.connect(t2ws_filter_prior_masks, "output_files", brainMask, "input_images") + else: + self.wf.connect(dg, "T2ws", brainMask, "input_images") - if self.compute_stacks_order: + if not self.m_skip_stacks_ordering: self.wf.connect(brainMask, "masks", stacksOrdering, "input_masks") - self.wf.connect(stacksOrdering, "stacks_order", t2ws_filtered, "stacks_id") self.wf.connect(dg, "T2ws", t2ws_filtered, "input_files") self.wf.connect(stacksOrdering, "stacks_order", masks_filtered, "stacks_id") self.wf.connect(brainMask, "masks", masks_filtered, "input_files") - self.wf.connect(t2ws_filtered, ("output_files", utils.sort_ascending), nlmDenoise, "input_images") - self.wf.connect(masks_filtered, ("output_files", utils.sort_ascending), nlmDenoise, "input_masks") ## Comment to match docker process + if not self.m_skip_nlm_denoising: + self.wf.connect(t2ws_filtered, ("output_files", utils.sort_ascending), nlmDenoise, "input_images") + self.wf.connect(masks_filtered, ("output_files", utils.sort_ascending), nlmDenoise, "input_masks") ## Comment to match docker process - self.wf.connect(nlmDenoise, ("output_images", utils.sort_ascending), srtkCorrectSliceIntensity01_nlm, "input_images") - self.wf.connect(masks_filtered, ("output_files", utils.sort_ascending), srtkCorrectSliceIntensity01_nlm, "input_masks") + self.wf.connect(nlmDenoise, ("output_images", utils.sort_ascending), srtkCorrectSliceIntensity01_nlm, "input_images") + self.wf.connect(masks_filtered, ("output_files", utils.sort_ascending), srtkCorrectSliceIntensity01_nlm, "input_masks") self.wf.connect(t2ws_filtered, ("output_files", utils.sort_ascending), srtkCorrectSliceIntensity01, "input_images") self.wf.connect(masks_filtered, ("output_files", utils.sort_ascending), srtkCorrectSliceIntensity01, "input_masks") - self.wf.connect(srtkCorrectSliceIntensity01_nlm, ("output_images", utils.sort_ascending), srtkSliceBySliceN4BiasFieldCorrection, "input_images") + if not self.m_skip_nlm_denoising: + self.wf.connect(srtkCorrectSliceIntensity01_nlm, ("output_images", utils.sort_ascending), srtkSliceBySliceN4BiasFieldCorrection, "input_images") + else: + self.wf.connect(srtkCorrectSliceIntensity01, ("output_images", utils.sort_ascending), srtkSliceBySliceN4BiasFieldCorrection, "input_images") self.wf.connect(masks_filtered, ("output_files", utils.sort_ascending), srtkSliceBySliceN4BiasFieldCorrection, "input_masks") self.wf.connect(srtkCorrectSliceIntensity01, ("output_images", utils.sort_ascending), srtkSliceBySliceCorrectBiasField, "input_images") self.wf.connect(srtkSliceBySliceN4BiasFieldCorrection, ("output_fields", utils.sort_ascending), srtkSliceBySliceCorrectBiasField, "input_fields") self.wf.connect(masks_filtered, ("output_files", utils.sort_ascending), srtkSliceBySliceCorrectBiasField, "input_masks") + + if not self.m_skip_nlm_denoising: + self.wf.connect(srtkSliceBySliceN4BiasFieldCorrection, ("output_images", utils.sort_ascending), srtkCorrectSliceIntensity02_nlm, "input_images") + self.wf.connect(masks_filtered, ("output_files", utils.sort_ascending), srtkCorrectSliceIntensity02_nlm, "input_masks") + self.wf.connect(srtkCorrectSliceIntensity02_nlm, ("output_images", utils.sort_ascending), srtkIntensityStandardization01_nlm, "input_images") + self.wf.connect(srtkIntensityStandardization01_nlm, ("output_images", utils.sort_ascending), srtkHistogramNormalization_nlm, "input_images") + self.wf.connect(masks_filtered, ("output_files", utils.sort_ascending), srtkHistogramNormalization_nlm, "input_masks") + self.wf.connect(srtkHistogramNormalization_nlm, ("output_images", utils.sort_ascending), srtkIntensityStandardization02_nlm, "input_images") + self.wf.connect(srtkSliceBySliceCorrectBiasField, ("output_images", utils.sort_ascending), srtkCorrectSliceIntensity02, "input_images") self.wf.connect(masks_filtered, ("output_files", utils.sort_ascending), srtkCorrectSliceIntensity02, "input_masks") - - self.wf.connect(srtkSliceBySliceN4BiasFieldCorrection, ("output_images", utils.sort_ascending), srtkCorrectSliceIntensity02_nlm, "input_images") - self.wf.connect(masks_filtered, ("output_files", utils.sort_ascending), srtkCorrectSliceIntensity02_nlm, "input_masks") self.wf.connect(srtkCorrectSliceIntensity02, ("output_images", utils.sort_ascending), srtkIntensityStandardization01, "input_images") - - self.wf.connect(srtkCorrectSliceIntensity02_nlm, ("output_images", utils.sort_ascending), srtkIntensityStandardization01_nlm, "input_images") - self.wf.connect(srtkIntensityStandardization01, ("output_images", utils.sort_ascending), srtkHistogramNormalization, "input_images") self.wf.connect(masks_filtered, ("output_files", utils.sort_ascending), srtkHistogramNormalization, "input_masks") - self.wf.connect(srtkIntensityStandardization01_nlm, ("output_images", utils.sort_ascending), srtkHistogramNormalization_nlm, "input_images") - self.wf.connect(masks_filtered, ("output_files", utils.sort_ascending), srtkHistogramNormalization_nlm, "input_masks") self.wf.connect(srtkHistogramNormalization, ("output_images", utils.sort_ascending), srtkIntensityStandardization02, "input_images") - self.wf.connect(srtkHistogramNormalization_nlm, ("output_images", utils.sort_ascending), srtkIntensityStandardization02_nlm, "input_images") - self.wf.connect(srtkIntensityStandardization02_nlm, ("output_images", utils.sort_ascending), srtkMaskImage01, "input_images") - self.wf.connect(masks_filtered, ("output_files", utils.sort_ascending), srtkMaskImage01, "input_masks") + + if not self.m_skip_nlm_denoising: + self.wf.connect(srtkIntensityStandardization02_nlm, ("output_images", utils.sort_ascending), srtkMaskImage01, "input_images") + self.wf.connect(masks_filtered, ("output_files", utils.sort_ascending), srtkMaskImage01, "input_masks") + else: + self.wf.connect(srtkIntensityStandardization02, ("output_images", utils.sort_ascending), + srtkMaskImage01, "input_images") + self.wf.connect(masks_filtered, ("output_files", utils.sort_ascending), srtkMaskImage01, "input_masks") self.wf.connect(srtkMaskImage01, "output_images", srtkImageReconstruction, "input_images") self.wf.connect(masks_filtered, "output_files", srtkImageReconstruction, "input_masks") @@ -403,16 +464,21 @@ def create_workflow(self): self.wf.connect(srtkImageReconstruction, "output_sdi", srtkTVSuperResolution, "input_sdi") - self.wf.connect(srtkIntensityStandardization02, ("output_images", utils.sort_ascending), srtkRefineHRMaskByIntersection, "input_images") - self.wf.connect(masks_filtered, ("output_files", utils.sort_ascending), srtkRefineHRMaskByIntersection, "input_masks") - self.wf.connect(srtkImageReconstruction, ("output_transforms", utils.sort_ascending), srtkRefineHRMaskByIntersection, "input_transforms") - self.wf.connect(srtkTVSuperResolution, "output_sr", srtkRefineHRMaskByIntersection, "input_sr") + + if self.m_do_refine_hr_mask: + self.wf.connect(srtkIntensityStandardization02, ("output_images", utils.sort_ascending), srtkHRMask, "input_images") + self.wf.connect(masks_filtered, ("output_files", utils.sort_ascending), srtkHRMask, "input_masks") + self.wf.connect(srtkImageReconstruction, ("output_transforms", utils.sort_ascending), srtkHRMask, "input_transforms") + self.wf.connect(srtkTVSuperResolution, "output_sr", srtkHRMask, "input_sr") + else: + self.wf.connect(srtkTVSuperResolution, "output_sr", srtkHRMask, "input_image") self.wf.connect(srtkTVSuperResolution, "output_sr", srtkMaskImage02, "in_file") - self.wf.connect(srtkRefineHRMaskByIntersection, "output_srmask", srtkMaskImage02, "in_mask") + self.wf.connect(srtkHRMask, "output_srmask", srtkMaskImage02, "in_mask") + - self.wf.connect(srtkMaskImage02, "out_im_file", srtkN4BiasFieldCorrection, "input_image") - self.wf.connect(srtkRefineHRMaskByIntersection, "output_srmask", srtkN4BiasFieldCorrection, "input_mask") + self.wf.connect(srtkTVSuperResolution, "output_sr", srtkN4BiasFieldCorrection, "input_image") + self.wf.connect(srtkHRMask, "output_srmask", srtkN4BiasFieldCorrection, "input_mask") self.wf.connect(stacksOrdering, "stacks_order", finalFilenamesGeneration, "stacks_order") self.wf.connect(finalFilenamesGeneration, "substitutions", datasink, "substitutions") @@ -425,7 +491,7 @@ def create_workflow(self): self.wf.connect(srtkImageReconstruction, "output_sdi", datasink, 'anat.@SDI') self.wf.connect(srtkN4BiasFieldCorrection, "output_image", datasink, 'anat.@SR') self.wf.connect(srtkTVSuperResolution, "output_json_path", datasink, 'anat.@SRjson') - self.wf.connect(srtkRefineHRMaskByIntersection, "output_srmask", datasink, 'anat.@SRmask') + self.wf.connect(srtkHRMask, "output_srmask", datasink, 'anat.@SRmask') def run(self, number_of_cores=1): @@ -443,11 +509,11 @@ def run(self, number_of_cores=1): """ + self.wf.write_graph(dotfilename='graph.dot', graph2use='colored', format='png', simple_form=True) if number_of_cores > 1: res = self.wf.run(plugin='MultiProc', plugin_args={'n_procs': number_of_cores}) else: res = self.wf.run() - self.wf.write_graph(dotfilename='graph.dot', graph2use='colored', format='png', simple_form=True) return res