如何解决SimpleITK 变换后的白点
我正在使用 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 举报,一经查实,本站将立刻删除。