2次元のスライスのDICOM画像をvoxel形式で読み込んで3次元的に処理したいです。voxel形式で読み込んで表示するコードを書いたのですが以下のようなエラーが出てしまいます。読み込み方法を教えていただきたいです。put.imshowで3次元的に表示することはできないのでしょうか。
エラーメッセージ
UnboundLocalError: local variable 'voxel_data' referenced before assignment
python
1import numpy as np 2import matplotlib.pyplot as plt 3import os,glob 4import pydicom 5 6def get_dcm_path(dir): 7 path = glob.glob((os.path.join(dir, '*.dcm'))) 8 return path 9 10def get_MR_img(path): 11 for i in path: 12 img = pydicom.read_file(path, force=True) 13 MRI_img = [] 14 MRI_img.append(np.array(img)) 15 voxel_data = np.stack(MRI_img, axis=-1) 16 return voxel_data 17 18if __name__ == '__main__': 19 dir ='/Users/*****/DeskTop/***/01/' 20 path = get_dcm_path(dir) 21 MRI_voxel = get_MR_img(path) 22 plt.imshow(MRI_voxel) 23 plt.show()
あなたの回答
tips
プレビュー