微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SimpleITK 变换后的白点

如何解决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)

enter image description here

右边是原图,左边是新图。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。