ITK 定义原点和间距 Defining Origin and Spacing

本文介绍了ITK工具包在处理医学图像时如何定义图像的原点和间距。通过示例代码展示了如何设置和获取图像的像素间距、原点,并解释了这些参数在医学图像处理中的重要性。
摘要由CSDN通过智能技术生成

尽管ITK可用于执行一般图像处理任务,但该工具包的主要目的是处理医学图像数据。在这方面,关于图像的附加信息被认为是必须的。特别是与像素之间的物理间距和图像在空间中的位置有关的信息在某些世界坐标系中是极其重要的。

图4.1说明了与itk::Image相关的主要几何概念。在这个图中,圆圈被用来代表像素的中心。假设像素的值存在为一个
位于像素中心的狄拉克函数。像素间距是在像素中心之间测量的,可以在每个维度上是不同的。图像原点与图像中第一个像素的坐标相关联。对于这个简化的示例,体素格与物理空间方向完全对齐,因此图像方向是一个恒等映射。如果立体像素点阵样本相对于物理空间进行旋转,则图像的方向将包含一个旋转矩阵。

图像间距用一个固定数组表示,其大小与图像的维数相匹配。为了手动设置图像的间距,必须创建相应类型的数组。
然后,数组中的元素应该用相邻像素中心之间的间距进行初始化。下面的代码演示了itk::Image类中处理间距和原点的可用方法。

 

#include "ItkImage.h"


static itk::Image<unsigned short, 3>::IndexType GetIndexFromMouseClick()
{
    itk::Image<unsigned short, 3>::IndexType LeftEyeIndex;
    LeftEyeIndex[0] = 60;
    LeftEyeIndex[1] = 127;
    LeftEyeIndex[2] = 93;
    return LeftEyeIndex;
}


int main(int, char* [])
{
    constexpr unsigned int Dimension = 3;
    using ImageType = itk::Image<unsigned short, Dimension>;

    ImageType::Pointer image = ImageType::New();

    //初始化图片区域
    const ImageType::SizeType size = { {200,200,200} };
    const ImageType::IndexType start = { {0,0,0} };

    /*以上两句话可以写成如下来初始化图片区域
    Im

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值