我正在从CT上绘制一个DICOM切片,我想要绘制一个感兴趣区域(ROI)。问题是我没有成功在我的背景DICOM图像上显示此ROI。我的想法是最终在我的背景DICOM图像上绘制一个彩色圆圈。 这是代码:
import numpy as np
import matplotlib.pyplot as plt
ArrayDicom = np.ones((512, 512, 148))
plt.figure(figsize=(3, 3), dpi=300)
plt.axes().set_aspect('equal', 'datalim')
plt.axis('off')
plt.set_cmap(plt.gray())
x = np.arange(0, 512, 1)
y = np.arange(0, 512, 1)
plt.pcolormesh(x, y, np.flipud(ArrayDicom[:, :, 0])) # ArrayDicom = Image 3D Array
nx, ny, nz = (512, 512, 148)
# Grid creation
x, y = np.ogrid[:nx, :ny]
# Mask creation
radius = 5
x_center, y_center = (2, 2)
contour = (x - x_center) ** 2 + (y - y_center) ** 2 == radius ** 2
mask_contour = np.zeros((nx, ny, nz))
mask_contour[:, :, 0][contour] = 1
ax = plt.gca()
ax.plot(mask_contour[:, :, 0], color='red')
plt.show()
我使用本教程https://pyscience.wordpress.com/2014/09/08/dicom-in-python-importing-medical-image-data-into-numpy-with-pydicom-and-vtk/来显示我的DICOM图像。
我想我只是想念一种绘制数据的方法。我知道我可以使用plt.Circle
但是我想处理球体而不是下一个圆圈。
感谢您的帮助。