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 (将#修改为@)