问题描述
我正在使用 SimpleITK 对 3d 扫描进行多次转换。转换完成后,我会得到白点(见下图)。希望有人可以帮助解释原因,也许可以帮助我摆脱这些文物。如果您需要更多信息,请告诉我。
def resample(image,transform):
"""
This function resamples (updates) an image using a specified transform
:param image: The sitk image we are trying to transform
:param transform: An sitk transform (ex. resizing,rotation,etc.
:return: The transformed sitk image
"""
reference_image = image
interpolator = sitk.sitkBSpline
default_value = 0
return sitk.Resample(image,reference_image,transform,interpolator,default_value)
def get_center(img):
"""
This function returns the physical center point of a 3d sitk image
:param img: The sitk image we are trying to find the center of
:return: The physical center point of the image
"""
width,height,depth = img.GetSize()
return img.TransformIndexToPhysicalPoint((int(np.ceil(width/2)),int(np.ceil(height/2)),int(np.ceil(depth/2))))
translation = sitk.TranslationTransform(3,[x_trans,y_trans,z_trans])
image_center = get_center(brain_img)
euler_transform = sitk.Euler3DTransform(image_center,theta_x,theta_y,theta_z,(0,0))
euler_transform.SetCenter(image_center)
euler_transform.SetRotation(theta_x,theta_z)
tx=sitk.CompositeTransform([euler_transform,translation])
resampled_image = resample(brain_img,tx)
右边是原图,左边是新图。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)