体位转换

该博客介绍了如何使用Euler3DTransform和Resample函数进行医学影像的中心定位和方向校正。通过get_center函数获取图像的物理中心点,然后利用rotation设置旋转矩阵,实现图像与参考图像的配准。convert_to_hfs函数则用于将图像转换到同一坐标系下,确保对比分析的准确性。
摘要由CSDN通过智能技术生成
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))))
def convert_to_hfs(image,reference_image, interpolator=sitk.sitkLinear, direction=None):
    rangefilter = sitk.MinimumMaximumImageFilter()
    rangefilter.Execute(image)
    default_value = rangefilter.GetMinimum()
    if direction is None:
        direction = reference_image.GetDirection()
    image_center = get_center(image)
    rotation = sitk.Euler3DTransform()
    rotation.SetCenter(image_center)
    rotation.SetMatrix(direction)
    resampled_image = sitk.Resample(image, reference_image, rotation,interpolator , default_value)
    return resampled_image

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值