diff --git a/models/multi_organ_segmentation/LICENSE b/models/multi_organ_segmentation/LICENSE new file mode 100644 index 00000000..4e0f4baf --- /dev/null +++ b/models/multi_organ_segmentation/LICENSE @@ -0,0 +1,3 @@ +Private Use, Non-Commercial, Non-Reverse-Engineering License + +The Licensee is not allowed to distribute or make the model to any third party, either for free or for a fee. Reverse engineering of the model is not allowed. This includes, but is not limited to, providing the model as part of a commercial offering, sharing the model on a public or private network, or making the model available for download on the Internet. diff --git a/models/multi_organ_segmentation/configs/dataset_0.json b/models/multi_organ_segmentation/configs/dataset_0.json new file mode 100644 index 00000000..35e85281 --- /dev/null +++ b/models/multi_organ_segmentation/configs/dataset_0.json @@ -0,0 +1,1688 @@ +{ + "training": [ + { + "label": "ACC_g559h/ACC_g559h-label.nii.gz", + "image": "ACC_g559h/ACC_g559h-data.nii.gz" + }, + { + "label": "ACC_g742h/ACC_g742h-label.nii.gz", + "image": "ACC_g742h/ACC_g742h-data.nii.gz" + }, + { + "label": "ACC_g631h/ACC_g631h-label.nii.gz", + "image": "ACC_g631h/ACC_g631h-data.nii.gz" + }, + { + "label": "ACC_g316h/ACC_g316h-label.nii.gz", + "image": "ACC_g316h/ACC_g316h-data.nii.gz" + }, + { + "label": "ACC_g330h/ACC_g330h-label.nii.gz", + "image": "ACC_g330h/ACC_g330h-data.nii.gz" + }, + { + "label": "ACC_g619h/ACC_g619h-label.nii.gz", + "image": "ACC_g619h/ACC_g619h-data.nii.gz" + }, + { + "label": "ACC_g456h/ACC_g456h-label.nii.gz", + "image": "ACC_g456h/ACC_g456h-data.nii.gz" + }, + { + "label": "acc_g051h/acc_g051h-label.nii.gz", + "image": "acc_g051h/acc_g051h-data.nii.gz" + }, + { + "label": "ACC_g428h/ACC_g428h-label.nii.gz", + "image": "ACC_g428h/ACC_g428h-data.nii.gz" + }, + { + "label": "ACC_g383h/ACC_g383h-label.nii.gz", + "image": "ACC_g383h/ACC_g383h-data.nii.gz" + }, + { + "label": "ACC_g376h/ACC_g376h-label.nii.gz", + "image": "ACC_g376h/ACC_g376h-data.nii.gz" + }, + { + "label": "ACC_g728h/ACC_g728h-label.nii.gz", + "image": "ACC_g728h/ACC_g728h-data.nii.gz" + }, + { + "label": "ACC_g658h/ACC_g658h-label.nii.gz", + "image": "ACC_g658h/ACC_g658h-data.nii.gz" + }, + { + "label": "ACC_g639h/ACC_g639h-label.nii.gz", + "image": "ACC_g639h/ACC_g639h-data.nii.gz" + }, + { + "label": "ACC_g410h/ACC_g410h-label.nii.gz", + "image": "ACC_g410h/ACC_g410h-data.nii.gz" + }, + { + "label": "ACC_g153h/ACC_g153h-label.nii.gz", + "image": "ACC_g153h/ACC_g153h-data.nii.gz" + }, + { + "label": "ACC_g478h/ACC_g478h-label.nii.gz", + "image": "ACC_g478h/ACC_g478h-data.nii.gz" + }, + { + "label": "ACC_g406h/ACC_g406h-label.nii.gz", + "image": "ACC_g406h/ACC_g406h-data.nii.gz" + }, + { + "label": "ACC_g114h/ACC_g114h-label.nii.gz", + "image": "ACC_g114h/ACC_g114h-data.nii.gz" + }, + { + "label": "ACC_g142h/ACC_g142h-label.nii.gz", + "image": "ACC_g142h/ACC_g142h-data.nii.gz" + }, + { + "label": "acc_g031/acc_g031-label.nii.gz", + "image": "acc_g031/acc_g031-data.nii.gz" + }, + { + "label": "ACC_g432h/ACC_g432h-label.nii.gz", + "image": "ACC_g432h/ACC_g432h-data.nii.gz" + }, + { + "label": "ACC_g636h/ACC_g636h-label.nii.gz", + "image": "ACC_g636h/ACC_g636h-data.nii.gz" + }, + { + "label": "ACC_g522h/ACC_g522h-label.nii.gz", + "image": "ACC_g522h/ACC_g522h-data.nii.gz" + }, + { + "label": "ACC_g676h/ACC_g676h-label.nii.gz", + "image": "ACC_g676h/ACC_g676h-data.nii.gz" + }, + { + "label": "acc_g075h/acc_g075h-label.nii.gz", + "image": "acc_g075h/acc_g075h-data.nii.gz" + }, + { + "label": "ACC_g280h/ACC_g280h-label.nii.gz", + "image": "ACC_g280h/ACC_g280h-data.nii.gz" + }, + { + "label": "ACC_g496h/ACC_g496h-label.nii.gz", + "image": "ACC_g496h/ACC_g496h-data.nii.gz" + }, + { + "label": "ACC_g442h/ACC_g442h-label.nii.gz", + "image": "ACC_g442h/ACC_g442h-data.nii.gz" + }, + { + "label": "ACC_g537h/ACC_g537h-label.nii.gz", + "image": "ACC_g537h/ACC_g537h-data.nii.gz" + }, + { + "label": "ACC_g122h/ACC_g122h-label.nii.gz", + "image": "ACC_g122h/ACC_g122h-data.nii.gz" + }, + { + "label": "ACC_g140h/ACC_g140h-label.nii.gz", + "image": "ACC_g140h/ACC_g140h-data.nii.gz" + }, + { + "label": "ACC_g220h/ACC_g220h-label.nii.gz", + "image": "ACC_g220h/ACC_g220h-data.nii.gz" + }, + { + "label": "acc_g039/acc_g039-label.nii.gz", + "image": "acc_g039/acc_g039-data.nii.gz" + }, + { + "label": "ACC_g375h/ACC_g375h-label.nii.gz", + "image": "ACC_g375h/ACC_g375h-data.nii.gz" + }, + { + "label": "ACC_g579h/ACC_g579h-label.nii.gz", + "image": "ACC_g579h/ACC_g579h-data.nii.gz" + }, + { + "label": "acc_g054h/acc_g054h-label.nii.gz", + "image": "acc_g054h/acc_g054h-data.nii.gz" + }, + { + "label": "ACC_g211h/ACC_g211h-label.nii.gz", + "image": "ACC_g211h/ACC_g211h-data.nii.gz" + }, + { + "label": "ACC_g254h/ACC_g254h-label.nii.gz", + "image": "ACC_g254h/ACC_g254h-data.nii.gz" + }, + { + "label": "ACC_g470h/ACC_g470h-label.nii.gz", + "image": "ACC_g470h/ACC_g470h-data.nii.gz" + }, + { + "label": "acc_g072h/acc_g072h-label.nii.gz", + "image": "acc_g072h/acc_g072h-data.nii.gz" + }, + { + "label": "ACC_g149h/ACC_g149h-label.nii.gz", + "image": "ACC_g149h/ACC_g149h-data.nii.gz" + }, + { + "label": "ACC_g324h/ACC_g324h-label.nii.gz", + "image": "ACC_g324h/ACC_g324h-data.nii.gz" + }, + { + "label": "ACC_g215h/ACC_g215h-label.nii.gz", + "image": "ACC_g215h/ACC_g215h-data.nii.gz" + }, + { + "label": "ACC_g175h/ACC_g175h-label.nii.gz", + "image": "ACC_g175h/ACC_g175h-data.nii.gz" + }, + { + "label": "ACC_g127h/ACC_g127h-label.nii.gz", + "image": "ACC_g127h/ACC_g127h-data.nii.gz" + }, + { + "label": "ACC_g532h/ACC_g532h-label.nii.gz", + "image": "ACC_g532h/ACC_g532h-data.nii.gz" + }, + { + "label": "acc_g005/acc_g005-label.nii.gz", + "image": "acc_g005/acc_g005-data.nii.gz" + }, + { + "label": "ACC_g501h/ACC_g501h-label.nii.gz", + "image": "ACC_g501h/ACC_g501h-data.nii.gz" + }, + { + "label": "ACC_g689h/ACC_g689h-label.nii.gz", + "image": "ACC_g689h/ACC_g689h-data.nii.gz" + }, + { + "label": "ACC_g384h/ACC_g384h-label.nii.gz", + "image": "ACC_g384h/ACC_g384h-data.nii.gz" + }, + { + "label": "ACC_g408h/ACC_g408h-label.nii.gz", + "image": "ACC_g408h/ACC_g408h-data.nii.gz" + }, + { + "label": "ACC_g243h/ACC_g243h-label.nii.gz", + "image": "ACC_g243h/ACC_g243h-data.nii.gz" + }, + { + "label": "acc_g063h/acc_g063h-label.nii.gz", + "image": "acc_g063h/acc_g063h-data.nii.gz" + }, + { + "label": "acc_g034/acc_g034-label.nii.gz", + "image": "acc_g034/acc_g034-data.nii.gz" + }, + { + "label": "acc_g088h/acc_g088h-label.nii.gz", + "image": "acc_g088h/acc_g088h-data.nii.gz" + }, + { + "label": "acc_g014/acc_g014-label.nii.gz", + "image": "acc_g014/acc_g014-data.nii.gz" + }, + { + "label": "ACC_g504h/ACC_g504h-label.nii.gz", + "image": "ACC_g504h/ACC_g504h-data.nii.gz" + }, + { + "label": "acc_g067h/acc_g067h-label.nii.gz", + "image": "acc_g067h/acc_g067h-data.nii.gz" + }, + { + "label": "acc_g028/acc_g028-label.nii.gz", + "image": "acc_g028/acc_g028-data.nii.gz" + }, + { + "label": "ACC_g105h/ACC_g105h-label.nii.gz", + "image": "ACC_g105h/ACC_g105h-data.nii.gz" + }, + { + "label": "ACC_g453h/ACC_g453h-label.nii.gz", + "image": "ACC_g453h/ACC_g453h-data.nii.gz" + }, + { + "label": "acc_g052h/acc_g052h-label.nii.gz", + "image": "acc_g052h/acc_g052h-data.nii.gz" + }, + { + "label": "ACC_g637h/ACC_g637h-label.nii.gz", + "image": "ACC_g637h/ACC_g637h-data.nii.gz" + }, + { + "label": "ACC_g422h/ACC_g422h-label.nii.gz", + "image": "ACC_g422h/ACC_g422h-data.nii.gz" + }, + { + "label": "ACC_g352h/ACC_g352h-label.nii.gz", + "image": "ACC_g352h/ACC_g352h-data.nii.gz" + }, + { + "label": "acc_g071h/acc_g071h-label.nii.gz", + "image": "acc_g071h/acc_g071h-data.nii.gz" + }, + { + "label": "ACC_g363h/ACC_g363h-label.nii.gz", + "image": "ACC_g363h/ACC_g363h-data.nii.gz" + }, + { + "label": "ACC_g225h/ACC_g225h-label.nii.gz", + "image": "ACC_g225h/ACC_g225h-data.nii.gz" + }, + { + "label": "ACC_g298h/ACC_g298h-label.nii.gz", + "image": "ACC_g298h/ACC_g298h-data.nii.gz" + }, + { + "label": "ACC_g370h/ACC_g370h-label.nii.gz", + "image": "ACC_g370h/ACC_g370h-data.nii.gz" + }, + { + "label": "ACC_g621h/ACC_g621h-label.nii.gz", + "image": "ACC_g621h/ACC_g621h-data.nii.gz" + }, + { + "label": "ACC_g552h/ACC_g552h-label.nii.gz", + "image": "ACC_g552h/ACC_g552h-data.nii.gz" + }, + { + "label": "ACC_g744h/ACC_g744h-label.nii.gz", + "image": "ACC_g744h/ACC_g744h-data.nii.gz" + }, + { + "label": "ACC_g278h/ACC_g278h-label.nii.gz", + "image": "ACC_g278h/ACC_g278h-data.nii.gz" + }, + { + "label": "ACC_g193h/ACC_g193h-label.nii.gz", + "image": "ACC_g193h/ACC_g193h-data.nii.gz" + }, + { + "label": "ACC_g287h/ACC_g287h-label.nii.gz", + "image": "ACC_g287h/ACC_g287h-data.nii.gz" + }, + { + "label": "ACC_g320h/ACC_g320h-label.nii.gz", + "image": "ACC_g320h/ACC_g320h-data.nii.gz" + }, + { + "label": "ACC_g226h/ACC_g226h-label.nii.gz", + "image": "ACC_g226h/ACC_g226h-data.nii.gz" + }, + { + "label": "acc_g085h/acc_g085h-label.nii.gz", + "image": "acc_g085h/acc_g085h-data.nii.gz" + }, + { + "label": "ACC_g616h/ACC_g616h-label.nii.gz", + "image": "ACC_g616h/ACC_g616h-data.nii.gz" + }, + { + "label": "ACC_g159h/ACC_g159h-label.nii.gz", + "image": "ACC_g159h/ACC_g159h-data.nii.gz" + }, + { + "label": "ACC_g385h/ACC_g385h-label.nii.gz", + "image": "ACC_g385h/ACC_g385h-data.nii.gz" + }, + { + "label": "ACC_g635h/ACC_g635h-label.nii.gz", + "image": "ACC_g635h/ACC_g635h-data.nii.gz" + }, + { + "label": "ACC_g242h/ACC_g242h-label.nii.gz", + "image": "ACC_g242h/ACC_g242h-data.nii.gz" + }, + { + "label": "ACC_g764h/ACC_g764h-label.nii.gz", + "image": "ACC_g764h/ACC_g764h-data.nii.gz" + }, + { + "label": "acc_g059h/acc_g059h-label.nii.gz", + "image": "acc_g059h/acc_g059h-data.nii.gz" + }, + { + "label": "acc_g035/acc_g035-label.nii.gz", + "image": "acc_g035/acc_g035-data.nii.gz" + }, + { + "label": "acc_g041/acc_g041-label.nii.gz", + "image": "acc_g041/acc_g041-data.nii.gz" + }, + { + "label": "ACC_g711h/ACC_g711h-label.nii.gz", + "image": "ACC_g711h/ACC_g711h-data.nii.gz" + }, + { + "label": "ACC_g388h/ACC_g388h-label.nii.gz", + "image": "ACC_g388h/ACC_g388h-data.nii.gz" + }, + { + "label": "ACC_g500h/ACC_g500h-label.nii.gz", + "image": "ACC_g500h/ACC_g500h-data.nii.gz" + }, + { + "label": "ACC_g390h/ACC_g390h-label.nii.gz", + "image": "ACC_g390h/ACC_g390h-data.nii.gz" + }, + { + "label": "ACC_g551h/ACC_g551h-label.nii.gz", + "image": "ACC_g551h/ACC_g551h-data.nii.gz" + }, + { + "label": "acc_g053h/acc_g053h-label.nii.gz", + "image": "acc_g053h/acc_g053h-data.nii.gz" + }, + { + "label": "ACC_g108h/ACC_g108h-label.nii.gz", + "image": "ACC_g108h/ACC_g108h-data.nii.gz" + }, + { + "label": "acc_g057h/acc_g057h-label.nii.gz", + "image": "acc_g057h/acc_g057h-data.nii.gz" + }, + { + "label": "ACC_g295h/ACC_g295h-label.nii.gz", + "image": "ACC_g295h/ACC_g295h-data.nii.gz" + }, + { + "label": "ACC_g775h/ACC_g775h-label.nii.gz", + "image": "ACC_g775h/ACC_g775h-data.nii.gz" + }, + { + "label": "ACC_g603h/ACC_g603h-label.nii.gz", + "image": "ACC_g603h/ACC_g603h-data.nii.gz" + }, + { + "label": "acc_g045/acc_g045-label.nii.gz", + "image": "acc_g045/acc_g045-data.nii.gz" + }, + { + "label": "ACC_g335h/ACC_g335h-label.nii.gz", + "image": "ACC_g335h/ACC_g335h-data.nii.gz" + }, + { + "label": "ACC_g566h/ACC_g566h-label.nii.gz", + "image": "ACC_g566h/ACC_g566h-data.nii.gz" + }, + { + "label": "ACC_g615h/ACC_g615h-label.nii.gz", + "image": "ACC_g615h/ACC_g615h-data.nii.gz" + }, + { + "label": "ACC_g583h/ACC_g583h-label.nii.gz", + "image": "ACC_g583h/ACC_g583h-data.nii.gz" + }, + { + "label": "acc_g038/acc_g038-label.nii.gz", + "image": "acc_g038/acc_g038-data.nii.gz" + }, + { + "label": "ACC_g355h/ACC_g355h-label.nii.gz", + "image": "ACC_g355h/ACC_g355h-data.nii.gz" + }, + { + "label": "ACC_g665h/ACC_g665h-label.nii.gz", + "image": "ACC_g665h/ACC_g665h-data.nii.gz" + }, + { + "label": "ACC_g234h/ACC_g234h-label.nii.gz", + "image": "ACC_g234h/ACC_g234h-data.nii.gz" + }, + { + "label": "ACC_g745h/ACC_g745h-label.nii.gz", + "image": "ACC_g745h/ACC_g745h-data.nii.gz" + }, + { + "label": "ACC_g167h/ACC_g167h-label.nii.gz", + "image": "ACC_g167h/ACC_g167h-data.nii.gz" + }, + { + "label": "ACC_g152h/ACC_g152h-label.nii.gz", + "image": "ACC_g152h/ACC_g152h-data.nii.gz" + }, + { + "label": "ACC_g148h/ACC_g148h-label.nii.gz", + "image": "ACC_g148h/ACC_g148h-data.nii.gz" + }, + { + "label": "acc_g011/acc_g011-label.nii.gz", + "image": "acc_g011/acc_g011-data.nii.gz" + }, + { + "label": "ACC_g521h/ACC_g521h-label.nii.gz", + "image": "ACC_g521h/ACC_g521h-data.nii.gz" + }, + { + "label": "ACC_g130h/ACC_g130h-label.nii.gz", + "image": "ACC_g130h/ACC_g130h-data.nii.gz" + }, + { + "label": "acc_g096h/acc_g096h-label.nii.gz", + "image": "acc_g096h/acc_g096h-data.nii.gz" + }, + { + "label": "acc_g050h/acc_g050h-label.nii.gz", + "image": "acc_g050h/acc_g050h-data.nii.gz" + }, + { + "label": "ACC_g643h/ACC_g643h-label.nii.gz", + "image": "ACC_g643h/ACC_g643h-data.nii.gz" + }, + { + "label": "ACC_g534h/ACC_g534h-label.nii.gz", + "image": "ACC_g534h/ACC_g534h-data.nii.gz" + }, + { + "label": "ACC_g111h/ACC_g111h-label.nii.gz", + "image": "ACC_g111h/ACC_g111h-data.nii.gz" + }, + { + "label": "ACC_g202h/ACC_g202h-label.nii.gz", + "image": "ACC_g202h/ACC_g202h-data.nii.gz" + }, + { + "label": "ACC_g139h/ACC_g139h-label.nii.gz", + "image": "ACC_g139h/ACC_g139h-data.nii.gz" + }, + { + "label": "ACC_g494h/ACC_g494h-label.nii.gz", + "image": "ACC_g494h/ACC_g494h-data.nii.gz" + }, + { + "label": "ACC_g693h/ACC_g693h-label.nii.gz", + "image": "ACC_g693h/ACC_g693h-data.nii.gz" + }, + { + "label": "ACC_g315h/ACC_g315h-label.nii.gz", + "image": "ACC_g315h/ACC_g315h-data.nii.gz" + }, + { + "label": "ACC_g690h/ACC_g690h-label.nii.gz", + "image": "ACC_g690h/ACC_g690h-data.nii.gz" + }, + { + "label": "ACC_g380h/ACC_g380h-label.nii.gz", + "image": "ACC_g380h/ACC_g380h-data.nii.gz" + }, + { + "label": "ACC_g535h/ACC_g535h-label.nii.gz", + "image": "ACC_g535h/ACC_g535h-data.nii.gz" + }, + { + "label": "ACC_g460h/ACC_g460h-label.nii.gz", + "image": "ACC_g460h/ACC_g460h-data.nii.gz" + }, + { + "label": "ACC_g340h/ACC_g340h-label.nii.gz", + "image": "ACC_g340h/ACC_g340h-data.nii.gz" + }, + { + "label": "ACC_g691h/ACC_g691h-label.nii.gz", + "image": "ACC_g691h/ACC_g691h-data.nii.gz" + }, + { + "label": "acc_g064h/acc_g064h-label.nii.gz", + "image": "acc_g064h/acc_g064h-data.nii.gz" + }, + { + "label": "ACC_g291h/ACC_g291h-label.nii.gz", + "image": "ACC_g291h/ACC_g291h-data.nii.gz" + }, + { + "label": "ACC_g206h/ACC_g206h-label.nii.gz", + "image": "ACC_g206h/ACC_g206h-data.nii.gz" + }, + { + "label": "ACC_g331h/ACC_g331h-label.nii.gz", + "image": "ACC_g331h/ACC_g331h-data.nii.gz" + }, + { + "label": "ACC_g274h/ACC_g274h-label.nii.gz", + "image": "ACC_g274h/ACC_g274h-data.nii.gz" + }, + { + "label": "ACC_g649h/ACC_g649h-label.nii.gz", + "image": "ACC_g649h/ACC_g649h-data.nii.gz" + }, + { + "label": "ACC_g736h/ACC_g736h-label.nii.gz", + "image": "ACC_g736h/ACC_g736h-data.nii.gz" + }, + { + "label": "ACC_g761h/ACC_g761h-label.nii.gz", + "image": "ACC_g761h/ACC_g761h-data.nii.gz" + }, + { + "label": "ACC_g289h/ACC_g289h-label.nii.gz", + "image": "ACC_g289h/ACC_g289h-data.nii.gz" + }, + { + "label": "ACC_g448h/ACC_g448h-label.nii.gz", + "image": "ACC_g448h/ACC_g448h-data.nii.gz" + }, + { + "label": "ACC_g310h/ACC_g310h-label.nii.gz", + "image": "ACC_g310h/ACC_g310h-data.nii.gz" + }, + { + "label": "acc_g009/acc_g009-label.nii.gz", + "image": "acc_g009/acc_g009-data.nii.gz" + }, + { + "label": "ACC_g247h/ACC_g247h-label.nii.gz", + "image": "ACC_g247h/ACC_g247h-data.nii.gz" + }, + { + "label": "ACC_g773h/ACC_g773h-label.nii.gz", + "image": "ACC_g773h/ACC_g773h-data.nii.gz" + }, + { + "label": "ACC_g465h/ACC_g465h-label.nii.gz", + "image": "ACC_g465h/ACC_g465h-data.nii.gz" + }, + { + "label": "ACC_g196h/ACC_g196h-label.nii.gz", + "image": "ACC_g196h/ACC_g196h-data.nii.gz" + }, + { + "label": "acc_g068h/acc_g068h-label.nii.gz", + "image": "acc_g068h/acc_g068h-data.nii.gz" + }, + { + "label": "ACC_g409h/ACC_g409h-label.nii.gz", + "image": "ACC_g409h/ACC_g409h-data.nii.gz" + }, + { + "label": "acc_g006/acc_g006-label.nii.gz", + "image": "acc_g006/acc_g006-data.nii.gz" + }, + { + "label": "ACC_g160h/ACC_g160h-label.nii.gz", + "image": "ACC_g160h/ACC_g160h-data.nii.gz" + }, + { + "label": "acc_g027/acc_g027-label.nii.gz", + "image": "acc_g027/acc_g027-data.nii.gz" + }, + { + "label": "ACC_g326h/ACC_g326h-label.nii.gz", + "image": "ACC_g326h/ACC_g326h-data.nii.gz" + }, + { + "label": "ACC_g170h/ACC_g170h-label.nii.gz", + "image": "ACC_g170h/ACC_g170h-data.nii.gz" + }, + { + "label": "ACC_g269h/ACC_g269h-label.nii.gz", + "image": "ACC_g269h/ACC_g269h-data.nii.gz" + }, + { + "label": "ACC_g468h/ACC_g468h-label.nii.gz", + "image": "ACC_g468h/ACC_g468h-data.nii.gz" + }, + { + "label": "ACC_g512h/ACC_g512h-label.nii.gz", + "image": "ACC_g512h/ACC_g512h-data.nii.gz" + }, + { + "label": "ACC_g563h/ACC_g563h-label.nii.gz", + "image": "ACC_g563h/ACC_g563h-data.nii.gz" + }, + { + "label": "acc_g055h/acc_g055h-label.nii.gz", + "image": "acc_g055h/acc_g055h-data.nii.gz" + }, + { + "label": "acc_g086h/acc_g086h-label.nii.gz", + "image": "acc_g086h/acc_g086h-data.nii.gz" + }, + { + "label": "ACC_g762h/ACC_g762h-label.nii.gz", + "image": "ACC_g762h/ACC_g762h-data.nii.gz" + }, + { + "label": "ACC_g197h/ACC_g197h-label.nii.gz", + "image": "ACC_g197h/ACC_g197h-data.nii.gz" + }, + { + "label": "ACC_g674h/ACC_g674h-label.nii.gz", + "image": "ACC_g674h/ACC_g674h-data.nii.gz" + }, + { + "label": "ACC_g393h/ACC_g393h-label.nii.gz", + "image": "ACC_g393h/ACC_g393h-data.nii.gz" + }, + { + "label": "ACC_g578h/ACC_g578h-label.nii.gz", + "image": "ACC_g578h/ACC_g578h-data.nii.gz" + }, + { + "label": "ACC_g601h/ACC_g601h-label.nii.gz", + "image": "ACC_g601h/ACC_g601h-data.nii.gz" + }, + { + "label": "ACC_g586h/ACC_g586h-label.nii.gz", + "image": "ACC_g586h/ACC_g586h-data.nii.gz" + }, + { + "label": "ACC_g626h/ACC_g626h-label.nii.gz", + "image": "ACC_g626h/ACC_g626h-data.nii.gz" + }, + { + "label": "acc_g008/acc_g008-label.nii.gz", + "image": "acc_g008/acc_g008-data.nii.gz" + }, + { + "label": "acc_g077h/acc_g077h-label.nii.gz", + "image": "acc_g077h/acc_g077h-data.nii.gz" + }, + { + "label": "ACC_g365h/ACC_g365h-label.nii.gz", + "image": "ACC_g365h/ACC_g365h-data.nii.gz" + }, + { + "label": "acc_g036/acc_g036-label.nii.gz", + "image": "acc_g036/acc_g036-data.nii.gz" + }, + { + "label": "ACC_g155h/ACC_g155h-label.nii.gz", + "image": "ACC_g155h/ACC_g155h-data.nii.gz" + }, + { + "label": "acc_g033/acc_g033-label.nii.gz", + "image": "acc_g033/acc_g033-data.nii.gz" + }, + { + "label": "ACC_g751h/ACC_g751h-label.nii.gz", + "image": "ACC_g751h/ACC_g751h-data.nii.gz" + }, + { + "label": "ACC_g201h/ACC_g201h-label.nii.gz", + "image": "ACC_g201h/ACC_g201h-data.nii.gz" + }, + { + "label": "ACC_g491h/ACC_g491h-label.nii.gz", + "image": "ACC_g491h/ACC_g491h-data.nii.gz" + }, + { + "label": "ACC_g109h/ACC_g109h-label.nii.gz", + "image": "ACC_g109h/ACC_g109h-data.nii.gz" + }, + { + "label": "ACC_g219h/ACC_g219h-label.nii.gz", + "image": "ACC_g219h/ACC_g219h-data.nii.gz" + }, + { + "label": "ACC_g189h/ACC_g189h-label.nii.gz", + "image": "ACC_g189h/ACC_g189h-data.nii.gz" + }, + { + "label": "ACC_g585h/ACC_g585h-label.nii.gz", + "image": "ACC_g585h/ACC_g585h-data.nii.gz" + }, + { + "label": "ACC_g301h/ACC_g301h-label.nii.gz", + "image": "ACC_g301h/ACC_g301h-data.nii.gz" + }, + { + "label": "ACC_g346h/ACC_g346h-label.nii.gz", + "image": "ACC_g346h/ACC_g346h-data.nii.gz" + }, + { + "label": "ACC_g241h/ACC_g241h-label.nii.gz", + "image": "ACC_g241h/ACC_g241h-data.nii.gz" + }, + { + "label": "acc_g049h/acc_g049h-label.nii.gz", + "image": "acc_g049h/acc_g049h-data.nii.gz" + }, + { + "label": "ACC_g680h/ACC_g680h-label.nii.gz", + "image": "ACC_g680h/ACC_g680h-data.nii.gz" + }, + { + "label": "ACC_g592h/ACC_g592h-label.nii.gz", + "image": "ACC_g592h/ACC_g592h-data.nii.gz" + }, + { + "label": "ACC_g192h/ACC_g192h-label.nii.gz", + "image": "ACC_g192h/ACC_g192h-data.nii.gz" + }, + { + "label": "ACC_g597h/ACC_g597h-label.nii.gz", + "image": "ACC_g597h/ACC_g597h-data.nii.gz" + }, + { + "label": "ACC_g681h/ACC_g681h-label.nii.gz", + "image": "ACC_g681h/ACC_g681h-data.nii.gz" + }, + { + "label": "ACC_g673h/ACC_g673h-label.nii.gz", + "image": "ACC_g673h/ACC_g673h-data.nii.gz" + }, + { + "label": "acc_g026/acc_g026-label.nii.gz", + "image": "acc_g026/acc_g026-data.nii.gz" + }, + { + "label": "ACC_g161h/ACC_g161h-label.nii.gz", + "image": "ACC_g161h/ACC_g161h-data.nii.gz" + }, + { + "label": "ACC_g235h/ACC_g235h-label.nii.gz", + "image": "ACC_g235h/ACC_g235h-data.nii.gz" + }, + { + "label": "ACC_g288h/ACC_g288h-label.nii.gz", + "image": "ACC_g288h/ACC_g288h-data.nii.gz" + }, + { + "label": "ACC_g332h/ACC_g332h-label.nii.gz", + "image": "ACC_g332h/ACC_g332h-data.nii.gz" + }, + { + "label": "ACC_g118h/ACC_g118h-label.nii.gz", + "image": "ACC_g118h/ACC_g118h-data.nii.gz" + }, + { + "label": "ACC_g684h/ACC_g684h-label.nii.gz", + "image": "ACC_g684h/ACC_g684h-data.nii.gz" + }, + { + "label": "ACC_g459h/ACC_g459h-label.nii.gz", + "image": "ACC_g459h/ACC_g459h-data.nii.gz" + }, + { + "label": "acc_g094h/acc_g094h-label.nii.gz", + "image": "acc_g094h/acc_g094h-data.nii.gz" + }, + { + "label": "ACC_g297h/ACC_g297h-label.nii.gz", + "image": "ACC_g297h/ACC_g297h-data.nii.gz" + }, + { + "label": "ACC_g671h/ACC_g671h-label.nii.gz", + "image": "ACC_g671h/ACC_g671h-data.nii.gz" + }, + { + "label": "ACC_g137h/ACC_g137h-label.nii.gz", + "image": "ACC_g137h/ACC_g137h-data.nii.gz" + }, + { + "label": "ACC_g343h/ACC_g343h-label.nii.gz", + "image": "ACC_g343h/ACC_g343h-data.nii.gz" + }, + { + "label": "ACC_g469h/ACC_g469h-label.nii.gz", + "image": "ACC_g469h/ACC_g469h-data.nii.gz" + }, + { + "label": "ACC_g116h/ACC_g116h-label.nii.gz", + "image": "ACC_g116h/ACC_g116h-data.nii.gz" + }, + { + "label": "ACC_g239h/ACC_g239h-label.nii.gz", + "image": "ACC_g239h/ACC_g239h-data.nii.gz" + }, + { + "label": "ACC_g617h/ACC_g617h-label.nii.gz", + "image": "ACC_g617h/ACC_g617h-data.nii.gz" + }, + { + "label": "ACC_g611h/ACC_g611h-label.nii.gz", + "image": "ACC_g611h/ACC_g611h-data.nii.gz" + }, + { + "label": "ACC_g527h/ACC_g527h-label.nii.gz", + "image": "ACC_g527h/ACC_g527h-data.nii.gz" + }, + { + "label": "ACC_g570h/ACC_g570h-label.nii.gz", + "image": "ACC_g570h/ACC_g570h-data.nii.gz" + }, + { + "label": "ACC_g606h/ACC_g606h-label.nii.gz", + "image": "ACC_g606h/ACC_g606h-data.nii.gz" + }, + { + "label": "ACC_g776h/ACC_g776h-label.nii.gz", + "image": "ACC_g776h/ACC_g776h-data.nii.gz" + }, + { + "label": "ACC_g277h/ACC_g277h-label.nii.gz", + "image": "ACC_g277h/ACC_g277h-data.nii.gz" + }, + { + "label": "ACC_g360h/ACC_g360h-label.nii.gz", + "image": "ACC_g360h/ACC_g360h-data.nii.gz" + }, + { + "label": "ACC_g342h/ACC_g342h-label.nii.gz", + "image": "ACC_g342h/ACC_g342h-data.nii.gz" + }, + { + "label": "ACC_g203h/ACC_g203h-label.nii.gz", + "image": "ACC_g203h/ACC_g203h-data.nii.gz" + }, + { + "label": "ACC_g101h/ACC_g101h-label.nii.gz", + "image": "ACC_g101h/ACC_g101h-data.nii.gz" + }, + { + "label": "ACC_g178h/ACC_g178h-label.nii.gz", + "image": "ACC_g178h/ACC_g178h-data.nii.gz" + }, + { + "label": "ACC_g687h/ACC_g687h-label.nii.gz", + "image": "ACC_g687h/ACC_g687h-data.nii.gz" + }, + { + "label": "ACC_g542h/ACC_g542h-label.nii.gz", + "image": "ACC_g542h/ACC_g542h-data.nii.gz" + }, + { + "label": "ACC_g171h/ACC_g171h-label.nii.gz", + "image": "ACC_g171h/ACC_g171h-data.nii.gz" + }, + { + "label": "ACC_g098h/ACC_g098h-label.nii.gz", + "image": "ACC_g098h/ACC_g098h-data.nii.gz" + }, + { + "label": "ACC_g120h/ACC_g120h-label.nii.gz", + "image": "ACC_g120h/ACC_g120h-data.nii.gz" + }, + { + "label": "ACC_g622h/ACC_g622h-label.nii.gz", + "image": "ACC_g622h/ACC_g622h-data.nii.gz" + }, + { + "label": "acc_g058h/acc_g058h-label.nii.gz", + "image": "acc_g058h/acc_g058h-data.nii.gz" + }, + { + "label": "ACC_g704h/ACC_g704h-label.nii.gz", + "image": "ACC_g704h/ACC_g704h-data.nii.gz" + }, + { + "label": "ACC_g132h/ACC_g132h-label.nii.gz", + "image": "ACC_g132h/ACC_g132h-data.nii.gz" + }, + { + "label": "ACC_g441h/ACC_g441h-label.nii.gz", + "image": "ACC_g441h/ACC_g441h-data.nii.gz" + }, + { + "label": "ACC_g447h/ACC_g447h-label.nii.gz", + "image": "ACC_g447h/ACC_g447h-data.nii.gz" + }, + { + "label": "ACC_g158h/ACC_g158h-label.nii.gz", + "image": "ACC_g158h/ACC_g158h-data.nii.gz" + }, + { + "label": "ACC_g325h/ACC_g325h-label.nii.gz", + "image": "ACC_g325h/ACC_g325h-data.nii.gz" + }, + { + "label": "ACC_g572h/ACC_g572h-label.nii.gz", + "image": "ACC_g572h/ACC_g572h-data.nii.gz" + }, + { + "label": "ACC_g596h/ACC_g596h-label.nii.gz", + "image": "ACC_g596h/ACC_g596h-data.nii.gz" + }, + { + "label": "ACC_g628h/ACC_g628h-label.nii.gz", + "image": "ACC_g628h/ACC_g628h-data.nii.gz" + }, + { + "label": "acc_g060h/acc_g060h-label.nii.gz", + "image": "acc_g060h/acc_g060h-data.nii.gz" + }, + { + "label": "ACC_g367h/ACC_g367h-label.nii.gz", + "image": "ACC_g367h/ACC_g367h-data.nii.gz" + }, + { + "label": "ACC_g207h/ACC_g207h-label.nii.gz", + "image": "ACC_g207h/ACC_g207h-data.nii.gz" + }, + { + "label": "acc_g043/acc_g043-label.nii.gz", + "image": "acc_g043/acc_g043-data.nii.gz" + }, + { + "label": "ACC_g373h/ACC_g373h-label.nii.gz", + "image": "ACC_g373h/ACC_g373h-data.nii.gz" + }, + { + "label": "acc_g062h/acc_g062h-label.nii.gz", + "image": "acc_g062h/acc_g062h-data.nii.gz" + }, + { + "label": "ACC_g629h/ACC_g629h-label.nii.gz", + "image": "ACC_g629h/ACC_g629h-data.nii.gz" + }, + { + "label": "ACC_g357h/ACC_g357h-label.nii.gz", + "image": "ACC_g357h/ACC_g357h-data.nii.gz" + }, + { + "label": "ACC_g488h/ACC_g488h-label.nii.gz", + "image": "ACC_g488h/ACC_g488h-data.nii.gz" + }, + { + "label": "ACC_g640h/ACC_g640h-label.nii.gz", + "image": "ACC_g640h/ACC_g640h-data.nii.gz" + }, + { + "label": "ACC_g708h/ACC_g708h-label.nii.gz", + "image": "ACC_g708h/ACC_g708h-data.nii.gz" + }, + { + "label": "ACC_g753h/ACC_g753h-label.nii.gz", + "image": "ACC_g753h/ACC_g753h-data.nii.gz" + }, + { + "label": "ACC_g200h/ACC_g200h-label.nii.gz", + "image": "ACC_g200h/ACC_g200h-data.nii.gz" + }, + { + "label": "ACC_g743h/ACC_g743h-label.nii.gz", + "image": "ACC_g743h/ACC_g743h-data.nii.gz" + }, + { + "label": "acc_g082h/acc_g082h-label.nii.gz", + "image": "acc_g082h/acc_g082h-data.nii.gz" + }, + { + "label": "ACC_g391h/ACC_g391h-label.nii.gz", + "image": "ACC_g391h/ACC_g391h-data.nii.gz" + }, + { + "label": "ACC_g218h/ACC_g218h-label.nii.gz", + "image": "ACC_g218h/ACC_g218h-data.nii.gz" + }, + { + "label": "ACC_g664h/ACC_g664h-label.nii.gz", + "image": "ACC_g664h/ACC_g664h-data.nii.gz" + }, + { + "label": "acc_g012/acc_g012-label.nii.gz", + "image": "acc_g012/acc_g012-data.nii.gz" + }, + { + "label": "ACC_g300h/ACC_g300h-label.nii.gz", + "image": "ACC_g300h/ACC_g300h-data.nii.gz" + }, + { + "label": "ACC_g505h/ACC_g505h-label.nii.gz", + "image": "ACC_g505h/ACC_g505h-data.nii.gz" + }, + { + "label": "acc_g015/acc_g015-label.nii.gz", + "image": "acc_g015/acc_g015-data.nii.gz" + }, + { + "label": "acc_g020/acc_g020-label.nii.gz", + "image": "acc_g020/acc_g020-data.nii.gz" + }, + { + "label": "ACC_g431h/ACC_g431h-label.nii.gz", + "image": "ACC_g431h/ACC_g431h-data.nii.gz" + }, + { + "label": "acc_g010/acc_g010-label.nii.gz", + "image": "acc_g010/acc_g010-data.nii.gz" + }, + { + "label": "acc_g044/acc_g044-label.nii.gz", + "image": "acc_g044/acc_g044-data.nii.gz" + }, + { + "label": "ACC_g273h/ACC_g273h-label.nii.gz", + "image": "ACC_g273h/ACC_g273h-data.nii.gz" + }, + { + "label": "acc_g025/acc_g025-label.nii.gz", + "image": "acc_g025/acc_g025-data.nii.gz" + }, + { + "label": "ACC_g334h/ACC_g334h-label.nii.gz", + "image": "ACC_g334h/ACC_g334h-data.nii.gz" + }, + { + "label": "ACC_g421h/ACC_g421h-label.nii.gz", + "image": "ACC_g421h/ACC_g421h-data.nii.gz" + }, + { + "label": "acc_g069h/acc_g069h-label.nii.gz", + "image": "acc_g069h/acc_g069h-data.nii.gz" + }, + { + "label": "ACC_g233h/ACC_g233h-label.nii.gz", + "image": "ACC_g233h/ACC_g233h-data.nii.gz" + }, + { + "label": "acc_g090h/acc_g090h-label.nii.gz", + "image": "acc_g090h/acc_g090h-data.nii.gz" + }, + { + "label": "ACC_g154h/ACC_g154h-label.nii.gz", + "image": "ACC_g154h/ACC_g154h-data.nii.gz" + }, + { + "label": "acc_g002/acc_g002-label.nii.gz", + "image": "acc_g002/acc_g002-data.nii.gz" + }, + { + "label": "ACC_g100h/ACC_g100h-label.nii.gz", + "image": "ACC_g100h/ACC_g100h-data.nii.gz" + }, + { + "label": "ACC_g699h/ACC_g699h-label.nii.gz", + "image": "ACC_g699h/ACC_g699h-data.nii.gz" + }, + { + "label": "ACC_g688h/ACC_g688h-label.nii.gz", + "image": "ACC_g688h/ACC_g688h-data.nii.gz" + }, + { + "label": "ACC_g204h/ACC_g204h-label.nii.gz", + "image": "ACC_g204h/ACC_g204h-data.nii.gz" + }, + { + "label": "ACC_g495h/ACC_g495h-label.nii.gz", + "image": "ACC_g495h/ACC_g495h-data.nii.gz" + }, + { + "label": "acc_g073h/acc_g073h-label.nii.gz", + "image": "acc_g073h/acc_g073h-data.nii.gz" + }, + { + "label": "ACC_g589h/ACC_g589h-label.nii.gz", + "image": "ACC_g589h/ACC_g589h-data.nii.gz" + }, + { + "label": "ACC_g763h/ACC_g763h-label.nii.gz", + "image": "ACC_g763h/ACC_g763h-data.nii.gz" + }, + { + "label": "acc_g001/acc_g001-label.nii.gz", + "image": "acc_g001/acc_g001-data.nii.gz" + }, + { + "label": "ACC_g290h/ACC_g290h-label.nii.gz", + "image": "ACC_g290h/ACC_g290h-data.nii.gz" + }, + { + "label": "ACC_g530h/ACC_g530h-label.nii.gz", + "image": "ACC_g530h/ACC_g530h-data.nii.gz" + }, + { + "label": "ACC_g144h/ACC_g144h-label.nii.gz", + "image": "ACC_g144h/ACC_g144h-data.nii.gz" + }, + { + "label": "ACC_g213h/ACC_g213h-label.nii.gz", + "image": "ACC_g213h/ACC_g213h-data.nii.gz" + }, + { + "label": "ACC_g164h/ACC_g164h-label.nii.gz", + "image": "ACC_g164h/ACC_g164h-data.nii.gz" + }, + { + "label": "ACC_g317h/ACC_g317h-label.nii.gz", + "image": "ACC_g317h/ACC_g317h-data.nii.gz" + }, + { + "label": "ACC_g293h/ACC_g293h-label.nii.gz", + "image": "ACC_g293h/ACC_g293h-data.nii.gz" + }, + { + "label": "ACC_g268h/ACC_g268h-label.nii.gz", + "image": "ACC_g268h/ACC_g268h-data.nii.gz" + }, + { + "label": "ACC_g531h/ACC_g531h-label.nii.gz", + "image": "ACC_g531h/ACC_g531h-data.nii.gz" + }, + { + "label": "ACC_g508h/ACC_g508h-label.nii.gz", + "image": "ACC_g508h/ACC_g508h-data.nii.gz" + }, + { + "label": "ACC_g180h/ACC_g180h-label.nii.gz", + "image": "ACC_g180h/ACC_g180h-data.nii.gz" + }, + { + "label": "ACC_g311h/ACC_g311h-label.nii.gz", + "image": "ACC_g311h/ACC_g311h-data.nii.gz" + }, + { + "label": "ACC_g282h/ACC_g282h-label.nii.gz", + "image": "ACC_g282h/ACC_g282h-data.nii.gz" + }, + { + "label": "ACC_g232h/ACC_g232h-label.nii.gz", + "image": "ACC_g232h/ACC_g232h-data.nii.gz" + }, + { + "label": "ACC_g119h/ACC_g119h-label.nii.gz", + "image": "ACC_g119h/ACC_g119h-data.nii.gz" + }, + { + "label": "ACC_g536h/ACC_g536h-label.nii.gz", + "image": "ACC_g536h/ACC_g536h-data.nii.gz" + }, + { + "label": "ACC_g270h/ACC_g270h-label.nii.gz", + "image": "ACC_g270h/ACC_g270h-data.nii.gz" + }, + { + "label": "ACC_g739h/ACC_g739h-label.nii.gz", + "image": "ACC_g739h/ACC_g739h-data.nii.gz" + }, + { + "label": "acc_g047/acc_g047-label.nii.gz", + "image": "acc_g047/acc_g047-data.nii.gz" + }, + { + "label": "acc_g029/acc_g029-label.nii.gz", + "image": "acc_g029/acc_g029-data.nii.gz" + } + ], + "validation": [ + { + "label": "ACC_g115h/ACC_g115h-label.nii.gz", + "image": "ACC_g115h/ACC_g115h-data.nii.gz" + }, + { + "label": "ACC_g568h/ACC_g568h-label.nii.gz", + "image": "ACC_g568h/ACC_g568h-data.nii.gz" + }, + { + "label": "acc_g042/acc_g042-label.nii.gz", + "image": "acc_g042/acc_g042-data.nii.gz" + }, + { + "label": "ACC_g541h/ACC_g541h-label.nii.gz", + "image": "ACC_g541h/ACC_g541h-data.nii.gz" + }, + { + "label": "ACC_g245h/ACC_g245h-label.nii.gz", + "image": "ACC_g245h/ACC_g245h-data.nii.gz" + }, + { + "label": "ACC_g136h/ACC_g136h-label.nii.gz", + "image": "ACC_g136h/ACC_g136h-data.nii.gz" + }, + { + "label": "ACC_g452h/ACC_g452h-label.nii.gz", + "image": "ACC_g452h/ACC_g452h-data.nii.gz" + }, + { + "label": "ACC_g455h/ACC_g455h-label.nii.gz", + "image": "ACC_g455h/ACC_g455h-data.nii.gz" + }, + { + "label": "ACC_g650h/ACC_g650h-label.nii.gz", + "image": "ACC_g650h/ACC_g650h-data.nii.gz" + }, + { + "label": "ACC_g165h/ACC_g165h-label.nii.gz", + "image": "ACC_g165h/ACC_g165h-data.nii.gz" + }, + { + "label": "ACC_g485h/ACC_g485h-label.nii.gz", + "image": "ACC_g485h/ACC_g485h-data.nii.gz" + }, + { + "label": "acc_g061h/acc_g061h-label.nii.gz", + "image": "acc_g061h/acc_g061h-data.nii.gz" + }, + { + "label": "ACC_g445h/ACC_g445h-label.nii.gz", + "image": "ACC_g445h/ACC_g445h-data.nii.gz" + }, + { + "label": "ACC_g486h/ACC_g486h-label.nii.gz", + "image": "ACC_g486h/ACC_g486h-data.nii.gz" + }, + { + "label": "ACC_g341h/ACC_g341h-label.nii.gz", + "image": "ACC_g341h/ACC_g341h-data.nii.gz" + }, + { + "label": "ACC_g354h/ACC_g354h-label.nii.gz", + "image": "ACC_g354h/ACC_g354h-data.nii.gz" + }, + { + "label": "ACC_g672h/ACC_g672h-label.nii.gz", + "image": "ACC_g672h/ACC_g672h-data.nii.gz" + }, + { + "label": "ACC_g553h/ACC_g553h-label.nii.gz", + "image": "ACC_g553h/ACC_g553h-data.nii.gz" + }, + { + "label": "ACC_g656h/ACC_g656h-label.nii.gz", + "image": "ACC_g656h/ACC_g656h-data.nii.gz" + }, + { + "label": "ACC_g609h/ACC_g609h-label.nii.gz", + "image": "ACC_g609h/ACC_g609h-data.nii.gz" + }, + { + "label": "ACC_g333h/ACC_g333h-label.nii.gz", + "image": "ACC_g333h/ACC_g333h-data.nii.gz" + }, + { + "label": "ACC_g284h/ACC_g284h-label.nii.gz", + "image": "ACC_g284h/ACC_g284h-data.nii.gz" + }, + { + "label": "ACC_g738h/ACC_g738h-label.nii.gz", + "image": "ACC_g738h/ACC_g738h-data.nii.gz" + }, + { + "label": "ACC_g651h/ACC_g651h-label.nii.gz", + "image": "ACC_g651h/ACC_g651h-data.nii.gz" + }, + { + "label": "ACC_g663h/ACC_g663h-label.nii.gz", + "image": "ACC_g663h/ACC_g663h-data.nii.gz" + }, + { + "label": "acc_g066h/acc_g066h-label.nii.gz", + "image": "acc_g066h/acc_g066h-data.nii.gz" + }, + { + "label": "acc_g019/acc_g019-label.nii.gz", + "image": "acc_g019/acc_g019-data.nii.gz" + }, + { + "label": "ACC_g276h/ACC_g276h-label.nii.gz", + "image": "ACC_g276h/ACC_g276h-data.nii.gz" + }, + { + "label": "ACC_g435h/ACC_g435h-label.nii.gz", + "image": "ACC_g435h/ACC_g435h-data.nii.gz" + }, + { + "label": "ACC_g212h/ACC_g212h-label.nii.gz", + "image": "ACC_g212h/ACC_g212h-data.nii.gz" + }, + { + "label": "ACC_g157h/ACC_g157h-label.nii.gz", + "image": "ACC_g157h/ACC_g157h-data.nii.gz" + }, + { + "label": "acc_g017/acc_g017-label.nii.gz", + "image": "acc_g017/acc_g017-data.nii.gz" + }, + { + "label": "ACC_g362h/ACC_g362h-label.nii.gz", + "image": "ACC_g362h/ACC_g362h-data.nii.gz" + }, + { + "label": "ACC_g113h/ACC_g113h-label.nii.gz", + "image": "ACC_g113h/ACC_g113h-data.nii.gz" + }, + { + "label": "acc_g030/acc_g030-label.nii.gz", + "image": "acc_g030/acc_g030-data.nii.gz" + }, + { + "label": "acc_g018/acc_g018-label.nii.gz", + "image": "acc_g018/acc_g018-data.nii.gz" + }, + { + "label": "ACC_g359h/ACC_g359h-label.nii.gz", + "image": "ACC_g359h/ACC_g359h-data.nii.gz" + }, + { + "label": "acc_g056h/acc_g056h-label.nii.gz", + "image": "acc_g056h/acc_g056h-data.nii.gz" + }, + { + "label": "ACC_g692h/ACC_g692h-label.nii.gz", + "image": "ACC_g692h/ACC_g692h-data.nii.gz" + }, + { + "label": "ACC_g125h/ACC_g125h-label.nii.gz", + "image": "ACC_g125h/ACC_g125h-data.nii.gz" + }, + { + "label": "acc_g013/acc_g013-label.nii.gz", + "image": "acc_g013/acc_g013-data.nii.gz" + }, + { + "label": "ACC_g305/ACC_g305-label.nii.gz", + "image": "ACC_g305/ACC_g305-data.nii.gz" + }, + { + "label": "ACC_g569h/ACC_g569h-label.nii.gz", + "image": "ACC_g569h/ACC_g569h-data.nii.gz" + }, + { + "label": "ACC_g642h/ACC_g642h-label.nii.gz", + "image": "ACC_g642h/ACC_g642h-data.nii.gz" + }, + { + "label": "acc_g004/acc_g004-label.nii.gz", + "image": "acc_g004/acc_g004-data.nii.gz" + }, + { + "label": "ACC_g713h/ACC_g713h-label.nii.gz", + "image": "ACC_g713h/ACC_g713h-data.nii.gz" + }, + { + "label": "ACC_g358h/ACC_g358h-label.nii.gz", + "image": "ACC_g358h/ACC_g358h-data.nii.gz" + }, + { + "label": "ACC_g368h/ACC_g368h-label.nii.gz", + "image": "ACC_g368h/ACC_g368h-data.nii.gz" + }, + { + "label": "ACC_g725h/ACC_g725h-label.nii.gz", + "image": "ACC_g725h/ACC_g725h-data.nii.gz" + }, + { + "label": "ACC_g110h/ACC_g110h-label.nii.gz", + "image": "ACC_g110h/ACC_g110h-data.nii.gz" + }, + { + "label": "ACC_g533h/ACC_g533h-label.nii.gz", + "image": "ACC_g533h/ACC_g533h-data.nii.gz" + }, + { + "label": "ACC_g275h/ACC_g275h-label.nii.gz", + "image": "ACC_g275h/ACC_g275h-data.nii.gz" + }, + { + "label": "acc_g037/acc_g037-label.nii.gz", + "image": "acc_g037/acc_g037-data.nii.gz" + }, + { + "label": "ACC_g749h/ACC_g749h-label.nii.gz", + "image": "ACC_g749h/ACC_g749h-data.nii.gz" + }, + { + "label": "acc_g024/acc_g024-label.nii.gz", + "image": "acc_g024/acc_g024-data.nii.gz" + }, + { + "label": "ACC_g705h/ACC_g705h-label.nii.gz", + "image": "ACC_g705h/ACC_g705h-data.nii.gz" + }, + { + "label": "ACC_g106h/ACC_g106h-label.nii.gz", + "image": "ACC_g106h/ACC_g106h-data.nii.gz" + }, + { + "label": "ACC_g668h/ACC_g668h-label.nii.gz", + "image": "ACC_g668h/ACC_g668h-data.nii.gz" + }, + { + "label": "ACC_g481h/ACC_g481h-label.nii.gz", + "image": "ACC_g481h/ACC_g481h-data.nii.gz" + }, + { + "label": "ACC_g653h/ACC_g653h-label.nii.gz", + "image": "ACC_g653h/ACC_g653h-data.nii.gz" + } + ], + "testing": [ + { + "label": "ACC_g515h/ACC_g515h-label.nii.gz", + "image": "ACC_g515h/ACC_g515h-data.nii.gz" + }, + { + "label": "ACC_g123h/ACC_g123h-label.nii.gz", + "image": "ACC_g123h/ACC_g123h-data.nii.gz" + }, + { + "label": "ACC_g747h/ACC_g747h-label.nii.gz", + "image": "ACC_g747h/ACC_g747h-data.nii.gz" + }, + { + "label": "ACC_g131h/ACC_g131h-label.nii.gz", + "image": "ACC_g131h/ACC_g131h-data.nii.gz" + }, + { + "label": "ACC_g607h/ACC_g607h-label.nii.gz", + "image": "ACC_g607h/ACC_g607h-data.nii.gz" + }, + { + "label": "acc_g065h/acc_g065h-label.nii.gz", + "image": "acc_g065h/acc_g065h-data.nii.gz" + }, + { + "label": "ACC_g740h/ACC_g740h-label.nii.gz", + "image": "ACC_g740h/ACC_g740h-data.nii.gz" + }, + { + "label": "acc_g003/acc_g003-label.nii.gz", + "image": "acc_g003/acc_g003-data.nii.gz" + }, + { + "label": "acc_g040/acc_g040-label.nii.gz", + "image": "acc_g040/acc_g040-data.nii.gz" + }, + { + "label": "ACC_g177h/ACC_g177h-label.nii.gz", + "image": "ACC_g177h/ACC_g177h-data.nii.gz" + }, + { + "label": "ACC_g386h/ACC_g386h-label.nii.gz", + "image": "ACC_g386h/ACC_g386h-data.nii.gz" + }, + { + "label": "ACC_g145h/ACC_g145h-label.nii.gz", + "image": "ACC_g145h/ACC_g145h-data.nii.gz" + }, + { + "label": "ACC_g398h/ACC_g398h-label.nii.gz", + "image": "ACC_g398h/ACC_g398h-data.nii.gz" + }, + { + "label": "ACC_g351h/ACC_g351h-label.nii.gz", + "image": "ACC_g351h/ACC_g351h-data.nii.gz" + }, + { + "label": "ACC_g529h/ACC_g529h-label.nii.gz", + "image": "ACC_g529h/ACC_g529h-data.nii.gz" + }, + { + "label": "acc_g016/acc_g016-label.nii.gz", + "image": "acc_g016/acc_g016-data.nii.gz" + }, + { + "label": "ACC_g633h/ACC_g633h-label.nii.gz", + "image": "ACC_g633h/ACC_g633h-data.nii.gz" + }, + { + "label": "ACC_g576h/ACC_g576h-label.nii.gz", + "image": "ACC_g576h/ACC_g576h-data.nii.gz" + }, + { + "label": "ACC_g516h/ACC_g516h-label.nii.gz", + "image": "ACC_g516h/ACC_g516h-data.nii.gz" + }, + { + "label": "ACC_g523h/ACC_g523h-label.nii.gz", + "image": "ACC_g523h/ACC_g523h-data.nii.gz" + }, + { + "label": "ACC_g150h/ACC_g150h-label.nii.gz", + "image": "ACC_g150h/ACC_g150h-data.nii.gz" + }, + { + "label": "ACC_g564h/ACC_g564h-label.nii.gz", + "image": "ACC_g564h/ACC_g564h-data.nii.gz" + }, + { + "label": "ACC_g191h/ACC_g191h-label.nii.gz", + "image": "ACC_g191h/ACC_g191h-data.nii.gz" + }, + { + "label": "ACC_g080h/ACC_g080h-label.nii.gz", + "image": "ACC_g080h/ACC_g080h-data.nii.gz" + }, + { + "label": "ACC_g587h/ACC_g587h-label.nii.gz", + "image": "ACC_g587h/ACC_g587h-data.nii.gz" + }, + { + "label": "ACC_g458h/ACC_g458h-label.nii.gz", + "image": "ACC_g458h/ACC_g458h-data.nii.gz" + }, + { + "label": "ACC_g223h/ACC_g223h-label.nii.gz", + "image": "ACC_g223h/ACC_g223h-data.nii.gz" + }, + { + "label": "acc_g032/acc_g032-label.nii.gz", + "image": "acc_g032/acc_g032-data.nii.gz" + }, + { + "label": "ACC_g176h/ACC_g176h-label.nii.gz", + "image": "ACC_g176h/ACC_g176h-data.nii.gz" + }, + { + "label": "acc_g007/acc_g007-label.nii.gz", + "image": "acc_g007/acc_g007-data.nii.gz" + }, + { + "label": "ACC_g675h/ACC_g675h-label.nii.gz", + "image": "ACC_g675h/ACC_g675h-data.nii.gz" + }, + { + "label": "ACC_g669h/ACC_g669h-label.nii.gz", + "image": "ACC_g669h/ACC_g669h-data.nii.gz" + }, + { + "label": "ACC_g710h/ACC_g710h-label.nii.gz", + "image": "ACC_g710h/ACC_g710h-data.nii.gz" + }, + { + "label": "ACC_g304h/ACC_g304h-label.nii.gz", + "image": "ACC_g304h/ACC_g304h-data.nii.gz" + }, + { + "label": "ACC_g423h/ACC_g423h-label.nii.gz", + "image": "ACC_g423h/ACC_g423h-data.nii.gz" + }, + { + "label": "acc_g048h/acc_g048h-label.nii.gz", + "image": "acc_g048h/acc_g048h-data.nii.gz" + }, + { + "label": "acc_g076h/acc_g076h-label.nii.gz", + "image": "acc_g076h/acc_g076h-data.nii.gz" + }, + { + "label": "ACC_g294h/ACC_g294h-label.nii.gz", + "image": "ACC_g294h/ACC_g294h-data.nii.gz" + }, + { + "label": "ACC_g520h/ACC_g520h-label.nii.gz", + "image": "ACC_g520h/ACC_g520h-data.nii.gz" + }, + { + "label": "ACC_g372h/ACC_g372h-label.nii.gz", + "image": "ACC_g372h/ACC_g372h-data.nii.gz" + }, + { + "label": "ACC_g641h/ACC_g641h-label.nii.gz", + "image": "ACC_g641h/ACC_g641h-data.nii.gz" + }, + { + "label": "ACC_g216h/ACC_g216h-label.nii.gz", + "image": "ACC_g216h/ACC_g216h-data.nii.gz" + }, + { + "label": "ACC_g573h/ACC_g573h-label.nii.gz", + "image": "ACC_g573h/ACC_g573h-data.nii.gz" + }, + { + "label": "ACC_g396h/ACC_g396h-label.nii.gz", + "image": "ACC_g396h/ACC_g396h-data.nii.gz" + }, + { + "label": "ACC_g143h/ACC_g143h-label.nii.gz", + "image": "ACC_g143h/ACC_g143h-data.nii.gz" + }, + { + "label": "ACC_g229h/ACC_g229h-label.nii.gz", + "image": "ACC_g229h/ACC_g229h-data.nii.gz" + }, + { + "label": "ACC_g250h/ACC_g250h-label.nii.gz", + "image": "ACC_g250h/ACC_g250h-data.nii.gz" + }, + { + "label": "acc_g023/acc_g023-label.nii.gz", + "image": "acc_g023/acc_g023-data.nii.gz" + }, + { + "label": "acc_g074h/acc_g074h-label.nii.gz", + "image": "acc_g074h/acc_g074h-data.nii.gz" + }, + { + "label": "ACC_g174h/ACC_g174h-label.nii.gz", + "image": "ACC_g174h/ACC_g174h-data.nii.gz" + }, + { + "label": "ACC_g107h/ACC_g107h-label.nii.gz", + "image": "ACC_g107h/ACC_g107h-data.nii.gz" + }, + { + "label": "acc_g087h/acc_g087h-label.nii.gz", + "image": "acc_g087h/acc_g087h-data.nii.gz" + }, + { + "label": "ACC_g117h/ACC_g117h-label.nii.gz", + "image": "ACC_g117h/ACC_g117h-data.nii.gz" + }, + { + "label": "ACC_g267h/ACC_g267h-label.nii.gz", + "image": "ACC_g267h/ACC_g267h-data.nii.gz" + }, + { + "label": "ACC_g361h/ACC_g361h-label.nii.gz", + "image": "ACC_g361h/ACC_g361h-data.nii.gz" + }, + { + "label": "ACC_g683h/ACC_g683h-label.nii.gz", + "image": "ACC_g683h/ACC_g683h-data.nii.gz" + }, + { + "label": "ACC_g644h/ACC_g644h-label.nii.gz", + "image": "ACC_g644h/ACC_g644h-data.nii.gz" + }, + { + "label": "ACC_g479h/ACC_g479h-label.nii.gz", + "image": "ACC_g479h/ACC_g479h-data.nii.gz" + }, + { + "label": "ACC_g156h/ACC_g156h-label.nii.gz", + "image": "ACC_g156h/ACC_g156h-data.nii.gz" + }, + { + "label": "ACC_g467h/ACC_g467h-label.nii.gz", + "image": "ACC_g467h/ACC_g467h-data.nii.gz" + } + ] +} diff --git a/models/multi_organ_segmentation/configs/evaluate.yaml b/models/multi_organ_segmentation/configs/evaluate.yaml new file mode 100644 index 00000000..e1874923 --- /dev/null +++ b/models/multi_organ_segmentation/configs/evaluate.yaml @@ -0,0 +1,65 @@ +--- +validate#postprocessing: + _target_: Compose + transforms: + - _target_: Activationsd + keys: pred + softmax: true + - _target_: Invertd + keys: + - pred + - label + transform: "@validate#preprocessing" + orig_keys: image + meta_key_postfix: meta_dict + nearest_interp: + - false + - true + to_tensor: true + - _target_: AsDiscreted + keys: + - pred + - label + argmax: + - true + - false + to_onehot: 8 + - _target_: CopyItemsd + keys: "pred" + times: 1 + names: "pred_save" + - _target_: AsDiscreted + keys: + - pred_save + argmax: + - true + - _target_: SaveImaged + keys: pred_save + meta_keys: pred_meta_dict + output_dir: "@output_dir" + resample: false + squeeze_end_dims: true +validate#dataset: + _target_: Dataset + data: "@val_datalist" + transform: "@validate#preprocessing" +validate#handlers: +- _target_: CheckpointLoader + load_path: "$@ckpt_dir + '/model.pt'" + load_dict: + model: "@network" +- _target_: StatsHandler + iteration_log: false +- _target_: MetricsSaver + save_dir: "@output_dir" + metrics: + - val_mean_dice + - val_acc + metric_details: + - val_mean_dice + batch_transform: "$monai.handlers.from_engine(['image_meta_dict'])" + summary_ops: "*" +initialize: +- "$setattr(torch.backends.cudnn, 'benchmark', True)" +run: +- "$@validate#evaluator.run()" diff --git a/models/multi_organ_segmentation/configs/inference.yaml b/models/multi_organ_segmentation/configs/inference.yaml new file mode 100644 index 00000000..44eafd0e --- /dev/null +++ b/models/multi_organ_segmentation/configs/inference.yaml @@ -0,0 +1,117 @@ +--- +imports: +- "$import glob" +- "$import os" +input_channels: 1 +output_classes: 8 +arch_ckpt_path: "$@bundle_root + '/models/search_code_18590.pt'" +arch_ckpt: "$torch.load(@arch_ckpt_path, map_location=torch.device('cuda'))" +bundle_root: "." +output_dir: "$@bundle_root + '/eval'" +dataset_dir: "/data/" +data_list_file_path: "$@bundle_root + '/configs/dataset_0.json'" +datalist: "$monai.data.load_decathlon_datalist(@data_list_file_path, data_list_key='testing', + base_dir=@dataset_dir)" +device: "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')" +dints_space: + _target_: monai.networks.nets.TopologyInstance + channel_mul: 1 + num_blocks: 12 + num_depths: 4 + use_downsample: true + arch_code: + - "$@arch_ckpt['arch_code_a']" + - "$@arch_ckpt['arch_code_c']" + device: "$torch.device('cuda')" +network_def: + _target_: monai.networks.nets.DiNTS + dints_space: "@dints_space" + in_channels: "@input_channels" + num_classes: "@output_classes" + use_downsample: true + node_a: "$torch.from_numpy(@arch_ckpt['node_a'])" +network: "$@network_def.to(@device)" +preprocessing: + _target_: Compose + transforms: + - _target_: LoadImaged + keys: image + - _target_: EnsureChannelFirstd + keys: image + - _target_: Orientationd + keys: image + axcodes: RAS + - _target_: Spacingd + keys: image + pixdim: + - 1 + - 1 + - 1 + mode: bilinear + - _target_: ScaleIntensityRanged + keys: image + a_min: -500 + a_max: 500 + b_min: 0 + b_max: 1 + clip: true + - _target_: EnsureTyped + keys: image +dataset: + _target_: Dataset + data: "@datalist" + transform: "@preprocessing" +dataloader: + _target_: DataLoader + dataset: "@dataset" + batch_size: 1 + shuffle: false + num_workers: 4 +inferer: + _target_: SlidingWindowInferer + roi_size: + - 96 + - 96 + - 96 + sw_batch_size: 4 + overlap: 0.625 +postprocessing: + _target_: Compose + transforms: + - _target_: Activationsd + keys: pred + softmax: true + - _target_: Invertd + keys: pred + transform: "@preprocessing" + orig_keys: image + meta_key_postfix: meta_dict + nearest_interp: false + to_tensor: true + - _target_: AsDiscreted + keys: pred + argmax: true + - _target_: SaveImaged + keys: pred + meta_keys: pred_meta_dict + output_dir: "@output_dir" +handlers: +- _target_: CheckpointLoader + load_path: "$@bundle_root + '/models/model.pt'" + load_dict: + model: "@network" +- _target_: StatsHandler + iteration_log: false +evaluator: + _target_: SupervisedEvaluator + device: "@device" + val_data_loader: "@dataloader" + network: "@network" + inferer: "@inferer" + postprocessing: "@postprocessing" + val_handlers: "@handlers" + amp: true +initialize: +- "$setattr(torch.backends.cudnn, 'benchmark', True)" +run: +- "$@evaluator.run()" diff --git a/models/multi_organ_segmentation/configs/inference_trt.yaml b/models/multi_organ_segmentation/configs/inference_trt.yaml new file mode 100644 index 00000000..0944c557 --- /dev/null +++ b/models/multi_organ_segmentation/configs/inference_trt.yaml @@ -0,0 +1,8 @@ +--- +imports: +- "$import glob" +- "$import os" +- "$import torch_tensorrt" +handlers#0#_disabled_: true +network_def: "$torch.jit.load(@bundle_root + '/models/model.ts')" +evaluator#amp: false diff --git a/models/multi_organ_segmentation/configs/logging.conf b/models/multi_organ_segmentation/configs/logging.conf new file mode 100644 index 00000000..91c1a21c --- /dev/null +++ b/models/multi_organ_segmentation/configs/logging.conf @@ -0,0 +1,21 @@ +[loggers] +keys=root + +[handlers] +keys=consoleHandler + +[formatters] +keys=fullFormatter + +[logger_root] +level=INFO +handlers=consoleHandler + +[handler_consoleHandler] +class=StreamHandler +level=INFO +formatter=fullFormatter +args=(sys.stdout,) + +[formatter_fullFormatter] +format=%(asctime)s - %(name)s - %(levelname)s - %(message)s diff --git a/models/multi_organ_segmentation/configs/metadata.json b/models/multi_organ_segmentation/configs/metadata.json new file mode 100644 index 00000000..b5b547a9 --- /dev/null +++ b/models/multi_organ_segmentation/configs/metadata.json @@ -0,0 +1,93 @@ +{ + "schema": "https://github.com/Project-MONAI/MONAI-extra-test-data/releases/download/0.8.1/meta_schema_20220324.json", + "version": "0.0.3", + "changelog": { + "0.0.1": "initialize the model package structure", + "0.0.2": "Retrain with new MONAI", + "0.0.3": "Update for stable MONAI version" + }, + "monai_version": "1.2.0", + "pytorch_version": "1.13.1", + "numpy_version": "1.22.2", + "optional_packages_version": { + "fire": "0.5.0", + "nibabel": "5.1.0", + "pytorch-ignite": "0.4.11" + }, + "name": "Abdominal multi-organ segmentation", + "task": "Multi-organ segmentation in abdominal CT", + "description": "DiNTS architectures for volumetric (3D) segmentation of the abdominal from CT image", + "authors": "Chen Shen, Holger R. Roth, Kazunari Misawa, Kensaku Mori", + "copyright": "", + "data_source": "Aichi Cancer Center, Japan", + "data_type": "nibabel", + "image_classes": "single channel data, intensity scaled to [0, 1]", + "label_classes": "eight channels data, 1 is artery, 2 is portal vein, 3 is liver, 4 is spleen, 5 is stomach, 6 is gallbladder, 7 is pancreas, 0 is everything else", + "pred_classes": "8 channels OneHot data, 1 is artery, 2 is portal vein, 3 is liver, 4 is spleen, 5 is stomach, 6 is gallbladder, 7 is pancreas, 0 is background", + "eval_metrics": { + "mean_dice": 0.88 + }, + "references": [ + "He, Y., Yang, D., Roth, H., Zhao, C. and Xu, D., 2021. Dints: Differentiable neural network topology search for 3d medical image segmentation. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 5841-5850).", + "Roth, H., Shen C, Oda H., Sugino T., Oda M., Hayashi Y., Misawa K., Mori K., 2018. A multi-scale pyramid of 3D fully convolutional networks for abdominal multi-organ segmentation. International conference on medical image computing and computer-assisted intervention", + "Shen, C., Roth, H. R., Nath, V., Hayashi, Y., Oda, M., Misawa, K., Mori, K., 2022. Effective hyperparameter optimization with proxy data for multi-organ segmentation. In Medical Imaging 2022: Image Processing (Vol. 12032, pp. 200-206)" + ], + "network_data_format": { + "inputs": { + "image": { + "type": "image", + "format": "hounsfield", + "modality": "CT", + "num_channels": 1, + "spatial_shape": [ + 96, + 96, + 96 + ], + "dtype": "float32", + "value_range": [ + 0, + 1 + ], + "is_patch_data": true, + "channel_def": { + "0": "image" + } + } + }, + "outputs": { + "pred": { + "type": "image", + "format": "segmentation", + "num_channels": 8, + "spatial_shape": [ + 96, + 96, + 96 + ], + "dtype": "float32", + "value_range": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], + "is_patch_data": true, + "channel_def": { + "0": "background", + "1": "artery", + "2": "portal vein", + "3": "liver", + "4": "spleen", + "5": "stomach", + "6": "gallbladder", + "7": "pancreas" + } + } + } + } +} diff --git a/models/multi_organ_segmentation/configs/multi_gpu_train.yaml b/models/multi_organ_segmentation/configs/multi_gpu_train.yaml new file mode 100644 index 00000000..6142459e --- /dev/null +++ b/models/multi_organ_segmentation/configs/multi_gpu_train.yaml @@ -0,0 +1,54 @@ +--- +device: "$torch.device(f'cuda:{dist.get_rank()}')" +network: + _target_: torch.nn.parallel.DistributedDataParallel + module: "$@network_def.to(@device)" + find_unused_parameters: true + device_ids: + - "@device" +optimizer#lr: "$0.025*dist.get_world_size()" +lr_scheduler#step_size: "$80*dist.get_world_size()" +train#handlers: + - _target_: LrScheduleHandler + lr_scheduler: "@lr_scheduler" + print_lr: true + - _target_: ValidationHandler + validator: "@validate#evaluator" + epoch_level: true + interval: "$10*dist.get_world_size()" + - _target_: StatsHandler + tag_name: train_loss + output_transform: "$monai.handlers.from_engine(['loss'], first=True)" + - _target_: TensorBoardStatsHandler + log_dir: "@output_dir" + tag_name: train_loss + output_transform: "$monai.handlers.from_engine(['loss'], first=True)" +train#trainer#max_epochs: "$400*dist.get_world_size()" +train#trainer#train_handlers: "$@train#handlers[: -2 if dist.get_rank() > 0 else None]" +validate#evaluator#val_handlers: "$None if dist.get_rank() > 0 else @validate#handlers" +initialize: +- "$import torch.distributed as dist" +- "$dist.init_process_group(backend='nccl')" +- "$torch.cuda.set_device(@device)" +- "$monai.utils.set_determinism(seed=123)" +- "$setattr(torch.backends.cudnn, 'benchmark', True)" +run: +- "$@train#trainer.run()" +finalize: +- $dist.is_initialized() and dist.destroy_process_group() +train_data_partition: "$monai.data.partition_dataset(data=@train_datalist, num_partitions=dist.get_world_size(), + shuffle=True, even_divisible=True,)[dist.get_rank()]" +train#dataset: + _target_: CacheDataset + data: "@train_data_partition" + transform: "@train#preprocessing" + cache_rate: 0.2 + num_workers: 4 +val_data_partition: "$monai.data.partition_dataset(data=@val_datalist, num_partitions=dist.get_world_size(), + shuffle=False, even_divisible=False,)[dist.get_rank()]" +validate#dataset: + _target_: CacheDataset + data: "@val_data_partition" + transform: "@validate#preprocessing" + cache_rate: 0.2 + num_workers: 4 diff --git a/models/multi_organ_segmentation/configs/search.yaml b/models/multi_organ_segmentation/configs/search.yaml new file mode 100644 index 00000000..f3fff4d6 --- /dev/null +++ b/models/multi_organ_segmentation/configs/search.yaml @@ -0,0 +1,275 @@ +--- +imports: + - "$from scipy import ndimage" +arch_ckpt_path: models +amp: true +data_file_base_dir: /workspace/data/msd/Task07_Pancreas +data_list_file_path: configs/dataset_0.json +determ: true +input_channels: 1 +learning_rate: 0.025 +learning_rate_arch: 0.001 +learning_rate_milestones: +- 0.4 +- 0.8 +num_images_per_batch: 1 +num_epochs: 1430 +num_epochs_per_validation: 100 +num_epochs_warmup: 715 +num_patches_per_image: 1 +num_sw_batch_size: 6 +output_classes: 3 +overlap_ratio: 0.625 +patch_size: +- 96 +- 96 +- 96 +patch_size_valid: +- 96 +- 96 +- 96 +ram_cost_factor: 0.8 +image_key: image +label_key: label +transform_train: + _target_: Compose + transforms: + - _target_: LoadImaged + keys: + - "@image_key" + - "@label_key" + - _target_: EnsureChannelFirstd + keys: + - "@image_key" + - "@label_key" + - _target_: Orientationd + keys: + - "@image_key" + - "@label_key" + axcodes: RAS + - _target_: Spacingd + keys: + - "@image_key" + - "@label_key" + pixdim: + - 1 + - 1 + - 1 + mode: + - bilinear + - nearest + align_corners: + - true + - true + - _target_: CastToTyped + keys: "@image_key" + dtype: "$torch.float32" + - _target_: ScaleIntensityRanged + keys: "@image_key" + a_min: -87 + a_max: 199 + b_min: 0 + b_max: 1 + clip: true + - _target_: CastToTyped + keys: + - "@image_key" + - "@label_key" + dtype: + - "$np.float16" + - "$np.uint8" + - _target_: CopyItemsd + keys: "@label_key" + times: 1 + names: + - label4crop + - _target_: Lambdad + keys: label4crop + func: "$lambda x, s=@output_classes: np.concatenate(tuple([ndimage.binary_dilation((x==_k).astype(x.dtype), iterations=48).astype(float) for _k in range(s)]), axis=0)" + overwrite: true + - _target_: EnsureTyped + keys: + - "@image_key" + - "@label_key" + - _target_: CastToTyped + keys: "@image_key" + dtype: "$torch.float32" + - _target_: SpatialPadd + keys: + - "@image_key" + - "@label_key" + - label4crop + spatial_size: "@patch_size" + mode: + - reflect + - constant + - constant + - _target_: RandCropByLabelClassesd + keys: + - "@image_key" + - "@label_key" + label_key: label4crop + num_classes: "@output_classes" + ratios: "$[1,] * @output_classes" + spatial_size: "@patch_size" + num_samples: "@num_patches_per_image" + - _target_: Lambdad + keys: label4crop + func: "$lambda x: 0" + - _target_: RandRotated + keys: + - "@image_key" + - "@label_key" + range_x: 0.3 + range_y: 0.3 + range_z: 0.3 + mode: + - bilinear + - nearest + prob: 0.2 + - _target_: RandZoomd + keys: + - "@image_key" + - "@label_key" + min_zoom: 0.8 + max_zoom: 1.2 + mode: + - trilinear + - nearest + align_corners: + - null + - null + prob: 0.16 + - _target_: RandGaussianSmoothd + keys: "@image_key" + sigma_x: + - 0.5 + - 1.15 + sigma_y: + - 0.5 + - 1.15 + sigma_z: + - 0.5 + - 1.15 + prob: 0.15 + - _target_: RandScaleIntensityd + keys: "@image_key" + factors: 0.3 + prob: 0.5 + - _target_: RandShiftIntensityd + keys: "@image_key" + offsets: 0.1 + prob: 0.5 + - _target_: RandGaussianNoised + keys: "@image_key" + std: 0.01 + prob: 0.15 + - _target_: RandFlipd + keys: + - "@image_key" + - "@label_key" + spatial_axis: 0 + prob: 0.5 + - _target_: RandFlipd + keys: + - "@image_key" + - "@label_key" + spatial_axis: 1 + prob: 0.5 + - _target_: RandFlipd + keys: + - "@image_key" + - "@label_key" + spatial_axis: 2 + prob: 0.5 + - _target_: CastToTyped + keys: + - "@image_key" + - "@label_key" + dtype: + - "$torch.float32" + - "$torch.uint8" + - _target_: ToTensord + keys: + - "@image_key" + - "@label_key" +transform_validation: + _target_: Compose + transforms: + - _target_: LoadImaged + keys: + - "@image_key" + - "@label_key" + - _target_: EnsureChannelFirstd + keys: + - "@image_key" + - "@label_key" + - _target_: Orientationd + keys: + - "@image_key" + - "@label_key" + axcodes: RAS + - _target_: Spacingd + keys: + - "@image_key" + - "@label_key" + pixdim: + - 1 + - 1 + - 1 + mode: + - bilinear + - nearest + align_corners: + - true + - true + - _target_: CastToTyped + keys: "@image_key" + dtype: "$torch.float32" + - _target_: ScaleIntensityRanged + keys: "@image_key" + a_min: -87 + a_max: 199 + b_min: 0 + b_max: 1 + clip: true + - _target_: CastToTyped + keys: + - "@image_key" + - "@label_key" + dtype: + - "$np.float16" + - "$np.uint8" + - _target_: CastToTyped + keys: + - "@image_key" + - "@label_key" + dtype: + - "$torch.float32" + - "$torch.uint8" + - _target_: ToTensord + keys: + - "@image_key" + - "@label_key" +loss: + _target_: DiceCELoss + include_background: false + to_onehot_y: true + softmax: true + squared_pred: true + batch: true + smooth_nr: 0.00001 + smooth_dr: 0.00001 +dints_space: + _target_: monai.networks.nets.TopologySearch + channel_mul: 0.5 + num_blocks: 12 + num_depths: 4 + use_downsample: true + device: "$torch.device('cuda')" +network: + _target_: monai.networks.nets.DiNTS + dints_space: "@dints_space" + in_channels: "@input_channels" + num_classes: "@output_classes" + use_downsample: true diff --git a/models/multi_organ_segmentation/configs/train.yaml b/models/multi_organ_segmentation/configs/train.yaml new file mode 100644 index 00000000..ac0e050e --- /dev/null +++ b/models/multi_organ_segmentation/configs/train.yaml @@ -0,0 +1,355 @@ +--- +imports: +- "$import glob" +- "$import json" +- "$import os" +- "$import ignite" +- "$from scipy import ndimage" +input_channels: 1 +output_classes: 8 +arch_ckpt_path: "$@bundle_root + '/models/search_code_18590.pt'" +arch_ckpt: "$torch.load(@arch_ckpt_path, map_location=torch.device('cuda'))" +bundle_root: "." +ckpt_dir: "$@bundle_root + '/models'" +output_dir: "$@bundle_root + '/eval'" +dataset_dir: "/data/" +data_list_file_path: "$@bundle_root + '/configs/dataset_0.json'" +train_datalist: "$monai.data.load_decathlon_datalist(@data_list_file_path, data_list_key='training', + base_dir=@dataset_dir)" +val_datalist: "$monai.data.load_decathlon_datalist(@data_list_file_path, data_list_key='validation', + base_dir=@dataset_dir)" +device: "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')" +dints_space: + _target_: monai.networks.nets.TopologyInstance + channel_mul: 1 + num_blocks: 12 + num_depths: 4 + use_downsample: true + arch_code: + - "$@arch_ckpt['arch_code_a']" + - "$@arch_ckpt['arch_code_c']" + device: "$torch.device('cuda')" +network_def: + _target_: monai.networks.nets.DiNTS + dints_space: "@dints_space" + in_channels: "@input_channels" + num_classes: "@output_classes" + use_downsample: true + node_a: "$@arch_ckpt['node_a']" +network: "$@network_def.to(@device)" +loss: + _target_: DiceCELoss + include_background: false + to_onehot_y: true + softmax: true + squared_pred: true + batch: true + smooth_nr: 1.0e-05 + smooth_dr: 1.0e-05 +optimizer: + _target_: torch.optim.SGD + params: "$@network.parameters()" + momentum: 0.9 + weight_decay: 4.0e-05 + lr: 0.025 +lr_scheduler: + _target_: torch.optim.lr_scheduler.StepLR + optimizer: "@optimizer" + step_size: 80 + gamma: 0.5 +image_key: image +label_key: label +val_interval: 10 +train: + deterministic_transforms: + - _target_: LoadImaged + keys: + - "@image_key" + - "@label_key" + - _target_: EnsureChannelFirstd + keys: + - "@image_key" + - "@label_key" + - _target_: Orientationd + keys: + - "@image_key" + - "@label_key" + axcodes: RAS + - _target_: Spacingd + keys: + - "@image_key" + - "@label_key" + pixdim: + - 1 + - 1 + - 1 + mode: + - bilinear + - nearest + align_corners: + - true + - true + - _target_: CastToTyped + keys: "@image_key" + dtype: "$torch.float32" + - _target_: ScaleIntensityRanged + keys: "@image_key" + a_min: -500 + a_max: 500 + b_min: 0 + b_max: 1 + clip: true + - _target_: CastToTyped + keys: + - "@image_key" + - "@label_key" + dtype: + - "$np.float16" + - "$np.uint8" + - _target_: CopyItemsd + keys: "@label_key" + times: 1 + names: + - label4crop + - _target_: Lambdad + keys: label4crop + func: "$lambda x, s=@output_classes: np.concatenate(tuple([ndimage.binary_dilation((x==_k).astype(x.dtype), + iterations=48).astype(float) for _k in range(s)]), axis=0)" + overwrite: true + - _target_: EnsureTyped + keys: + - "@image_key" + - "@label_key" + - _target_: CastToTyped + keys: "@image_key" + dtype: "$torch.float32" + - _target_: SpatialPadd + keys: + - "@image_key" + - "@label_key" + - label4crop + spatial_size: + - 96 + - 96 + - 96 + mode: + - reflect + - constant + - constant + random_transforms: + - _target_: RandCropByLabelClassesd + keys: + - "@image_key" + - "@label_key" + label_key: label4crop + num_classes: "@output_classes" + ratios: "$[1,] * @output_classes" + spatial_size: + - 96 + - 96 + - 96 + num_samples: 1 + - _target_: Lambdad + keys: label4crop + func: "$lambda x: 0" + - _target_: RandRotated + keys: + - "@image_key" + - "@label_key" + range_x: 0.3 + range_y: 0.3 + range_z: 0.3 + mode: + - bilinear + - nearest + prob: 0.2 + - _target_: RandZoomd + keys: + - "@image_key" + - "@label_key" + min_zoom: 0.8 + max_zoom: 1.2 + mode: + - trilinear + - nearest + align_corners: + - true + - + prob: 0.16 + - _target_: RandGaussianSmoothd + keys: "@image_key" + sigma_x: + - 0.5 + - 1.15 + sigma_y: + - 0.5 + - 1.15 + sigma_z: + - 0.5 + - 1.15 + prob: 0.15 + - _target_: RandScaleIntensityd + keys: "@image_key" + factors: 0.3 + prob: 0.5 + - _target_: RandShiftIntensityd + keys: "@image_key" + offsets: 0.1 + prob: 0.5 + - _target_: RandGaussianNoised + keys: "@image_key" + std: 0.01 + prob: 0.15 + - _target_: RandFlipd + keys: + - "@image_key" + - "@label_key" + spatial_axis: 0 + prob: 0.5 + - _target_: RandFlipd + keys: + - "@image_key" + - "@label_key" + spatial_axis: 1 + prob: 0.5 + - _target_: RandFlipd + keys: + - "@image_key" + - "@label_key" + spatial_axis: 2 + prob: 0.5 + - _target_: CastToTyped + keys: + - "@image_key" + - "@label_key" + dtype: + - "$torch.float32" + - "$torch.uint8" + - _target_: ToTensord + keys: + - "@image_key" + - "@label_key" + preprocessing: + _target_: Compose + transforms: "$@train#deterministic_transforms + @train#random_transforms" + dataset: + _target_: CacheDataset + data: "@train_datalist" + transform: "@train#preprocessing" + cache_rate: 0.125 + num_workers: 4 + dataloader: + _target_: DataLoader + dataset: "@train#dataset" + batch_size: 2 + shuffle: true + num_workers: 4 + inferer: + _target_: SimpleInferer + postprocessing: + _target_: Compose + transforms: + - _target_: Activationsd + keys: pred + softmax: true + - _target_: AsDiscreted + keys: + - pred + - label + argmax: + - true + - false + to_onehot: "@output_classes" + handlers: + - _target_: LrScheduleHandler + lr_scheduler: "@lr_scheduler" + print_lr: true + - _target_: ValidationHandler + validator: "@validate#evaluator" + epoch_level: true + interval: "@val_interval" + - _target_: StatsHandler + tag_name: train_loss + output_transform: "$monai.handlers.from_engine(['loss'], first=True)" + - _target_: TensorBoardStatsHandler + log_dir: "@output_dir" + tag_name: train_loss + output_transform: "$monai.handlers.from_engine(['loss'], first=True)" + key_metric: + train_accuracy: + _target_: ignite.metrics.Accuracy + output_transform: "$monai.handlers.from_engine(['pred', 'label'])" + trainer: + _target_: SupervisedTrainer + max_epochs: 400 + device: "@device" + train_data_loader: "@train#dataloader" + network: "@network" + loss_function: "@loss" + optimizer: "@optimizer" + inferer: "@train#inferer" + postprocessing: "@train#postprocessing" + key_train_metric: "@train#key_metric" + train_handlers: "@train#handlers" + amp: true +validate: + preprocessing: + _target_: Compose + transforms: "%train#deterministic_transforms" + dataset: + _target_: CacheDataset + data: "@val_datalist" + transform: "@validate#preprocessing" + cache_rate: 0.125 + dataloader: + _target_: DataLoader + dataset: "@validate#dataset" + batch_size: 1 + shuffle: false + num_workers: 4 + inferer: + _target_: SlidingWindowInferer + roi_size: + - 96 + - 96 + - 96 + sw_batch_size: 6 + overlap: 0.625 + postprocessing: "%train#postprocessing" + handlers: + - _target_: StatsHandler + iteration_log: false + - _target_: TensorBoardStatsHandler + log_dir: "@output_dir" + iteration_log: false + - _target_: CheckpointSaver + save_dir: "@ckpt_dir" + save_dict: + model: "@network" + save_key_metric: true + key_metric_filename: model.pt + key_metric: + val_mean_dice: + _target_: MeanDice + include_background: false + output_transform: "$monai.handlers.from_engine(['pred', 'label'])" + additional_metrics: + val_accuracy: + _target_: ignite.metrics.Accuracy + output_transform: "$monai.handlers.from_engine(['pred', 'label'])" + evaluator: + _target_: SupervisedEvaluator + device: "@device" + val_data_loader: "@validate#dataloader" + network: "@network" + inferer: "@validate#inferer" + postprocessing: "@validate#postprocessing" + key_val_metric: "@validate#key_metric" + additional_metrics: "@validate#additional_metrics" + val_handlers: "@validate#handlers" + amp: true +initialize: +- "$monai.utils.set_determinism(seed=123)" +- "$setattr(torch.backends.cudnn, 'benchmark', True)" +run: +- "$@train#trainer.run()" diff --git a/models/multi_organ_segmentation/docs/README.md b/models/multi_organ_segmentation/docs/README.md new file mode 100644 index 00000000..3b26bbfa --- /dev/null +++ b/models/multi_organ_segmentation/docs/README.md @@ -0,0 +1,125 @@ +# Multi-organ segmentation in abdominal CT + +### **Authors** + +Chen Shen1, Holger R. Roth2, Kazunari Misawa3, Kensaku Mori1 + +1. Nagoya University, Japan + +2. NVIDIA Corporation, USA + +3. Aichi Cancer Center, Japan + +### **Tags** + +Segmentation, Multi-organ, Abdominal + +## **Model Description** + +This model uses the DiNTS model architecture searched on [Medical Segmentation Decathlon](http://medicaldecathlon.com/) Pancreas [1] and re-trained for multi-organ segmentation from abdominal CT images [2,3]. + +## **Data** + +This model was trained on an abdominal CT dataset in portal venous phase collected from Aichi Cancer Center in Japan. Since this is a private dataset, similar models can be trained using other public multi-organ datasets like [BTCV](https://www.synapse.org/#!Synapse:syn3193805/wiki/89480). + +For this bundle, we split the 420 cases into training, validation and testing with 300, 60 and 60 cases, respectively. + +## **Output** +8 channels + +- 0: Background +- 1: Artery +- 2: Portal vein +- 3: Liver +- 4: Spleen +- 5: Stomach +- 6: Gallbladder +- 7: Pancreas + +Here is an example of output. + +![alt用テキスト](output_example.png) + +## **Scores** + +This model achieves the following Dice score on the validation data (our own split from the whole dataset): + +Mean Dice = 88.6% + +## MONAI Bundle Commands +In addition to the Pythonic APIs, a few command line interfaces (CLI) are provided to interact with the bundle. The CLI supports flexible use cases, such as overriding configs at runtime and predefining arguments in a file. + +For more details usage instructions, visit the [MONAI Bundle Configuration Page](https://docs.monai.io/en/latest/config_syntax.html). + +#### Execute model searching: + +``` +python -m scripts.search run --config_file configs/search.yaml +``` + +#### Execute multi-GPU model searching (recommended): + +``` +torchrun --nnodes=1 --nproc_per_node=8 -m scripts.search run --config_file configs/search.yaml +``` + +#### Execute training: + +``` +python -m monai.bundle run --config_file configs/train.yaml +``` + +Please note that if the default dataset path is not modified with the actual path in the bundle config files, you can also override it by using `--dataset_dir`: + +``` +python -m monai.bundle run --config_file configs/train.yaml +``` + +#### Override the `train` config to execute multi-GPU training: + +``` +torchrun --nnodes=1 --nproc_per_node=8 \ + -m scripts.search run \ + --config_file configs/search.yaml +``` + +#### Override the `train` config to execute evaluation with the trained model: + +``` +python -m monai.bundle run \ + --config_file "['configs/train.yaml','configs/evaluate.yaml']" +``` + +#### Execute inference: +``` +python -m monai.bundle run --config_file configs/inference.yaml +``` + + +#### Export checkpoint for TorchScript: + +``` +python -m monai.bundle ckpt_export network_def --filepath models/model.ts --ckpt_file models/model.pt --meta_file configs/metadata.json --config_file configs/inference.yaml +``` + +#### Execute inference with the TensorRT model: + +``` +python -m monai.bundle run --config_file "['configs/inference.yaml', 'configs/inference_trt.yaml']" +``` + + +## **References** + +[1] He, Y., Yang, D., Roth, H., Zhao, C. and Xu, D., 2021. Dints: Differentiable neural network topology search for 3d medical image segmentation. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 5841-5850). + +​ +[2] Roth, Holger R., et al. "A multi-scale pyramid of 3D fully convolutional networks for abdominal multi-organ segmentation." International conference on medical image computing and computer-assisted intervention. Springer, Cham, 2018. +​ + +[3] Shen, Chen, et al. "Effective hyperparameter optimization with proxy data for multi-organ segmentation." Medical Imaging 2022: Image Processing. Vol. 12032. SPIE, 2022. + + + +## **License** +The Licensee is not allowed to distribute or make the model to any third party, either for free or for a fee. Reverse engineering of the model is not allowed. This includes, but is not limited to, providing the model as part of a commercial offering, sharing the model on a public or private network, or making the model available for download on the Internet. diff --git a/models/multi_organ_segmentation/docs/output_example.png b/models/multi_organ_segmentation/docs/output_example.png new file mode 100644 index 00000000..a7d6bf5c Binary files /dev/null and b/models/multi_organ_segmentation/docs/output_example.png differ diff --git a/models/multi_organ_segmentation/large_files.yml b/models/multi_organ_segmentation/large_files.yml new file mode 100644 index 00000000..4cc0fbb5 --- /dev/null +++ b/models/multi_organ_segmentation/large_files.yml @@ -0,0 +1,13 @@ +large_files: + - path: "models/search_code_18590.pt" + url: "https://drive.google.com/uc?export=download&id=1G2YZo1HKkvf5sMvaaRQeZp_YA9GDlvL-" + hash_val: "55dc7fe4bee4a93d25a1dd329dfdd159" + hash_type: "md5" + - path: "models/model.pt" + url: "https://drive.google.com/uc?export=download&id=1kH0yTyiXUNqdYXpnSXI2p5-vFwDYoCzl" + hash_val: "e21d663b33d29a8ca4e28d60a14a3d66" + hash_type: "md5" + - path: "models/model.ts" + url: "https://drive.google.com/uc?export=download&id=1qwV99IfYvLzpjsHgfrlciqDp8yQ5uLXs" + hash_val: "7c08cb505b719914015d9fae746bea7c" + hash_type: "md5"