From 8c0355c3077f11a2b4a326deae19514f960c987b Mon Sep 17 00:00:00 2001 From: anroy1 Date: Wed, 3 Jul 2024 20:40:09 +0000 Subject: [PATCH 1/9] [WIP] Initial module commit --- subworkflows/nf-scil/preproc_t1/main.nf | 26 ++++++--- .../nf-scil/preproc_t1/tests/main.nf.test | 56 +++++++++++++++++++ .../preproc_t1/tests/nextflow_synth.config | 10 ++++ 3 files changed, 84 insertions(+), 8 deletions(-) create mode 100644 subworkflows/nf-scil/preproc_t1/tests/nextflow_synth.config diff --git a/subworkflows/nf-scil/preproc_t1/main.nf b/subworkflows/nf-scil/preproc_t1/main.nf index 7d5dd548..16228ddc 100644 --- a/subworkflows/nf-scil/preproc_t1/main.nf +++ b/subworkflows/nf-scil/preproc_t1/main.nf @@ -3,6 +3,7 @@ include { DENOISING_NLMEANS } from '../../../modules/nf-scil/denoising/nlmeans/m include { PREPROC_N4 } from '../../../modules/nf-scil/preproc/n4/main' include { IMAGE_RESAMPLE } from '../../../modules/nf-scil/image/resample/main' include { BETCROP_ANTSBET } from '../../../modules/nf-scil/betcrop/antsbet/main' +include { BETCROP_SYNTHBET} from '../../../modules/nf-scil/betcrop/synthbet/main' include { BETCROP_CROPVOLUME as BETCROP_CROPVOLUME_T1 } from '../../../modules/nf-scil/betcrop/cropvolume/main' include { BETCROP_CROPVOLUME as BETCROP_CROPVOLUME_MASK } from '../../../modules/nf-scil/betcrop/cropvolume/main' @@ -10,11 +11,12 @@ workflow PREPROC_T1 { take: ch_image // channel: [ val(meta), [ image ] ] - ch_template // channel: [ val(meta), [ template ] ] - ch_probability_map // channel: [ val(meta), [ probability_map ] ] + ch_template // channel: [ val(meta), [ template ] ] , optional + ch_probability_map // channel: [ val(meta), [ probability_map ] ] , optional ch_mask_nlmeans // channel: [ val(meta), [ mask ] ] , optional ch_ref_n4 // channel: [ val(meta), [ ref, ref_mask ] ] , optional ch_ref_resample // channel: [ val(meta), [ ref ] ] , optional + val_synth(false) // value: (default: false) main: @@ -36,9 +38,17 @@ workflow PREPROC_T1 { ch_versions = ch_versions.mix(IMAGE_RESAMPLE.out.versions.first()) // ** Brain extraction ** // - ch_bet = IMAGE_RESAMPLE.out.image.join(ch_template).join(ch_probability_map) - BETCROP_ANTSBET ( ch_bet ) - ch_versions = ch_versions.mix(BETCROP_ANTSBET.out.versions.first()) + if ( val_synth ) { + ch_bet = IMAGE_RESAMPLE.out.image.join(ch_fs_license) + BETCROP_SYNTHBET ( ch_bet ) + ch_versions = ch_versions.mix(BETCROP_SYNTHBET.out.versions.first()) + } + + else { + ch_bet = IMAGE_RESAMPLE.out.image.join(ch_template).join(ch_probability_map) + BETCROP_ANTSBET ( ch_bet ) + ch_versions = ch_versions.mix(BETCROP_ANTSBET.out.versions.first()) + } // ** crop image ** // ch_crop = BETCROP_ANTSBET.out.t1.map{it + [[]]} @@ -54,10 +64,10 @@ workflow PREPROC_T1 { image_nlmeans = DENOISING_NLMEANS.out.image // channel: [ val(meta), [ image ] ] image_N4 = PREPROC_N4.out.image // channel: [ val(meta), [ image ] ] image_resample = IMAGE_RESAMPLE.out.image // channel: [ val(meta), [ image ] ] - image_bet = BETCROP_ANTSBET.out.t1 // channel: [ val(meta), [ t1 ] ] - mask_bet = BETCROP_ANTSBET.out.mask // channel: [ val(meta), [ mask ] ] + image_bet = ch_bet_out.t1 // channel: [ val(meta), [ t1 ] ] + mask_bet = ch_bet_out.out.mask // channel: [ val(meta), [ mask ] ] crop_box = BETCROP_CROPVOLUME_T1.out.bounding_box // channel: [ val(meta), [ bounding_box ] ] mask_final = BETCROP_CROPVOLUME_MASK.out.image // channel: [ val(meta), [ mask ] ] - t1_final = BETCROP_CROPVOLUME_T1.out.image // channel: [ val(meta), [ image ] ] + t1_final = BETCROP_CROPVOLUME_T1.out.image // channel: [ val(meta), [ image ] ] versions = ch_versions // channel: [ versions.yml ] } diff --git a/subworkflows/nf-scil/preproc_t1/tests/main.nf.test b/subworkflows/nf-scil/preproc_t1/tests/main.nf.test index 73086b21..ca88e594 100644 --- a/subworkflows/nf-scil/preproc_t1/tests/main.nf.test +++ b/subworkflows/nf-scil/preproc_t1/tests/main.nf.test @@ -12,6 +12,7 @@ nextflow_workflow { tag "preproc/n4" tag "image/resample" tag "betcrop/antsbet" + tag "betcrop/synthbet" tag "betcrop/cropvolume" tag "load_test_data" @@ -127,6 +128,61 @@ nextflow_workflow { } } + then { + assertAll( + { assert workflow.success}, + { assert snapshot(workflow.out).match()} + ) + } + } + +test("preproc_t1_synth") { + config "./nextflow_synth.config" + + when { + workflow { + """ + ch_split_test_data = LOAD_DATA.out.test_data_directory + .branch{ + antsbet: it.simpleName == "antsbet" + others: it.simpleName == "others" + } + input[0] = ch_split_test_data.antsbet.map{ + test_data_directory -> [ + [ id:'test', single_end:false ], + file("\${test_data_directory}/t1_unaligned.nii.gz") + ]} + input[1] = ch_split_test_data.antsbet.map{ + test_data_directory -> [ + [ id:'test', single_end:false ], + [] + ]} + input[2] = ch_split_test_data.antsbet.map{ + test_data_directory -> [ + [ id:'test', single_end:false ], + [] + ]} + input[3] = ch_split_test_data.antsbet.map{ + test_data_directory -> [ + [ id:'test', single_end:false ], + [] + ]} + input[4] = ch_split_test_data.others.map{ + test_data_directory -> [ + [ id:'test', single_end:false ], + [], + [] + ]} + input[5] = ch_split_test_data.antsbet.map{ + test_data_directory -> [ + [ id:'test', single_end:false ], + [] + ]} + input[6] = true + """ + } + } + then { assertAll( { assert workflow.success}, diff --git a/subworkflows/nf-scil/preproc_t1/tests/nextflow_synth.config b/subworkflows/nf-scil/preproc_t1/tests/nextflow_synth.config new file mode 100644 index 00000000..f4a30695 --- /dev/null +++ b/subworkflows/nf-scil/preproc_t1/tests/nextflow_synth.config @@ -0,0 +1,10 @@ +process { + publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" } + withName: "IMAGE_RESAMPLE" { + ext.interp = "lin" + } + withName: "BETCROP_CROPVOLUME_T1" { + ext.output_bbox = true + ext.first_suffix = "t1" + } +} From 5afe64de5a4075e5ff5229899409e94188e4889b Mon Sep 17 00:00:00 2001 From: anroy1 Date: Thu, 4 Jul 2024 15:11:52 +0000 Subject: [PATCH 2/9] [WIP] Add contitionnality for ants vs synth input --- subworkflows/nf-scil/preproc_t1/main.nf | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/subworkflows/nf-scil/preproc_t1/main.nf b/subworkflows/nf-scil/preproc_t1/main.nf index 16228ddc..3f45bc0d 100644 --- a/subworkflows/nf-scil/preproc_t1/main.nf +++ b/subworkflows/nf-scil/preproc_t1/main.nf @@ -39,12 +39,14 @@ workflow PREPROC_T1 { // ** Brain extraction ** // if ( val_synth ) { - ch_bet = IMAGE_RESAMPLE.out.image.join(ch_fs_license) + ch_bet = IMAGE_RESAMPLE.out.image BETCROP_SYNTHBET ( ch_bet ) ch_versions = ch_versions.mix(BETCROP_SYNTHBET.out.versions.first()) } else { + ch_template = ch_template.ifEmpty(Channel.error('Template is required for ANTS registration')) + ch_probability_map = ch_probability_map.ifEmpty(Channel.error('Probability map is required for ANTS registration')) ch_bet = IMAGE_RESAMPLE.out.image.join(ch_template).join(ch_probability_map) BETCROP_ANTSBET ( ch_bet ) ch_versions = ch_versions.mix(BETCROP_ANTSBET.out.versions.first()) From 4fca8849915db4d13d83ffc868b4f07c321ac2f5 Mon Sep 17 00:00:00 2001 From: anroy1 Date: Fri, 26 Jul 2024 22:22:55 +0000 Subject: [PATCH 3/9] [WIP] fix testing --- subworkflows/nf-scil/preproc_t1/main.nf | 18 ++- .../nf-scil/preproc_t1/tests/main.nf.test | 2 + .../preproc_t1/tests/main.nf.test.snap | 117 +++++++++++++++++- .../preproc_t1/tests/nextflow_synth.config | 1 + 4 files changed, 127 insertions(+), 11 deletions(-) diff --git a/subworkflows/nf-scil/preproc_t1/main.nf b/subworkflows/nf-scil/preproc_t1/main.nf index 3f45bc0d..087023cc 100644 --- a/subworkflows/nf-scil/preproc_t1/main.nf +++ b/subworkflows/nf-scil/preproc_t1/main.nf @@ -16,7 +16,7 @@ workflow PREPROC_T1 { ch_mask_nlmeans // channel: [ val(meta), [ mask ] ] , optional ch_ref_n4 // channel: [ val(meta), [ ref, ref_mask ] ] , optional ch_ref_resample // channel: [ val(meta), [ ref ] ] , optional - val_synth(false) // value: (default: false) + val_synth(false) // value: (default: false), , optional main: @@ -42,6 +42,10 @@ workflow PREPROC_T1 { ch_bet = IMAGE_RESAMPLE.out.image BETCROP_SYNTHBET ( ch_bet ) ch_versions = ch_versions.mix(BETCROP_SYNTHBET.out.versions.first()) + + // ** Setting BET output ** // + image_bet = BETCROP_SYNTHBET.out.bet_image + mask_bet = BETCROP_SYNTHBET.out.brain_mask } else { @@ -50,15 +54,19 @@ workflow PREPROC_T1 { ch_bet = IMAGE_RESAMPLE.out.image.join(ch_template).join(ch_probability_map) BETCROP_ANTSBET ( ch_bet ) ch_versions = ch_versions.mix(BETCROP_ANTSBET.out.versions.first()) + + // ** Setting BET output ** // + image_bet = BETCROP_ANTSBET.out.t1 + mask_bet = BETCROP_ANTSBET.out.mask } // ** crop image ** // - ch_crop = BETCROP_ANTSBET.out.t1.map{it + [[]]} + ch_crop = image_bet.map{it + [[]]} BETCROP_CROPVOLUME_T1 ( ch_crop ) ch_versions = ch_versions.mix(BETCROP_CROPVOLUME_T1.out.versions.first()) // ** crop mask ** // - ch_crop_mask = BETCROP_ANTSBET.out.mask.join(BETCROP_CROPVOLUME_T1.out.bounding_box) + ch_crop_mask = mask_bet.join(BETCROP_CROPVOLUME_T1.out.bounding_box) BETCROP_CROPVOLUME_MASK ( ch_crop_mask ) ch_versions = ch_versions.mix(BETCROP_CROPVOLUME_MASK.out.versions.first()) @@ -66,8 +74,8 @@ workflow PREPROC_T1 { image_nlmeans = DENOISING_NLMEANS.out.image // channel: [ val(meta), [ image ] ] image_N4 = PREPROC_N4.out.image // channel: [ val(meta), [ image ] ] image_resample = IMAGE_RESAMPLE.out.image // channel: [ val(meta), [ image ] ] - image_bet = ch_bet_out.t1 // channel: [ val(meta), [ t1 ] ] - mask_bet = ch_bet_out.out.mask // channel: [ val(meta), [ mask ] ] + image_bet = image_bet // channel: [ val(meta), [ t1 ] ] + mask_bet = mask_bet // channel: [ val(meta), [ mask ] ] crop_box = BETCROP_CROPVOLUME_T1.out.bounding_box // channel: [ val(meta), [ bounding_box ] ] mask_final = BETCROP_CROPVOLUME_MASK.out.image // channel: [ val(meta), [ mask ] ] t1_final = BETCROP_CROPVOLUME_T1.out.image // channel: [ val(meta), [ image ] ] diff --git a/subworkflows/nf-scil/preproc_t1/tests/main.nf.test b/subworkflows/nf-scil/preproc_t1/tests/main.nf.test index ca88e594..ad456258 100644 --- a/subworkflows/nf-scil/preproc_t1/tests/main.nf.test +++ b/subworkflows/nf-scil/preproc_t1/tests/main.nf.test @@ -70,6 +70,7 @@ nextflow_workflow { [ id:'test', single_end:false ], [] ]} + input[6] = false """ } } @@ -124,6 +125,7 @@ nextflow_workflow { [ id:'test', single_end:false ], file("\${test_data_directory}/t1_unaligned.nii.gz") ]} + input[6] = false """ } } diff --git a/subworkflows/nf-scil/preproc_t1/tests/main.nf.test.snap b/subworkflows/nf-scil/preproc_t1/tests/main.nf.test.snap index 981bcde8..d79cbcfe 100644 --- a/subworkflows/nf-scil/preproc_t1/tests/main.nf.test.snap +++ b/subworkflows/nf-scil/preproc_t1/tests/main.nf.test.snap @@ -165,10 +165,115 @@ } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nf-test": "0.9.0-rc1", + "nextflow": "24.04.3" }, - "timestamp": "2024-05-10T19:57:38.341812" + "timestamp": "2024-07-26T18:11:30.464682" + }, + "preproc_t1_synth": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test_denoised.nii.gz:md5,b6d25b37b1101fea5c77bbbc711757c3" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test__image_n4.nii.gz:md5,ef0d9af46aa1e330c5d7679ead500596" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": false + }, + "test__resampled.nii.gz:md5,88bae6bfeea1734111621b437e09548d" + ] + ], + "3": [ + + ], + "4": [ + + ], + "5": [ + + ], + "6": [ + + ], + "7": [ + + ], + "8": [ + "versions.yml:md5,97b6b9457caf964b9f20549672f692f0", + "versions.yml:md5,b979132991d8f72a3585465533bd5730", + "versions.yml:md5,c6563545d67d7ab20ad849adcaafcb71" + ], + "crop_box": [ + + ], + "image_N4": [ + [ + { + "id": "test", + "single_end": false + }, + "test__image_n4.nii.gz:md5,ef0d9af46aa1e330c5d7679ead500596" + ] + ], + "image_bet": [ + + ], + "image_nlmeans": [ + [ + { + "id": "test", + "single_end": false + }, + "test_denoised.nii.gz:md5,b6d25b37b1101fea5c77bbbc711757c3" + ] + ], + "image_resample": [ + [ + { + "id": "test", + "single_end": false + }, + "test__resampled.nii.gz:md5,88bae6bfeea1734111621b437e09548d" + ] + ], + "mask_bet": [ + + ], + "mask_final": [ + + ], + "t1_final": [ + + ], + "versions": [ + "versions.yml:md5,97b6b9457caf964b9f20549672f692f0", + "versions.yml:md5,b979132991d8f72a3585465533bd5730", + "versions.yml:md5,c6563545d67d7ab20ad849adcaafcb71" + ] + } + ], + "meta": { + "nf-test": "0.9.0-rc1", + "nextflow": "24.04.3" + }, + "timestamp": "2024-07-26T17:13:02.031243" }, "preproc_t1_classic": { "content": [ @@ -336,9 +441,9 @@ } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nf-test": "0.9.0-rc1", + "nextflow": "24.04.3" }, - "timestamp": "2024-05-10T19:36:04.155481" + "timestamp": "2024-07-26T17:51:34.909311" } } \ No newline at end of file diff --git a/subworkflows/nf-scil/preproc_t1/tests/nextflow_synth.config b/subworkflows/nf-scil/preproc_t1/tests/nextflow_synth.config index f4a30695..0cf9bdfd 100644 --- a/subworkflows/nf-scil/preproc_t1/tests/nextflow_synth.config +++ b/subworkflows/nf-scil/preproc_t1/tests/nextflow_synth.config @@ -1,6 +1,7 @@ process { publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" } withName: "IMAGE_RESAMPLE" { + ext.voxel_size = 1 ext.interp = "lin" } withName: "BETCROP_CROPVOLUME_T1" { From d57e827afb1917c611bfd79cf4828e8941163ea3 Mon Sep 17 00:00:00 2001 From: anroy1 Date: Tue, 30 Jul 2024 20:51:16 +0000 Subject: [PATCH 4/9] run tests and lint --- subworkflows/nf-scil/preproc_t1/main.nf | 22 +++-- subworkflows/nf-scil/preproc_t1/meta.yml | 14 ++- .../nf-scil/preproc_t1/tests/main.nf.test | 21 ++++- .../preproc_t1/tests/main.nf.test.snap | 92 ++++++++++++++++--- .../preproc_t1/tests/nextflow_synth.config | 3 + 5 files changed, 125 insertions(+), 27 deletions(-) diff --git a/subworkflows/nf-scil/preproc_t1/main.nf b/subworkflows/nf-scil/preproc_t1/main.nf index 087023cc..df132fe0 100644 --- a/subworkflows/nf-scil/preproc_t1/main.nf +++ b/subworkflows/nf-scil/preproc_t1/main.nf @@ -16,7 +16,9 @@ workflow PREPROC_T1 { ch_mask_nlmeans // channel: [ val(meta), [ mask ] ] , optional ch_ref_n4 // channel: [ val(meta), [ ref, ref_mask ] ] , optional ch_ref_resample // channel: [ val(meta), [ ref ] ] , optional - val_synth(false) // value: (default: false), , optional + ch_weights // channel: [ val(meta), [ weights ] ] , optional + + val_synth(false) // value: (default: false) , optional main: @@ -39,7 +41,7 @@ workflow PREPROC_T1 { // ** Brain extraction ** // if ( val_synth ) { - ch_bet = IMAGE_RESAMPLE.out.image + ch_bet = IMAGE_RESAMPLE.out.image.join(ch_weights) BETCROP_SYNTHBET ( ch_bet ) ch_versions = ch_versions.mix(BETCROP_SYNTHBET.out.versions.first()) @@ -71,13 +73,13 @@ workflow PREPROC_T1 { ch_versions = ch_versions.mix(BETCROP_CROPVOLUME_MASK.out.versions.first()) emit: - image_nlmeans = DENOISING_NLMEANS.out.image // channel: [ val(meta), [ image ] ] - image_N4 = PREPROC_N4.out.image // channel: [ val(meta), [ image ] ] - image_resample = IMAGE_RESAMPLE.out.image // channel: [ val(meta), [ image ] ] - image_bet = image_bet // channel: [ val(meta), [ t1 ] ] - mask_bet = mask_bet // channel: [ val(meta), [ mask ] ] + image_nlmeans = DENOISING_NLMEANS.out.image // channel: [ val(meta), [ image ] ] + image_N4 = PREPROC_N4.out.image // channel: [ val(meta), [ image ] ] + image_resample = IMAGE_RESAMPLE.out.image // channel: [ val(meta), [ image ] ] + image_bet = image_bet // channel: [ val(meta), [ t1 ] ] + mask_bet = mask_bet // channel: [ val(meta), [ mask ] ] crop_box = BETCROP_CROPVOLUME_T1.out.bounding_box // channel: [ val(meta), [ bounding_box ] ] - mask_final = BETCROP_CROPVOLUME_MASK.out.image // channel: [ val(meta), [ mask ] ] - t1_final = BETCROP_CROPVOLUME_T1.out.image // channel: [ val(meta), [ image ] ] - versions = ch_versions // channel: [ versions.yml ] + mask_final = BETCROP_CROPVOLUME_MASK.out.image // channel: [ val(meta), [ mask ] ] + t1_final = BETCROP_CROPVOLUME_T1.out.image // channel: [ val(meta), [ image ] ] + versions = ch_versions // channel: [ versions.yml ] } diff --git a/subworkflows/nf-scil/preproc_t1/meta.yml b/subworkflows/nf-scil/preproc_t1/meta.yml index 35baefa7..c12ce8b4 100644 --- a/subworkflows/nf-scil/preproc_t1/meta.yml +++ b/subworkflows/nf-scil/preproc_t1/meta.yml @@ -21,7 +21,7 @@ description: | Resamples the T1 to an isotropic spatial resolution. The default is 1mm, a standard in humans which usually facilitate registration with corrected DWI images. This spatial resolution is modifiable in the configuration file. - Brain Extraction (bet, ANTs). + Brain Extraction (bet, ANTs, freesurfer). Isolates the brain tissue voxels from the remaining image. Also creates a binary brain mask. This brain extraction is required for the T1 to DWI Registration. Cropping (scil). @@ -42,6 +42,7 @@ components: - preproc/n4 - image/resample - betcrop/antsbet + - betcrop/synthbet - betcrop/cropvolume input: @@ -81,6 +82,17 @@ input: The input channel containing the reference for the resampling. Optional Structure: [ val(meta), path(ref) ] pattern: "*.{nii,nii.gz}" + - ch_weights: + type: file + description: | + The input channel containing an alternative model weights for synthbet. Optional + Structure: [ val(meta), path (weights)] + pattern: "*.pt" + - val_synth: + type: boolean + description: | + Boolean input specifying which BET method is employed. Optional: defaults at false (ANTs) + pattern: "true" output: - image_nlmeans: type: file diff --git a/subworkflows/nf-scil/preproc_t1/tests/main.nf.test b/subworkflows/nf-scil/preproc_t1/tests/main.nf.test index ad456258..cad5ab43 100644 --- a/subworkflows/nf-scil/preproc_t1/tests/main.nf.test +++ b/subworkflows/nf-scil/preproc_t1/tests/main.nf.test @@ -70,7 +70,12 @@ nextflow_workflow { [ id:'test', single_end:false ], [] ]} - input[6] = false + input[6] = ch_split_test_data.antsbet.map{ + test_data_directory -> [ + [ id:'test', single_end:false ], + [] + ]} + input[7] = false """ } } @@ -125,7 +130,12 @@ nextflow_workflow { [ id:'test', single_end:false ], file("\${test_data_directory}/t1_unaligned.nii.gz") ]} - input[6] = false + input[6] = ch_split_test_data.antsbet.map{ + test_data_directory -> [ + [ id:'test', single_end:false ], + [] + ]} + input[7] = false """ } } @@ -180,7 +190,12 @@ test("preproc_t1_synth") { [ id:'test', single_end:false ], [] ]} - input[6] = true + input[6] = ch_split_test_data.antsbet.map{ + test_data_directory -> [ + [ id:'test', single_end:false ], + [] + ]} + input[7] = true """ } } diff --git a/subworkflows/nf-scil/preproc_t1/tests/main.nf.test.snap b/subworkflows/nf-scil/preproc_t1/tests/main.nf.test.snap index d79cbcfe..113cae4f 100644 --- a/subworkflows/nf-scil/preproc_t1/tests/main.nf.test.snap +++ b/subworkflows/nf-scil/preproc_t1/tests/main.nf.test.snap @@ -168,7 +168,7 @@ "nf-test": "0.9.0-rc1", "nextflow": "24.04.3" }, - "timestamp": "2024-07-26T18:11:30.464682" + "timestamp": "2024-07-30T20:24:23.951944" }, "preproc_t1_synth": { "content": [ @@ -201,27 +201,66 @@ ] ], "3": [ - + [ + { + "id": "test", + "single_end": false + }, + "test__bet_image.nii.gz:md5,80bf67681166f331e8495f359461b9d4" + ] ], "4": [ - + [ + { + "id": "test", + "single_end": false + }, + "test__brain_mask.nii.gz:md5,df69d549d6919584a0f7b36113994296" + ] ], "5": [ - + [ + { + "id": "test", + "single_end": false + }, + "test_t1_cropped_bbox.pkl:md5,fb2114f56d82f5f4465f6b204a8298eb" + ] ], "6": [ - + [ + { + "id": "test", + "single_end": false + }, + "test_cropped.nii.gz:md5,8fdb13e81f76139351c7b1056aebf1ed" + ] ], "7": [ - + [ + { + "id": "test", + "single_end": false + }, + "test_t1_cropped.nii.gz:md5,6cd92a7c908816a47ae4146bfc6571c7" + ] ], "8": [ + "versions.yml:md5,2c0a6f978891003ebdf35c1ba060aa90", + "versions.yml:md5,6aecd5fc2de479eaa81fb30b248c647c", "versions.yml:md5,97b6b9457caf964b9f20549672f692f0", + "versions.yml:md5,9d515db259af59f33ccd14061fbc45d1", "versions.yml:md5,b979132991d8f72a3585465533bd5730", "versions.yml:md5,c6563545d67d7ab20ad849adcaafcb71" ], "crop_box": [ - + [ + { + "id": "test", + "single_end": false + }, + "test_t1_cropped_bbox.pkl:md5,fb2114f56d82f5f4465f6b204a8298eb" + ] ], "image_N4": [ [ @@ -233,7 +272,13 @@ ] ], "image_bet": [ - + [ + { + "id": "test", + "single_end": false + }, + "test__bet_image.nii.gz:md5,80bf67681166f331e8495f359461b9d4" + ] ], "image_nlmeans": [ [ @@ -254,16 +299,37 @@ ] ], "mask_bet": [ - + [ + { + "id": "test", + "single_end": false + }, + "test__brain_mask.nii.gz:md5,df69d549d6919584a0f7b36113994296" + ] ], "mask_final": [ - + [ + { + "id": "test", + "single_end": false + }, + "test_cropped.nii.gz:md5,8fdb13e81f76139351c7b1056aebf1ed" + ] ], "t1_final": [ - + [ + { + "id": "test", + "single_end": false + }, + "test_t1_cropped.nii.gz:md5,6cd92a7c908816a47ae4146bfc6571c7" + ] ], "versions": [ + "versions.yml:md5,2c0a6f978891003ebdf35c1ba060aa90", + "versions.yml:md5,6aecd5fc2de479eaa81fb30b248c647c", "versions.yml:md5,97b6b9457caf964b9f20549672f692f0", + "versions.yml:md5,9d515db259af59f33ccd14061fbc45d1", "versions.yml:md5,b979132991d8f72a3585465533bd5730", "versions.yml:md5,c6563545d67d7ab20ad849adcaafcb71" ] @@ -273,7 +339,7 @@ "nf-test": "0.9.0-rc1", "nextflow": "24.04.3" }, - "timestamp": "2024-07-26T17:13:02.031243" + "timestamp": "2024-07-30T19:21:50.686836" }, "preproc_t1_classic": { "content": [ @@ -444,6 +510,6 @@ "nf-test": "0.9.0-rc1", "nextflow": "24.04.3" }, - "timestamp": "2024-07-26T17:51:34.909311" + "timestamp": "2024-07-30T20:05:33.018053" } } \ No newline at end of file diff --git a/subworkflows/nf-scil/preproc_t1/tests/nextflow_synth.config b/subworkflows/nf-scil/preproc_t1/tests/nextflow_synth.config index 0cf9bdfd..6214979d 100644 --- a/subworkflows/nf-scil/preproc_t1/tests/nextflow_synth.config +++ b/subworkflows/nf-scil/preproc_t1/tests/nextflow_synth.config @@ -8,4 +8,7 @@ process { ext.output_bbox = true ext.first_suffix = "t1" } + withName: "BETCROP_SYNTHBET" { + memory = 8.GB + } } From 9eb5213d4dd5372bdc39409991aae630c8599ba2 Mon Sep 17 00:00:00 2001 From: anroy1 Date: Tue, 27 Aug 2024 16:21:47 +0000 Subject: [PATCH 5/9] Manage synth conditionnality through params instead of input --- subworkflows/nf-scil/preproc_t1/main.nf | 6 +++--- subworkflows/nf-scil/preproc_t1/tests/main.nf.test | 3 --- .../nf-scil/preproc_t1/tests/main.nf.test.snap | 12 ++++++------ .../nf-scil/preproc_t1/tests/nextflow_synth.config | 4 ++++ 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/subworkflows/nf-scil/preproc_t1/main.nf b/subworkflows/nf-scil/preproc_t1/main.nf index df132fe0..0a1908bb 100644 --- a/subworkflows/nf-scil/preproc_t1/main.nf +++ b/subworkflows/nf-scil/preproc_t1/main.nf @@ -7,6 +7,8 @@ include { BETCROP_SYNTHBET} from '../../../modules/nf-scil/betcrop/synthbet/main include { BETCROP_CROPVOLUME as BETCROP_CROPVOLUME_T1 } from '../../../modules/nf-scil/betcrop/cropvolume/main' include { BETCROP_CROPVOLUME as BETCROP_CROPVOLUME_MASK } from '../../../modules/nf-scil/betcrop/cropvolume/main' +params.run_synth = params.run_synth ?: false + workflow PREPROC_T1 { take: @@ -18,8 +20,6 @@ workflow PREPROC_T1 { ch_ref_resample // channel: [ val(meta), [ ref ] ] , optional ch_weights // channel: [ val(meta), [ weights ] ] , optional - val_synth(false) // value: (default: false) , optional - main: ch_versions = Channel.empty() @@ -40,7 +40,7 @@ workflow PREPROC_T1 { ch_versions = ch_versions.mix(IMAGE_RESAMPLE.out.versions.first()) // ** Brain extraction ** // - if ( val_synth ) { + if ( params.run_synth ) { ch_bet = IMAGE_RESAMPLE.out.image.join(ch_weights) BETCROP_SYNTHBET ( ch_bet ) ch_versions = ch_versions.mix(BETCROP_SYNTHBET.out.versions.first()) diff --git a/subworkflows/nf-scil/preproc_t1/tests/main.nf.test b/subworkflows/nf-scil/preproc_t1/tests/main.nf.test index cad5ab43..6214efd9 100644 --- a/subworkflows/nf-scil/preproc_t1/tests/main.nf.test +++ b/subworkflows/nf-scil/preproc_t1/tests/main.nf.test @@ -75,7 +75,6 @@ nextflow_workflow { [ id:'test', single_end:false ], [] ]} - input[7] = false """ } } @@ -135,7 +134,6 @@ nextflow_workflow { [ id:'test', single_end:false ], [] ]} - input[7] = false """ } } @@ -195,7 +193,6 @@ test("preproc_t1_synth") { [ id:'test', single_end:false ], [] ]} - input[7] = true """ } } diff --git a/subworkflows/nf-scil/preproc_t1/tests/main.nf.test.snap b/subworkflows/nf-scil/preproc_t1/tests/main.nf.test.snap index 113cae4f..d550af81 100644 --- a/subworkflows/nf-scil/preproc_t1/tests/main.nf.test.snap +++ b/subworkflows/nf-scil/preproc_t1/tests/main.nf.test.snap @@ -166,9 +166,9 @@ ], "meta": { "nf-test": "0.9.0-rc1", - "nextflow": "24.04.3" + "nextflow": "24.04.4" }, - "timestamp": "2024-07-30T20:24:23.951944" + "timestamp": "2024-08-27T16:07:20.834954" }, "preproc_t1_synth": { "content": [ @@ -337,9 +337,9 @@ ], "meta": { "nf-test": "0.9.0-rc1", - "nextflow": "24.04.3" + "nextflow": "24.04.4" }, - "timestamp": "2024-07-30T19:21:50.686836" + "timestamp": "2024-08-27T16:12:58.594953" }, "preproc_t1_classic": { "content": [ @@ -508,8 +508,8 @@ ], "meta": { "nf-test": "0.9.0-rc1", - "nextflow": "24.04.3" + "nextflow": "24.04.4" }, - "timestamp": "2024-07-30T20:05:33.018053" + "timestamp": "2024-08-27T15:48:27.520928" } } \ No newline at end of file diff --git a/subworkflows/nf-scil/preproc_t1/tests/nextflow_synth.config b/subworkflows/nf-scil/preproc_t1/tests/nextflow_synth.config index 6214979d..3771050e 100644 --- a/subworkflows/nf-scil/preproc_t1/tests/nextflow_synth.config +++ b/subworkflows/nf-scil/preproc_t1/tests/nextflow_synth.config @@ -12,3 +12,7 @@ process { memory = 8.GB } } + +params { + run_synth = true +} From 61320e82c8694b034078bf7454e53ccb4daab415 Mon Sep 17 00:00:00 2001 From: anroy1 Date: Sat, 31 Aug 2024 21:12:11 +0000 Subject: [PATCH 6/9] Change val name synth for surgery --- subworkflows/nf-scil/preproc_t1/main.nf | 4 ++-- subworkflows/nf-scil/preproc_t1/tests/main.nf.test | 4 ++-- .../tests/{nextflow_synth.config => nextflow_surgery.config} | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) rename subworkflows/nf-scil/preproc_t1/tests/{nextflow_synth.config => nextflow_surgery.config} (94%) diff --git a/subworkflows/nf-scil/preproc_t1/main.nf b/subworkflows/nf-scil/preproc_t1/main.nf index 0a1908bb..95248ba8 100644 --- a/subworkflows/nf-scil/preproc_t1/main.nf +++ b/subworkflows/nf-scil/preproc_t1/main.nf @@ -7,7 +7,7 @@ include { BETCROP_SYNTHBET} from '../../../modules/nf-scil/betcrop/synthbet/main include { BETCROP_CROPVOLUME as BETCROP_CROPVOLUME_T1 } from '../../../modules/nf-scil/betcrop/cropvolume/main' include { BETCROP_CROPVOLUME as BETCROP_CROPVOLUME_MASK } from '../../../modules/nf-scil/betcrop/cropvolume/main' -params.run_synth = params.run_synth ?: false +params.run_surgery = params.run_surgery ?: false workflow PREPROC_T1 { @@ -40,7 +40,7 @@ workflow PREPROC_T1 { ch_versions = ch_versions.mix(IMAGE_RESAMPLE.out.versions.first()) // ** Brain extraction ** // - if ( params.run_synth ) { + if ( params.run_surgery ) { ch_bet = IMAGE_RESAMPLE.out.image.join(ch_weights) BETCROP_SYNTHBET ( ch_bet ) ch_versions = ch_versions.mix(BETCROP_SYNTHBET.out.versions.first()) diff --git a/subworkflows/nf-scil/preproc_t1/tests/main.nf.test b/subworkflows/nf-scil/preproc_t1/tests/main.nf.test index 6214efd9..e02e6f08 100644 --- a/subworkflows/nf-scil/preproc_t1/tests/main.nf.test +++ b/subworkflows/nf-scil/preproc_t1/tests/main.nf.test @@ -146,8 +146,8 @@ nextflow_workflow { } } -test("preproc_t1_synth") { - config "./nextflow_synth.config" +test("preproc_t1_surgery") { + config "./nextflow_surgery.config" when { workflow { diff --git a/subworkflows/nf-scil/preproc_t1/tests/nextflow_synth.config b/subworkflows/nf-scil/preproc_t1/tests/nextflow_surgery.config similarity index 94% rename from subworkflows/nf-scil/preproc_t1/tests/nextflow_synth.config rename to subworkflows/nf-scil/preproc_t1/tests/nextflow_surgery.config index 3771050e..2dc615e0 100644 --- a/subworkflows/nf-scil/preproc_t1/tests/nextflow_synth.config +++ b/subworkflows/nf-scil/preproc_t1/tests/nextflow_surgery.config @@ -14,5 +14,5 @@ process { } params { - run_synth = true + run_surgery = true } From f77ce5be83ba74a8c0d3324d1dc40a448c294795 Mon Sep 17 00:00:00 2001 From: anroy1 Date: Sat, 31 Aug 2024 23:28:05 +0000 Subject: [PATCH 7/9] Push tests snap --- .../preproc_t1/tests/main.nf.test.snap | 171 ++++++++++++++++++ 1 file changed, 171 insertions(+) diff --git a/subworkflows/nf-scil/preproc_t1/tests/main.nf.test.snap b/subworkflows/nf-scil/preproc_t1/tests/main.nf.test.snap index d550af81..3b39797e 100644 --- a/subworkflows/nf-scil/preproc_t1/tests/main.nf.test.snap +++ b/subworkflows/nf-scil/preproc_t1/tests/main.nf.test.snap @@ -170,6 +170,177 @@ }, "timestamp": "2024-08-27T16:07:20.834954" }, + "preproc_t1_surgery": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test_denoised.nii.gz:md5,b6d25b37b1101fea5c77bbbc711757c3" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test__image_n4.nii.gz:md5,ef0d9af46aa1e330c5d7679ead500596" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": false + }, + "test__resampled.nii.gz:md5,88bae6bfeea1734111621b437e09548d" + ] + ], + "3": [ + [ + { + "id": "test", + "single_end": false + }, + "test__bet_image.nii.gz:md5,80bf67681166f331e8495f359461b9d4" + ] + ], + "4": [ + [ + { + "id": "test", + "single_end": false + }, + "test__brain_mask.nii.gz:md5,df69d549d6919584a0f7b36113994296" + ] + ], + "5": [ + [ + { + "id": "test", + "single_end": false + }, + "test_t1_cropped_bbox.pkl:md5,fb2114f56d82f5f4465f6b204a8298eb" + ] + ], + "6": [ + [ + { + "id": "test", + "single_end": false + }, + "test_cropped.nii.gz:md5,8fdb13e81f76139351c7b1056aebf1ed" + ] + ], + "7": [ + [ + { + "id": "test", + "single_end": false + }, + "test_t1_cropped.nii.gz:md5,6cd92a7c908816a47ae4146bfc6571c7" + ] + ], + "8": [ + "versions.yml:md5,2c0a6f978891003ebdf35c1ba060aa90", + "versions.yml:md5,6aecd5fc2de479eaa81fb30b248c647c", + "versions.yml:md5,97b6b9457caf964b9f20549672f692f0", + "versions.yml:md5,9d515db259af59f33ccd14061fbc45d1", + "versions.yml:md5,b979132991d8f72a3585465533bd5730", + "versions.yml:md5,c6563545d67d7ab20ad849adcaafcb71" + ], + "crop_box": [ + [ + { + "id": "test", + "single_end": false + }, + "test_t1_cropped_bbox.pkl:md5,fb2114f56d82f5f4465f6b204a8298eb" + ] + ], + "image_N4": [ + [ + { + "id": "test", + "single_end": false + }, + "test__image_n4.nii.gz:md5,ef0d9af46aa1e330c5d7679ead500596" + ] + ], + "image_bet": [ + [ + { + "id": "test", + "single_end": false + }, + "test__bet_image.nii.gz:md5,80bf67681166f331e8495f359461b9d4" + ] + ], + "image_nlmeans": [ + [ + { + "id": "test", + "single_end": false + }, + "test_denoised.nii.gz:md5,b6d25b37b1101fea5c77bbbc711757c3" + ] + ], + "image_resample": [ + [ + { + "id": "test", + "single_end": false + }, + "test__resampled.nii.gz:md5,88bae6bfeea1734111621b437e09548d" + ] + ], + "mask_bet": [ + [ + { + "id": "test", + "single_end": false + }, + "test__brain_mask.nii.gz:md5,df69d549d6919584a0f7b36113994296" + ] + ], + "mask_final": [ + [ + { + "id": "test", + "single_end": false + }, + "test_cropped.nii.gz:md5,8fdb13e81f76139351c7b1056aebf1ed" + ] + ], + "t1_final": [ + [ + { + "id": "test", + "single_end": false + }, + "test_t1_cropped.nii.gz:md5,6cd92a7c908816a47ae4146bfc6571c7" + ] + ], + "versions": [ + "versions.yml:md5,2c0a6f978891003ebdf35c1ba060aa90", + "versions.yml:md5,6aecd5fc2de479eaa81fb30b248c647c", + "versions.yml:md5,97b6b9457caf964b9f20549672f692f0", + "versions.yml:md5,9d515db259af59f33ccd14061fbc45d1", + "versions.yml:md5,b979132991d8f72a3585465533bd5730", + "versions.yml:md5,c6563545d67d7ab20ad849adcaafcb71" + ] + } + ], + "meta": { + "nf-test": "0.9.0-rc1", + "nextflow": "24.04.4" + }, + "timestamp": "2024-08-31T22:04:17.732507" + }, "preproc_t1_synth": { "content": [ { From dc68c639af4e1e06156b66bc2ac9b369b880971f Mon Sep 17 00:00:00 2001 From: anroy1 Date: Sun, 8 Sep 2024 21:15:15 +0000 Subject: [PATCH 8/9] Use niftiMD5SUM --- subworkflows/nf-scil/preproc_t1/main.nf | 2 +- .../nf-scil/preproc_t1/tests/main.nf.test | 36 +- .../preproc_t1/tests/main.nf.test.snap | 717 ++---------------- .../preproc_t1/tests/nextflow_surgery.config | 1 + 4 files changed, 93 insertions(+), 663 deletions(-) diff --git a/subworkflows/nf-scil/preproc_t1/main.nf b/subworkflows/nf-scil/preproc_t1/main.nf index 95248ba8..5c1eb272 100644 --- a/subworkflows/nf-scil/preproc_t1/main.nf +++ b/subworkflows/nf-scil/preproc_t1/main.nf @@ -79,7 +79,7 @@ workflow PREPROC_T1 { image_bet = image_bet // channel: [ val(meta), [ t1 ] ] mask_bet = mask_bet // channel: [ val(meta), [ mask ] ] crop_box = BETCROP_CROPVOLUME_T1.out.bounding_box // channel: [ val(meta), [ bounding_box ] ] - mask_final = BETCROP_CROPVOLUME_MASK.out.image // channel: [ val(meta), [ mask ] ] + mask_final = BETCROP_CROPVOLUME_MASK.out.image // channel: [ val(meta), [ image ] ] t1_final = BETCROP_CROPVOLUME_T1.out.image // channel: [ val(meta), [ image ] ] versions = ch_versions // channel: [ versions.yml ] } diff --git a/subworkflows/nf-scil/preproc_t1/tests/main.nf.test b/subworkflows/nf-scil/preproc_t1/tests/main.nf.test index e02e6f08..35d5371b 100644 --- a/subworkflows/nf-scil/preproc_t1/tests/main.nf.test +++ b/subworkflows/nf-scil/preproc_t1/tests/main.nf.test @@ -82,7 +82,17 @@ nextflow_workflow { then { assertAll( { assert workflow.success}, - { assert snapshot(workflow.out).match()} + { assert snapshot( + niftiMD5SUM(workflow.out.image_nlmeans.get(0).get(1)), + niftiMD5SUM(workflow.out.image_N4.get(0).get(1)), + niftiMD5SUM(workflow.out.image_resample.get(0).get(1)), + niftiMD5SUM(workflow.out.image_bet.get(0).get(1)), + niftiMD5SUM(workflow.out.mask_bet.get(0).get(1)), + file(workflow.out.crop_box.get(0).get(1)), + niftiMD5SUM(workflow.out.mask_final.get(0).get(1)), + niftiMD5SUM(workflow.out.t1_final.get(0).get(1)), + workflow.out.versions + ).match()} ) } } @@ -141,7 +151,17 @@ nextflow_workflow { then { assertAll( { assert workflow.success}, - { assert snapshot(workflow.out).match()} + { assert snapshot( + niftiMD5SUM(workflow.out.image_nlmeans.get(0).get(1)), + niftiMD5SUM(workflow.out.image_N4.get(0).get(1)), + niftiMD5SUM(workflow.out.image_resample.get(0).get(1)), + niftiMD5SUM(workflow.out.image_bet.get(0).get(1)), + niftiMD5SUM(workflow.out.mask_bet.get(0).get(1)), + workflow.out.crop_box, + niftiMD5SUM(workflow.out.mask_final.get(0).get(1)), + niftiMD5SUM(workflow.out.t1_final.get(0).get(1)), + workflow.out.versions + ).match()} ) } } @@ -200,7 +220,17 @@ test("preproc_t1_surgery") { then { assertAll( { assert workflow.success}, - { assert snapshot(workflow.out).match()} + { assert snapshot( + niftiMD5SUM(workflow.out.image_nlmeans.get(0).get(1)), + niftiMD5SUM(workflow.out.image_N4.get(0).get(1)), + niftiMD5SUM(workflow.out.image_resample.get(0).get(1)), + niftiMD5SUM(workflow.out.image_bet.get(0).get(1)), + niftiMD5SUM(workflow.out.mask_bet.get(0).get(1)), + file(workflow.out.crop_box.get(0).get(1)), + niftiMD5SUM(workflow.out.mask_final.get(0).get(1)), + niftiMD5SUM(workflow.out.t1_final.get(0).get(1)), + workflow.out.versions + ).match()} ) } } diff --git a/subworkflows/nf-scil/preproc_t1/tests/main.nf.test.snap b/subworkflows/nf-scil/preproc_t1/tests/main.nf.test.snap index 3b39797e..115937fb 100644 --- a/subworkflows/nf-scil/preproc_t1/tests/main.nf.test.snap +++ b/subworkflows/nf-scil/preproc_t1/tests/main.nf.test.snap @@ -1,686 +1,85 @@ { "preproc_t1_option": { "content": [ - { - "0": [ - [ - { - "id": "test", - "single_end": false - }, - "test_denoised.nii.gz:md5,ba910fdd1c9cc8f3d1c98b24dde522ef" - ] - ], - "1": [ - [ - { - "id": "test", - "single_end": false - }, - "test__image_n4.nii.gz:md5,f9b1e5305c8c176c8ef72168b8a33f2d" - ] - ], - "2": [ - [ - { - "id": "test", - "single_end": false - }, - "test__resampled.nii.gz:md5,a16a9d32732752b40f699cea2fb046bd" - ] - ], - "3": [ - [ - { - "id": "test", - "single_end": false - }, - "test__t1_bet.nii.gz:md5,f0a2be8bc64bb8b0311bb7022e177623" - ] - ], - "4": [ - [ - { - "id": "test", - "single_end": false - }, - "test__t1_bet_mask.nii.gz:md5,bdafc62e0e2ab35d0d48e1021d0a82db" - ] - ], - "5": [ - [ - { - "id": "test", - "single_end": false - }, - "test_t1_cropped_bbox.pkl:md5,39a3444e23d7ea6478ef1213f88e7715" - ] - ], - "6": [ - [ - { - "id": "test", - "single_end": false - }, - "test_cropped.nii.gz:md5,02b2ca05a95c8494a85cda69ebe6d5e7" - ] - ], - "7": [ - [ - { - "id": "test", - "single_end": false - }, - "test_t1_cropped.nii.gz:md5,593d0b155da379bb41e8557ea5f9b92e" - ] - ], - "8": [ - "versions.yml:md5,209daf2d60de195845dedbdf80c98afd", - "versions.yml:md5,2c0a6f978891003ebdf35c1ba060aa90", - "versions.yml:md5,6aecd5fc2de479eaa81fb30b248c647c", - "versions.yml:md5,97b6b9457caf964b9f20549672f692f0", - "versions.yml:md5,b979132991d8f72a3585465533bd5730", - "versions.yml:md5,c6563545d67d7ab20ad849adcaafcb71" - ], - "crop_box": [ - [ - { - "id": "test", - "single_end": false - }, - "test_t1_cropped_bbox.pkl:md5,39a3444e23d7ea6478ef1213f88e7715" - ] - ], - "image_N4": [ - [ - { - "id": "test", - "single_end": false - }, - "test__image_n4.nii.gz:md5,f9b1e5305c8c176c8ef72168b8a33f2d" - ] - ], - "image_bet": [ - [ - { - "id": "test", - "single_end": false - }, - "test__t1_bet.nii.gz:md5,f0a2be8bc64bb8b0311bb7022e177623" - ] - ], - "image_nlmeans": [ - [ - { - "id": "test", - "single_end": false - }, - "test_denoised.nii.gz:md5,ba910fdd1c9cc8f3d1c98b24dde522ef" - ] - ], - "image_resample": [ - [ - { - "id": "test", - "single_end": false - }, - "test__resampled.nii.gz:md5,a16a9d32732752b40f699cea2fb046bd" - ] - ], - "mask_bet": [ - [ - { - "id": "test", - "single_end": false - }, - "test__t1_bet_mask.nii.gz:md5,bdafc62e0e2ab35d0d48e1021d0a82db" - ] - ], - "mask_final": [ - [ - { - "id": "test", - "single_end": false - }, - "test_cropped.nii.gz:md5,02b2ca05a95c8494a85cda69ebe6d5e7" - ] - ], - "t1_final": [ - [ - { - "id": "test", - "single_end": false - }, - "test_t1_cropped.nii.gz:md5,593d0b155da379bb41e8557ea5f9b92e" - ] - ], - "versions": [ - "versions.yml:md5,209daf2d60de195845dedbdf80c98afd", - "versions.yml:md5,2c0a6f978891003ebdf35c1ba060aa90", - "versions.yml:md5,6aecd5fc2de479eaa81fb30b248c647c", - "versions.yml:md5,97b6b9457caf964b9f20549672f692f0", - "versions.yml:md5,b979132991d8f72a3585465533bd5730", - "versions.yml:md5,c6563545d67d7ab20ad849adcaafcb71" + "test_denoised.nii.gz:md5:header,9dc5bba881cdb4f3b3b58b20d006d114,data,19e488aa93257a256b4fbf91c1fed25c", + "test__image_n4.nii.gz:md5:header,fab880e51a5409298b94877a3c69c3d9,data,8762a19ca79073d501522c786071166c", + "test__resampled.nii.gz:md5:header,ba56bf67f95a0353a1c8c916b9941664,data,8762a19ca79073d501522c786071166c", + "test__t1_bet.nii.gz:md5:header,7edd352b8d21871ff520685f25426d37,data,39485cf56f7f5b8488fb6d966138dac5", + "test__t1_bet_mask.nii.gz:md5:header,83448ac1e189cc82bff23ca4f67ebc7c,data,07c0d1f8132bd853cb33dd4114ab5e94", + [ + [ + { + "id": "test", + "single_end": false + }, + "test_t1_cropped_bbox.pkl:md5,39a3444e23d7ea6478ef1213f88e7715" ] - } + ], + "test_cropped.nii.gz:md5:header,b6580e9aab12c852552d57d76240650a,data,b6ddca5a4e1f1cc445650653c29045bc", + "test_t1_cropped.nii.gz:md5:header,45c39d7777c888a5a7dc6fb0a3b4c914,data,0872cfc1cae1d7d6e7c9fe3f3555376d", + [ + "versions.yml:md5,209daf2d60de195845dedbdf80c98afd", + "versions.yml:md5,2c0a6f978891003ebdf35c1ba060aa90", + "versions.yml:md5,6aecd5fc2de479eaa81fb30b248c647c", + "versions.yml:md5,97b6b9457caf964b9f20549672f692f0", + "versions.yml:md5,b979132991d8f72a3585465533bd5730", + "versions.yml:md5,c6563545d67d7ab20ad849adcaafcb71" + ] ], "meta": { "nf-test": "0.9.0-rc1", "nextflow": "24.04.4" }, - "timestamp": "2024-08-27T16:07:20.834954" + "timestamp": "2024-09-08T20:58:06.563081" }, "preproc_t1_surgery": { "content": [ - { - "0": [ - [ - { - "id": "test", - "single_end": false - }, - "test_denoised.nii.gz:md5,b6d25b37b1101fea5c77bbbc711757c3" - ] - ], - "1": [ - [ - { - "id": "test", - "single_end": false - }, - "test__image_n4.nii.gz:md5,ef0d9af46aa1e330c5d7679ead500596" - ] - ], - "2": [ - [ - { - "id": "test", - "single_end": false - }, - "test__resampled.nii.gz:md5,88bae6bfeea1734111621b437e09548d" - ] - ], - "3": [ - [ - { - "id": "test", - "single_end": false - }, - "test__bet_image.nii.gz:md5,80bf67681166f331e8495f359461b9d4" - ] - ], - "4": [ - [ - { - "id": "test", - "single_end": false - }, - "test__brain_mask.nii.gz:md5,df69d549d6919584a0f7b36113994296" - ] - ], - "5": [ - [ - { - "id": "test", - "single_end": false - }, - "test_t1_cropped_bbox.pkl:md5,fb2114f56d82f5f4465f6b204a8298eb" - ] - ], - "6": [ - [ - { - "id": "test", - "single_end": false - }, - "test_cropped.nii.gz:md5,8fdb13e81f76139351c7b1056aebf1ed" - ] - ], - "7": [ - [ - { - "id": "test", - "single_end": false - }, - "test_t1_cropped.nii.gz:md5,6cd92a7c908816a47ae4146bfc6571c7" - ] - ], - "8": [ - "versions.yml:md5,2c0a6f978891003ebdf35c1ba060aa90", - "versions.yml:md5,6aecd5fc2de479eaa81fb30b248c647c", - "versions.yml:md5,97b6b9457caf964b9f20549672f692f0", - "versions.yml:md5,9d515db259af59f33ccd14061fbc45d1", - "versions.yml:md5,b979132991d8f72a3585465533bd5730", - "versions.yml:md5,c6563545d67d7ab20ad849adcaafcb71" - ], - "crop_box": [ - [ - { - "id": "test", - "single_end": false - }, - "test_t1_cropped_bbox.pkl:md5,fb2114f56d82f5f4465f6b204a8298eb" - ] - ], - "image_N4": [ - [ - { - "id": "test", - "single_end": false - }, - "test__image_n4.nii.gz:md5,ef0d9af46aa1e330c5d7679ead500596" - ] - ], - "image_bet": [ - [ - { - "id": "test", - "single_end": false - }, - "test__bet_image.nii.gz:md5,80bf67681166f331e8495f359461b9d4" - ] - ], - "image_nlmeans": [ - [ - { - "id": "test", - "single_end": false - }, - "test_denoised.nii.gz:md5,b6d25b37b1101fea5c77bbbc711757c3" - ] - ], - "image_resample": [ - [ - { - "id": "test", - "single_end": false - }, - "test__resampled.nii.gz:md5,88bae6bfeea1734111621b437e09548d" - ] - ], - "mask_bet": [ - [ - { - "id": "test", - "single_end": false - }, - "test__brain_mask.nii.gz:md5,df69d549d6919584a0f7b36113994296" - ] - ], - "mask_final": [ - [ - { - "id": "test", - "single_end": false - }, - "test_cropped.nii.gz:md5,8fdb13e81f76139351c7b1056aebf1ed" - ] - ], - "t1_final": [ - [ - { - "id": "test", - "single_end": false - }, - "test_t1_cropped.nii.gz:md5,6cd92a7c908816a47ae4146bfc6571c7" - ] - ], - "versions": [ - "versions.yml:md5,2c0a6f978891003ebdf35c1ba060aa90", - "versions.yml:md5,6aecd5fc2de479eaa81fb30b248c647c", - "versions.yml:md5,97b6b9457caf964b9f20549672f692f0", - "versions.yml:md5,9d515db259af59f33ccd14061fbc45d1", - "versions.yml:md5,b979132991d8f72a3585465533bd5730", - "versions.yml:md5,c6563545d67d7ab20ad849adcaafcb71" - ] - } - ], - "meta": { - "nf-test": "0.9.0-rc1", - "nextflow": "24.04.4" - }, - "timestamp": "2024-08-31T22:04:17.732507" - }, - "preproc_t1_synth": { - "content": [ - { - "0": [ - [ - { - "id": "test", - "single_end": false - }, - "test_denoised.nii.gz:md5,b6d25b37b1101fea5c77bbbc711757c3" - ] - ], - "1": [ - [ - { - "id": "test", - "single_end": false - }, - "test__image_n4.nii.gz:md5,ef0d9af46aa1e330c5d7679ead500596" - ] - ], - "2": [ - [ - { - "id": "test", - "single_end": false - }, - "test__resampled.nii.gz:md5,88bae6bfeea1734111621b437e09548d" - ] - ], - "3": [ - [ - { - "id": "test", - "single_end": false - }, - "test__bet_image.nii.gz:md5,80bf67681166f331e8495f359461b9d4" - ] - ], - "4": [ - [ - { - "id": "test", - "single_end": false - }, - "test__brain_mask.nii.gz:md5,df69d549d6919584a0f7b36113994296" - ] - ], - "5": [ - [ - { - "id": "test", - "single_end": false - }, - "test_t1_cropped_bbox.pkl:md5,fb2114f56d82f5f4465f6b204a8298eb" - ] - ], - "6": [ - [ - { - "id": "test", - "single_end": false - }, - "test_cropped.nii.gz:md5,8fdb13e81f76139351c7b1056aebf1ed" - ] - ], - "7": [ - [ - { - "id": "test", - "single_end": false - }, - "test_t1_cropped.nii.gz:md5,6cd92a7c908816a47ae4146bfc6571c7" - ] - ], - "8": [ - "versions.yml:md5,2c0a6f978891003ebdf35c1ba060aa90", - "versions.yml:md5,6aecd5fc2de479eaa81fb30b248c647c", - "versions.yml:md5,97b6b9457caf964b9f20549672f692f0", - "versions.yml:md5,9d515db259af59f33ccd14061fbc45d1", - "versions.yml:md5,b979132991d8f72a3585465533bd5730", - "versions.yml:md5,c6563545d67d7ab20ad849adcaafcb71" - ], - "crop_box": [ - [ - { - "id": "test", - "single_end": false - }, - "test_t1_cropped_bbox.pkl:md5,fb2114f56d82f5f4465f6b204a8298eb" - ] - ], - "image_N4": [ - [ - { - "id": "test", - "single_end": false - }, - "test__image_n4.nii.gz:md5,ef0d9af46aa1e330c5d7679ead500596" - ] - ], - "image_bet": [ - [ - { - "id": "test", - "single_end": false - }, - "test__bet_image.nii.gz:md5,80bf67681166f331e8495f359461b9d4" - ] - ], - "image_nlmeans": [ - [ - { - "id": "test", - "single_end": false - }, - "test_denoised.nii.gz:md5,b6d25b37b1101fea5c77bbbc711757c3" - ] - ], - "image_resample": [ - [ - { - "id": "test", - "single_end": false - }, - "test__resampled.nii.gz:md5,88bae6bfeea1734111621b437e09548d" - ] - ], - "mask_bet": [ - [ - { - "id": "test", - "single_end": false - }, - "test__brain_mask.nii.gz:md5,df69d549d6919584a0f7b36113994296" - ] - ], - "mask_final": [ - [ - { - "id": "test", - "single_end": false - }, - "test_cropped.nii.gz:md5,8fdb13e81f76139351c7b1056aebf1ed" - ] - ], - "t1_final": [ - [ - { - "id": "test", - "single_end": false - }, - "test_t1_cropped.nii.gz:md5,6cd92a7c908816a47ae4146bfc6571c7" - ] - ], - "versions": [ - "versions.yml:md5,2c0a6f978891003ebdf35c1ba060aa90", - "versions.yml:md5,6aecd5fc2de479eaa81fb30b248c647c", - "versions.yml:md5,97b6b9457caf964b9f20549672f692f0", - "versions.yml:md5,9d515db259af59f33ccd14061fbc45d1", - "versions.yml:md5,b979132991d8f72a3585465533bd5730", - "versions.yml:md5,c6563545d67d7ab20ad849adcaafcb71" - ] - } + "test_denoised.nii.gz:md5:header,9dc5bba881cdb4f3b3b58b20d006d114,data,2ef8a474437349ed365aed6bfa9e4f41", + "test__image_n4.nii.gz:md5:header,fab880e51a5409298b94877a3c69c3d9,data,5d16ef7e8e31bf8e77c225df9a940f89", + "test__resampled.nii.gz:md5:header,ba56bf67f95a0353a1c8c916b9941664,data,5d16ef7e8e31bf8e77c225df9a940f89", + "test__bet_image.nii.gz:md5:header,79da6ee5e42ce49059a1d6a88fd38bdc,data,4df29fb64119840e66e7545fcb2c7a6a", + "test__brain_mask.nii.gz:md5:header,86100a14ceb6518088609a1f677e0885,data,d308b05abcb3cbd03774486a42c647b2", + "test_t1_cropped_bbox.pkl:md5,0107af810df4d572bd9d8ad2b6d4de10", + "test_cropped.nii.gz:md5:header,b35aea7e0234cc19fdd56e8274823273,data,8503316d9f1e2b1be78eacbaba0ecf21", + "test_t1_cropped.nii.gz:md5:header,b35aea7e0234cc19fdd56e8274823273,data,72d63beb1aab2005e8aac2e8b0a44fc4", + [ + "versions.yml:md5,2c0a6f978891003ebdf35c1ba060aa90", + "versions.yml:md5,6aecd5fc2de479eaa81fb30b248c647c", + "versions.yml:md5,97b6b9457caf964b9f20549672f692f0", + "versions.yml:md5,9d515db259af59f33ccd14061fbc45d1", + "versions.yml:md5,b979132991d8f72a3585465533bd5730", + "versions.yml:md5,c6563545d67d7ab20ad849adcaafcb71" + ] ], "meta": { "nf-test": "0.9.0-rc1", "nextflow": "24.04.4" }, - "timestamp": "2024-08-27T16:12:58.594953" + "timestamp": "2024-09-08T19:44:22.995519" }, "preproc_t1_classic": { "content": [ - { - "0": [ - [ - { - "id": "test", - "single_end": false - }, - "test_denoised.nii.gz:md5,b6d25b37b1101fea5c77bbbc711757c3" - ] - ], - "1": [ - [ - { - "id": "test", - "single_end": false - }, - "test__image_n4.nii.gz:md5,ef0d9af46aa1e330c5d7679ead500596" - ] - ], - "2": [ - [ - { - "id": "test", - "single_end": false - }, - "test__resampled.nii.gz:md5,88bae6bfeea1734111621b437e09548d" - ] - ], - "3": [ - [ - { - "id": "test", - "single_end": false - }, - "test__t1_bet.nii.gz:md5,016f12c75e3543c27987a91eb2160a19" - ] - ], - "4": [ - [ - { - "id": "test", - "single_end": false - }, - "test__t1_bet_mask.nii.gz:md5,cf0cc416ca8b352d3cba58d9132ab0da" - ] - ], - "5": [ - [ - { - "id": "test", - "single_end": false - }, - "test_t1_cropped_bbox.pkl:md5,5d9bd5d9c068031f34c34223b5892153" - ] - ], - "6": [ - [ - { - "id": "test", - "single_end": false - }, - "test_cropped.nii.gz:md5,aee59cb0bf2a4e14bfe116dc68be365b" - ] - ], - "7": [ - [ - { - "id": "test", - "single_end": false - }, - "test_t1_cropped.nii.gz:md5,f4bea1286a90760eecf348dd9bffd2e6" - ] - ], - "8": [ - "versions.yml:md5,209daf2d60de195845dedbdf80c98afd", - "versions.yml:md5,2c0a6f978891003ebdf35c1ba060aa90", - "versions.yml:md5,6aecd5fc2de479eaa81fb30b248c647c", - "versions.yml:md5,97b6b9457caf964b9f20549672f692f0", - "versions.yml:md5,b979132991d8f72a3585465533bd5730", - "versions.yml:md5,c6563545d67d7ab20ad849adcaafcb71" - ], - "crop_box": [ - [ - { - "id": "test", - "single_end": false - }, - "test_t1_cropped_bbox.pkl:md5,5d9bd5d9c068031f34c34223b5892153" - ] - ], - "image_N4": [ - [ - { - "id": "test", - "single_end": false - }, - "test__image_n4.nii.gz:md5,ef0d9af46aa1e330c5d7679ead500596" - ] - ], - "image_bet": [ - [ - { - "id": "test", - "single_end": false - }, - "test__t1_bet.nii.gz:md5,016f12c75e3543c27987a91eb2160a19" - ] - ], - "image_nlmeans": [ - [ - { - "id": "test", - "single_end": false - }, - "test_denoised.nii.gz:md5,b6d25b37b1101fea5c77bbbc711757c3" - ] - ], - "image_resample": [ - [ - { - "id": "test", - "single_end": false - }, - "test__resampled.nii.gz:md5,88bae6bfeea1734111621b437e09548d" - ] - ], - "mask_bet": [ - [ - { - "id": "test", - "single_end": false - }, - "test__t1_bet_mask.nii.gz:md5,cf0cc416ca8b352d3cba58d9132ab0da" - ] - ], - "mask_final": [ - [ - { - "id": "test", - "single_end": false - }, - "test_cropped.nii.gz:md5,aee59cb0bf2a4e14bfe116dc68be365b" - ] - ], - "t1_final": [ - [ - { - "id": "test", - "single_end": false - }, - "test_t1_cropped.nii.gz:md5,f4bea1286a90760eecf348dd9bffd2e6" - ] - ], - "versions": [ - "versions.yml:md5,209daf2d60de195845dedbdf80c98afd", - "versions.yml:md5,2c0a6f978891003ebdf35c1ba060aa90", - "versions.yml:md5,6aecd5fc2de479eaa81fb30b248c647c", - "versions.yml:md5,97b6b9457caf964b9f20549672f692f0", - "versions.yml:md5,b979132991d8f72a3585465533bd5730", - "versions.yml:md5,c6563545d67d7ab20ad849adcaafcb71" - ] - } + "test_denoised.nii.gz:md5:header,9dc5bba881cdb4f3b3b58b20d006d114,data,2ef8a474437349ed365aed6bfa9e4f41", + "test__image_n4.nii.gz:md5:header,fab880e51a5409298b94877a3c69c3d9,data,5d16ef7e8e31bf8e77c225df9a940f89", + "test__resampled.nii.gz:md5:header,ba56bf67f95a0353a1c8c916b9941664,data,5d16ef7e8e31bf8e77c225df9a940f89", + "test__t1_bet.nii.gz:md5:header,7edd352b8d21871ff520685f25426d37,data,2a7080722359efac17193d4bac7a60f2", + "test__t1_bet_mask.nii.gz:md5:header,83448ac1e189cc82bff23ca4f67ebc7c,data,d8965c8a469b8e19b27219a08ae43371", + "test_t1_cropped_bbox.pkl:md5,5d9bd5d9c068031f34c34223b5892153", + "test_cropped.nii.gz:md5:header,8faac291b61ec44528a86761561b8901,data,92d02eab2672eb0e71e5069a9404e1c3", + "test_t1_cropped.nii.gz:md5:header,a2eb72dc338a2f7916415675185911bf,data,a2a72674fc1661421cd4065b06373992", + [ + "versions.yml:md5,209daf2d60de195845dedbdf80c98afd", + "versions.yml:md5,2c0a6f978891003ebdf35c1ba060aa90", + "versions.yml:md5,6aecd5fc2de479eaa81fb30b248c647c", + "versions.yml:md5,97b6b9457caf964b9f20549672f692f0", + "versions.yml:md5,b979132991d8f72a3585465533bd5730", + "versions.yml:md5,c6563545d67d7ab20ad849adcaafcb71" + ] ], "meta": { "nf-test": "0.9.0-rc1", "nextflow": "24.04.4" }, - "timestamp": "2024-08-27T15:48:27.520928" + "timestamp": "2024-09-08T20:38:28.275064" } } \ No newline at end of file diff --git a/subworkflows/nf-scil/preproc_t1/tests/nextflow_surgery.config b/subworkflows/nf-scil/preproc_t1/tests/nextflow_surgery.config index 2dc615e0..66bd6020 100644 --- a/subworkflows/nf-scil/preproc_t1/tests/nextflow_surgery.config +++ b/subworkflows/nf-scil/preproc_t1/tests/nextflow_surgery.config @@ -10,6 +10,7 @@ process { } withName: "BETCROP_SYNTHBET" { memory = 8.GB + ext.nocsf = true } } From d684221d76d37ca5663cd68da80a8e5083bfeef9 Mon Sep 17 00:00:00 2001 From: anroy1 Date: Tue, 17 Sep 2024 19:44:10 +0000 Subject: [PATCH 9/9] Switch param name back to run_synth --- subworkflows/nf-scil/preproc_t1/main.nf | 4 +-- .../nf-scil/preproc_t1/tests/main.nf.test | 6 ++-- .../preproc_t1/tests/main.nf.test.snap | 33 +++++++++++++++++++ ...urgery.config => nextflow_synthbet.config} | 2 +- 4 files changed, 39 insertions(+), 6 deletions(-) rename subworkflows/nf-scil/preproc_t1/tests/{nextflow_surgery.config => nextflow_synthbet.config} (94%) diff --git a/subworkflows/nf-scil/preproc_t1/main.nf b/subworkflows/nf-scil/preproc_t1/main.nf index 5c1eb272..70c7bb51 100644 --- a/subworkflows/nf-scil/preproc_t1/main.nf +++ b/subworkflows/nf-scil/preproc_t1/main.nf @@ -7,7 +7,7 @@ include { BETCROP_SYNTHBET} from '../../../modules/nf-scil/betcrop/synthbet/main include { BETCROP_CROPVOLUME as BETCROP_CROPVOLUME_T1 } from '../../../modules/nf-scil/betcrop/cropvolume/main' include { BETCROP_CROPVOLUME as BETCROP_CROPVOLUME_MASK } from '../../../modules/nf-scil/betcrop/cropvolume/main' -params.run_surgery = params.run_surgery ?: false +params.run_synthbet = params.run_synthbet ?: false workflow PREPROC_T1 { @@ -40,7 +40,7 @@ workflow PREPROC_T1 { ch_versions = ch_versions.mix(IMAGE_RESAMPLE.out.versions.first()) // ** Brain extraction ** // - if ( params.run_surgery ) { + if ( params.run_synthbet) { ch_bet = IMAGE_RESAMPLE.out.image.join(ch_weights) BETCROP_SYNTHBET ( ch_bet ) ch_versions = ch_versions.mix(BETCROP_SYNTHBET.out.versions.first()) diff --git a/subworkflows/nf-scil/preproc_t1/tests/main.nf.test b/subworkflows/nf-scil/preproc_t1/tests/main.nf.test index 35d5371b..e69f717d 100644 --- a/subworkflows/nf-scil/preproc_t1/tests/main.nf.test +++ b/subworkflows/nf-scil/preproc_t1/tests/main.nf.test @@ -166,8 +166,8 @@ nextflow_workflow { } } -test("preproc_t1_surgery") { - config "./nextflow_surgery.config" +test("preproc_t1_synthbet") { + config "./nextflow_synthbet.config" when { workflow { @@ -226,7 +226,7 @@ test("preproc_t1_surgery") { niftiMD5SUM(workflow.out.image_resample.get(0).get(1)), niftiMD5SUM(workflow.out.image_bet.get(0).get(1)), niftiMD5SUM(workflow.out.mask_bet.get(0).get(1)), - file(workflow.out.crop_box.get(0).get(1)), + workflow.out.crop_box, niftiMD5SUM(workflow.out.mask_final.get(0).get(1)), niftiMD5SUM(workflow.out.t1_final.get(0).get(1)), workflow.out.versions diff --git a/subworkflows/nf-scil/preproc_t1/tests/main.nf.test.snap b/subworkflows/nf-scil/preproc_t1/tests/main.nf.test.snap index 115937fb..c8e94855 100644 --- a/subworkflows/nf-scil/preproc_t1/tests/main.nf.test.snap +++ b/subworkflows/nf-scil/preproc_t1/tests/main.nf.test.snap @@ -1,4 +1,37 @@ { + "preproc_t1_synthbet": { + "content": [ + "test_denoised.nii.gz:md5:header,9dc5bba881cdb4f3b3b58b20d006d114,data,2ef8a474437349ed365aed6bfa9e4f41", + "test__image_n4.nii.gz:md5:header,fab880e51a5409298b94877a3c69c3d9,data,5d16ef7e8e31bf8e77c225df9a940f89", + "test__resampled.nii.gz:md5:header,ba56bf67f95a0353a1c8c916b9941664,data,5d16ef7e8e31bf8e77c225df9a940f89", + "test__bet_image.nii.gz:md5:header,79da6ee5e42ce49059a1d6a88fd38bdc,data,4df29fb64119840e66e7545fcb2c7a6a", + "test__brain_mask.nii.gz:md5:header,86100a14ceb6518088609a1f677e0885,data,d308b05abcb3cbd03774486a42c647b2", + [ + [ + { + "id": "test", + "single_end": false + }, + "test_t1_cropped_bbox.pkl:md5,0107af810df4d572bd9d8ad2b6d4de10" + ] + ], + "test_cropped.nii.gz:md5:header,b35aea7e0234cc19fdd56e8274823273,data,8503316d9f1e2b1be78eacbaba0ecf21", + "test_t1_cropped.nii.gz:md5:header,b35aea7e0234cc19fdd56e8274823273,data,72d63beb1aab2005e8aac2e8b0a44fc4", + [ + "versions.yml:md5,2c0a6f978891003ebdf35c1ba060aa90", + "versions.yml:md5,6aecd5fc2de479eaa81fb30b248c647c", + "versions.yml:md5,97b6b9457caf964b9f20549672f692f0", + "versions.yml:md5,9d515db259af59f33ccd14061fbc45d1", + "versions.yml:md5,b979132991d8f72a3585465533bd5730", + "versions.yml:md5,c6563545d67d7ab20ad849adcaafcb71" + ] + ], + "meta": { + "nf-test": "0.9.0-rc1", + "nextflow": "24.04.4" + }, + "timestamp": "2024-09-17T19:35:44.047363" + }, "preproc_t1_option": { "content": [ "test_denoised.nii.gz:md5:header,9dc5bba881cdb4f3b3b58b20d006d114,data,19e488aa93257a256b4fbf91c1fed25c", diff --git a/subworkflows/nf-scil/preproc_t1/tests/nextflow_surgery.config b/subworkflows/nf-scil/preproc_t1/tests/nextflow_synthbet.config similarity index 94% rename from subworkflows/nf-scil/preproc_t1/tests/nextflow_surgery.config rename to subworkflows/nf-scil/preproc_t1/tests/nextflow_synthbet.config index 66bd6020..9da8baf3 100644 --- a/subworkflows/nf-scil/preproc_t1/tests/nextflow_surgery.config +++ b/subworkflows/nf-scil/preproc_t1/tests/nextflow_synthbet.config @@ -15,5 +15,5 @@ process { } params { - run_surgery = true + run_synthbet = true }