Skip to content

Commit 9ed4d10

Browse files
committed
abdomenatlas
1 parent 1e2aa0a commit 9ed4d10

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
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

Comments
 (0)