首页 > 解决方案 > 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, 0))
euler_transform.SetCenter(image_center)
euler_transform.SetRotation(theta_x, theta_y, theta_z)
tx=sitk.CompositeTransform([euler_transform,translation])
resampled_image = resample(brain_img, tx)

在此处输入图像描述

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

标签: pythontransformationregistrationitksimpleitk

解决方案


推荐阅读