[英]Contour data rotation in python in dicom image
I have a huge data text file. 我有一个巨大的数据文本文件。 I plot these data on a CT image which results can be seen on the below image.
我将这些数据绘制在CT图像上,结果可以在下图看到。 But how could I rotate my dose data axis to be same with my CT image ?
但是,如何旋转剂量数据轴使其与CT图像相同?
My code so far: 到目前为止,我的代码:
%matplotlib notebook
import numpy as np
import dicom
import matplotlib.pyplot as plt
from itertools import islice
import matplotlib.colors as colors
import matplotlib.cm as cm
data = dicom.read_file("NEW.dcm")
plt.set_cmap("gray")
pixel_array = data.pixel_array
plt.pcolormesh(pixel_array)
plt.gca().set_aspect("equal")
plt.show()
CS=plt.contour(xi,yi,zi,cmap=plt.cm.jet)
import numpy as np
import matplotlib.pyplot as plt
a = np.loadtxt('New.txt')
i = a[:,1]
j = a[:,2]
energies = a[:,3]
xi = np.linspace(i.min(), i.max())
yi = np.linspace(j.min(), j.max())
zi = scipy.interpolate.griddata((i, j), energies, (xi[None,:], yi[:,None]), method='cubic')
fig = plt.figure()
CS=plt.contour(xi, yi, zi,colors='k', norm=plt.Normalize(vmax=abs(zi).max(), vmin=-abs(zi).max()))
CS = plt.contourf(xi,yi,zi,15,cmap=plt.cm.jet)
Data extract 数据提取
30 1 2 0.00951305
30 1 3 0.0110269
30 1 4 0.0141366
30 1 5 0.00468656
30 1 6 0.0144487
30 1 7 0.0253241
30 1 8 0.0239877
30 1 9 0.0175475
30 1 10 0.0134009
…
(Full code and data available here ) ( 此处提供完整代码和数据)
Thanks you. 谢谢。
If you transpose z
grid, you will have the contours rotated. 如果转置
z
网格,则将旋转轮廓。 In last two lines change z
to zT
: 在最后两行中,将
z
更改为zT
:
CS=plt.contour(xi, yi, zi.T,colors='k', norm=plt.Normalize(vmax=abs(zi).max(), vmin=-abs(zi).max()))
CS = plt.contourf(xi, yi, zi.T,15,cmap=plt.cm.jet)
Remember that in images X
axis is horizontal and Y
is vertical, but for matrices 1st dimension ( X
) is vertical and 2nd ( Y
) is horizontal. 请记住,在图像中
X
轴是水平的, Y
是垂直的,但是对于矩阵,第一维( X
)是垂直的,第二维( Y
)是水平的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.