mo初始化python失败_重新初始化python matplotlib模块重置按钮

用python2.7.3运行以下代码非常好import numpy as np

class VolumeViewer(object):

def __init__(self, raw_dicom_stack, nframes, ds):

self.raw_dicom_stack = raw_dicom_stack

self.nframes = nframes

self.summed_image = np.zeros((self.raw_dicom_stack[0].shape[0],self.raw_dicom_stack[0].shape[1]))

self.frame = 0

self.frames_delete = 0

self.ds = ds

self.reset_stack = raw_dicom_stack

# Plot the first slice of the image

self.fig, self.ax = plt.subplots()

self.im = self.ax.imshow(np.array(raw_dicom_stack[0]), cmap = cm.gray)

def update(self, value):

self.frame = int(self.nframes * value)

# Update the image data

dat = np.array(self.raw_dicom_stack[self.frame])

self.im.set_data(dat)

self.im.set_clim([dat.min(), dat.max()])

# Redraw the plot

self.fig.canvas.draw()

def add(self,event):

if self.query_add == True:

print "Image series has already summed"

else:

for x in range(self.nframes):

self.summed_image += self.raw_dicom_stack[x]

del self.raw_dicom_stack[:]

self.raw_dicom_stack.append(self.summed_image[:,:])

self.nframes = len(self.raw_dicom_stack)

# Update the image data

dat = np.array(self.raw_dicom_stack[0])

self.im.set_data(dat)

self.slider.reset()

self.im.set_clim([dat.min(), dat.max()])

# Redraw the plot

self.fig.canvas.draw()

self.query_add = True

#rezero summed_image

#summed_image = np.zeros((self.summed_image.shape[0],self.summed_image.shape[1]))

def show(self):

plt.show()

def reset(self, event):

#self.summed_image = np.zeros((self.raw_dicom_stack[0].shape[0],self.raw_dicom_stack[0].shape[1]))

#self.query_register = False

#self.query_add = False

self.__init__(self.reset_stack, self.nframes, self.ds)

def quit(self,event):

quit()

if __name__ == '__main__':

viewer = VolumeViewer(np.zeros((2,10,10)), 4, None)

viewer.reset()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值