MITK Geometry
来源:互联网 发布:mac版炒股软件 编辑:程序博客网 时间:2024/05/16 19:54
geometry用来表示数据的时间和空间几何属性。正确使用geometry需要了解MITK里三种不同坐标系:
- 世界坐标系
- 世界坐标系反映了MITK中所有物体的实际空间坐标,是一个全局坐标系。
- 世界坐标由mitk::Point3D表示。
- geometry定义了世界坐标系下数据对象的offset、orientation、scale。
- 世界坐标的单位一般为mm。
- 对于image geometry,图像的原点在左下后角上的体像素的中心。
- 如果没有涉及image geometry(没有定义离散的体像素),原点在坐下后角。
- 索引坐标可以转换为世界坐标,方法是调用BaseGeometry::IndexToWorld()
Corner-based coordinates
Center-based image-coordinates
连续索引坐标
- 用pixel spacing分割世界坐标并在计算时考虑offset。所以连续索引坐标可能是浮点数。
- mitk::Point3D表示连续索引坐标。
- 调用BaseGeometry::WorldToIndex()可获得连续索引坐标,这里&pt_mm是世界坐标系中的一个点。
索引坐标
- 索引坐标是离散值,代表数据中的某个体像素。索引坐标由 itk::Index<3>表示。
- 总的来讲,索引坐标是加了0.5个坐标值的连续索引坐标。
- (0,0)表示2D图像的起始像素,(0,1)表示位于同行下一列的像素。
- 调用BaseGeometry::WorldToIndex()可将世界坐标系转换为索引坐标系。
点和矢量的区别
如同ITK,MITK中点和矢量的概念不同。点表示坐标系中的一个位置,而矢量表示两个点之间的距离。offset在坐标系转换中可以影响点,但不会影响矢量(因为距离是不会变的)。
Geometry
BaseGeometry是MITK中所有geometry的父类,内含:
- 一个空间上的bounding box,在索引坐标系中平行于坐标轴,可通过BaseGeometry::GetBoundingBox()获得。
- 一个时间上的bounding box,以毫秒计算数据对象的时效,可通过BaseGeometry::GetTimeBounds()获得。
- 一个Euclidean变换公式形式存储的位置信息,可让世界坐标和索引坐标互相转换。可通过BaseGeometry::GetIndexToWorldTransform()获得。
- 其他属性(如原点、extent,……),可通过类说明文档获得相关信息。
- 重要:isImageGeometry是一个标识符,表示坐标系的原点是否在体素中心。
BaseData的每一个子类都有一个TimeGeometry( 可通过BaseData::GetTimeGeometry()获得)。这个TimeGeometry保存有一个或多个BaseGeometry对象用来描述该对象所处的时间点,允许世界和索引坐标之间的转换并包含数据所处区域的bounding box。
表示时间有两种方式, TimePointType或TimeStepType。第一种方式类似于连续索引坐标,以毫秒为单位记录了从零时间点到该时间点的时间。第二种类似于索引坐标,为离散值,可以从GetNumberOfTimeSteps()得到,表示当前时间点经过了多少个time step。time point 和time step之间的转换通过TimeGeometry::TimeStepToTimePoint()或TimeGeometry::TimePointToTimeStep()。注意,对象不同,time step也可能不同,所以一般最好用time point计算对应的time step。另外,时间段上的time step也无需相同,这取决于TimeGeometry的使用。
- MITK Geometry
- geometry
- geometry
- geometry
- Geometry
- MITK Concepts - Interaction/MITK中的交互概念
- MITK三维重建的问题
- 德国版MITK编译
- MITK编程流程
- MITK交互概念
- MITK Dispatcher交互概念
- MITK中的渲染
- MITK Image介绍
- MITK简介及安装
- 【MITK】Ubuntu 64下编译MITK kinect模块
- 【MITK】(一)Ubuntu下编译运行MITK
- MITK Conecpts - Pipelining/MITK中的(渲染)流水线概念
- TinyXML在MITK中的使用
- 移动应用SDK
- linux之cp/scp命令+scp命令详解
- VS2010查找和替换
- Web工程和引用工程引用了同一个jar包,部署项目后,会引用哪一个?
- 高亮显示搜索到的关键字-jquery.highlight.js的用法!
- MITK Geometry
- svn 删除所有的 .svn文件
- RabbitMQ学习一:hello world
- Spring MVC 为例,从前台—>后台—>前台的编解码过程及出现乱码的案例
- 蓝桥 算法训练 删除数组零元素
- 拿硬币的必胜方 轮流拿硬币 最后拿的输
- Eclipse 修改字体和皮肤
- iOS 应用程序跳转到appstore
- 符号英文名称