다루는 영상이 3D 이다보니 세 평면에서 모델을 만들 일이 생겼다..
if self.plane == 'axial':
data = nib.load(path).dataobj[:, i:i+self.slice_thickness, :]
data = np.transpose(data, (1, 2, 0))
if self.plane == 'sagittal':
data = nib.load(path).dataobj[i:i+self.slice_thickness, :, :]
data = np.transpose(data, (0, 2, 1))
if self.plane == 'coronal':
data = nib.load(path).dataobj[:, :, i:i+self.slice_thickness]
data = np.transpose(data, (2, 0, 1))
그래서 코드를 이렇게 짰더니, 평면에 따라 로딩하는 속도가 달라졌다.
아ㅅㅂ왜이러지?
일단
data = nib.load(path).get_data()[i:i+self.slice_thickness]
으로 바꿨더니 sagittal은 90it/s까지 올리는데 성공했다. 이만하면 됐지뭐..