1
+ from batchgenerators .utilities .file_and_folder_operations import *
2
+ import shutil
3
+ from nnunetv2 .dataset_conversion .generate_dataset_json import generate_dataset_json
4
+ from nnunetv2 .paths import nnUNet_raw
5
+
6
+ if __name__ == '__main__' :
7
+ """
8
+ Download the dataset from huggingface:
9
+ https://huggingface.co/datasets/AbdomenAtlas/_AbdomenAtlas1.1Mini#3--download-the-dataset
10
+
11
+ IMPORTANT
12
+ cases 5196-9262 currently do not have images, just the segmentation. This seems to be a mistake
13
+ """
14
+ base = '/home/isensee/Downloads/AbdomenAtlas/uncompressed'
15
+ target_dataset_id = 23
16
+ target_dataset_name = f'Dataset{ target_dataset_id :03.0f} _AbdomenAtlas1.1Mini'
17
+
18
+ cases = subdirs (base , join = False , prefix = 'BDMAP' )
19
+
20
+ maybe_mkdir_p (join (nnUNet_raw , target_dataset_name ))
21
+ imagesTr = join (nnUNet_raw , target_dataset_name , 'imagesTr' )
22
+ labelsTr = join (nnUNet_raw , target_dataset_name , 'labelsTr' )
23
+ maybe_mkdir_p (imagesTr )
24
+ maybe_mkdir_p (labelsTr )
25
+
26
+ for case in cases :
27
+ if not isfile (join (base , case , 'ct.nii.gz' )):
28
+ print (f'Skipping case { case } due to missing image' )
29
+ continue
30
+ shutil .copy (join (base , case , 'ct.nii.gz' ), join (imagesTr , case + '_0000.nii.gz' ))
31
+ shutil .copy (join (base , case , 'combined_labels.nii.gz' ), join (labelsTr , case + '.nii.gz' ))
32
+
33
+ class_map = {1 : 'aorta' , 2 : 'gall_bladder' , 3 : 'kidney_left' , 4 : 'kidney_right' , 5 : 'liver' ,
34
+ 6 : 'pancreas' , 7 : 'postcava' , 8 : 'spleen' , 9 : 'stomach' , 10 : 'adrenal_gland_left' ,
35
+ 11 : 'adrenal_gland_right' , 12 : 'bladder' , 13 : 'celiac_trunk' , 14 : 'colon' , 15 : 'duodenum' ,
36
+ 16 : 'esophagus' , 17 : 'femur_left' , 18 : 'femur_right' , 19 : 'hepatic_vessel' , 20 : 'intestine' ,
37
+ 21 : 'lung_left' , 22 : 'lung_right' , 23 : 'portal_vein_and_splenic_vein' ,
38
+ 24 : 'prostate' , 25 : 'rectum' }
39
+ labels = {
40
+ j : i for i , j in class_map .items ()
41
+ }
42
+ labels ['background' ] = 0
43
+
44
+ generate_dataset_json (
45
+ join (nnUNet_raw , target_dataset_name ),
46
+ {0 : 'CT' },
47
+ labels ,
48
+ len (cases ),
49
+ '.nii.gz' ,
50
+ None ,
51
+ target_dataset_name ,
52
+ overwrite_image_reader_writer = 'NibabelIOWithReorient' ,
53
+ reference = 'https://huggingface.co/datasets/AbdomenAtlas/_AbdomenAtlas1.1Mini' ,
54
+ license = 'Creative Commons Attribution Non Commercial Share Alike 4.0; see reference'
55
+ )
0 commit comments