ADNI Series
1、【ADNI】数据预处理(1)SPM,CAT12
2、【ADNI】数据预处理(2)获取 subject slices
3、【ADNI】数据预处理(3)CNNs
4、【ADNI】数据预处理(4)Get top k slices according to CNNs
5、【ADNI】数据预处理(5)Get top k slices (pMCI_sMCI) according to CNNs
6、【ADNI】数据预处理(6)ADNI_slice_dataloader ||| show image
Idea:
已有数据:AD_NC_ALL_SLICE
AD_NC_ALL_SLICE:分别对ADNI下载而来的nii数据(121x145x121)沿x,y,z轴方向进行切片,得到121+145+121=387张切片图,分别以AD/NC(199/230)为类别存储在如下目录:
基于上述数据形式,进一步处理:
1)目的:分别对每个切片位置组成的数据进行分类,筛选出具有区分能力的切片位置;
2)方法:将每个位置的切片图单独存储在一个目录下,总共得到387个目录,每个目录下有429张(AD=199张,NC=230张)切片数据;按照8:2的比例划分 train set 和 validation set;然后分别使用AlexNet进行训练,记录 best_val_acc作为评判依据;
处理后的数据形式如下所示:
以 slice_X10 为例:
1)该目录下有2个子目录,分别为 train 和 validation;
2)train 和 validation 目录下也分别有2个子目录对应2个类别:AD 和 NC;
3)样本比例:train(AD:NC=159:184);validation(AD:NC=40:46)
源代码:
step1:注意该脚本所在的目录
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
import re
import time
import datetime
i