Я использовал pydicom для считывания двухцветных изображений MRI и считывания структуры RT для рисования контура.
Однако значение MRI для ориентации изображения пациента отличается от значения [1,0,0,0,1,0]
.
Он имеет вид [ 0.99797922, -0.04370818, 0.04612026, 0.05005777, 0.98787289, -0.14697404]
.
Итак, я вращаю контур, используя следующую функцию.
def x_rotmat(theta):
cos_t = np.cos(theta)
sin_t = np.sin(theta)
return np.array([[1, 0, 0],
[0, cos_t, -sin_t],
[0, sin_t, cos_t]])
def y_rotmat(theta):
cos_t = np.cos(theta)
sin_t = np.sin(theta)
return np.array([[cos_t, 0, sin_t],
[0, 1, 0],
[-sin_t, 0, cos_t]])
def z_rotmat(theta):
cos_t = np.cos(theta)
sin_t = np.sin(theta)
return np.array([[cos_t, -sin_t, 0],
[sin_t, cos_t, 0],
[0, 0, 1]])
X = x_rotmat(np.arccos(0.99797922))
Y = y_rotmat(np.arccos(0.98787289))
K =scipy.ndimage.affine_transform(label, X,order=0)
K =scipy.ndimage.affine_transform(K, Y,order=0)
Когда я вращаю контур (метка) например, есть некоторые вещи, которые хорошо вписываются в изображение, в то время как другие слегка смещены.
Можете ли вы помочь мне с этой проблемой?
Заранее спасибо.