|
a |
|
b/src/reorganize.py |
|
|
1 |
import os |
|
|
2 |
import glob |
|
|
3 |
import shutil |
|
|
4 |
from tqdm import * |
|
|
5 |
from subprocess import check_call |
|
|
6 |
|
|
|
7 |
|
|
|
8 |
def create_dir(path): |
|
|
9 |
if not os.path.isdir(path): |
|
|
10 |
os.makedirs(path) |
|
|
11 |
return |
|
|
12 |
|
|
|
13 |
|
|
|
14 |
src_dir_list = ["ADNI1_Screening_AD", "ADNI1_Screening_NC", |
|
|
15 |
"ADNI2_Screening_AD", "ADNI2_Screening_NC"] |
|
|
16 |
dst_dir_list = ["AD", "NC", "AD", "NC"] |
|
|
17 |
|
|
|
18 |
parent_dir = os.path.dirname(os.getcwd()) |
|
|
19 |
data_dir = os.path.join(parent_dir, "data") |
|
|
20 |
|
|
|
21 |
for in_dir, out_dir in zip(src_dir_list, dst_dir_list): |
|
|
22 |
data_src_dir = os.path.join(data_dir, in_dir) |
|
|
23 |
data_dst_dir = os.path.join(data_dir, "ADNI", out_dir) |
|
|
24 |
create_dir(data_dst_dir) |
|
|
25 |
|
|
|
26 |
print("Move files\nfrom: {0}\nto {1}".format(data_src_dir, data_dst_dir)) |
|
|
27 |
|
|
|
28 |
subjects = os.listdir(data_src_dir) |
|
|
29 |
for subject in tqdm(subjects): |
|
|
30 |
subj_dir = os.path.join(data_src_dir, subject) |
|
|
31 |
src_path = glob.glob(os.path.join(subj_dir, "*", "*", "*", "*"))[0] |
|
|
32 |
dst_path = os.path.join(data_dst_dir, subject + ".nii") |
|
|
33 |
shutil.copyfile(src_path, dst_path) |
|
|
34 |
check_call(["gzip", dst_path, "-f"]) |