问题描述
我想使用 python 在 DICOM 文件上应用最大强度投影和最小强度投影?我使用了来自 GitHub 的以下代码,但在为此函数提供图像时遇到了问题
def createMIP(np_img,slices_num = 15):
''' create the mip image from original image,slice_num is the number of
slices for maximum intensity projection'''
img_shape = np_img.shape
np_mip = np.zeros(img_shape)
for i in range(img_shape[0]):
start = max(0,i-slices_num)
np_mip[i,:,:] = np.amax(np_img[start:i+1],0)
return np_mip
import os
import numpy as np
from pydicom import dcmread
from pydicom.data import get_testdata_file
from PIL import Image
directory= "/home/"
f=os.listdir(directory)
size= len([name for name in os.listdir(directory) if os.path.isfile(os.path.join(directory,name))])
for root,dirs,files in os.walk(directory):
for file in files:
if file.endswith(".dcm"):
path=os.path.join(directory,file)
ds = pydicom.dcmread(path)
img=ds.pixel_array
A= createMIP(img)
它给出了以下错误
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-305-fc1fa862cfa8> in <module>
13 ds = pydicom.dcmread(path)
14 img=ds.pixel_array
---> 15 A= createMIP(img)
<ipython-input-294-dab2f30d1fa1> in createMIP(np_img,slices_num)
6 for i in range(img_shape[0]):
7 start = max(0,i-slices_num)
----> 8 np_mip[i,0)
9 return np_mip
IndexError: too many indices for array
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)