主要内容

medicalref3d

三维医学图像卷的空间参考信息

描述

一个medicalref3d对象存储锚定在医学图像卷的列、行和面上的固有坐标系与现实世界患者坐标系之间的关系。

medicalref3d对象处理仿射和非仿射医学图像卷。对于非仿射卷,对象存储关于每个维度中每个切片的间距和方向的信息。你也可以使用medicalref3d对象访问和更新患者坐标系轴与左右、上下和前后解剖轴之间的映射。

创建

您可以创建medicalred3d用这些方法反对:

  • medicalVolume-创建medicalref3d对象,存储在VolumeGeometry财产。

  • medicalref3d函数描述如下。

描述

例子

R= medicalref3d (volumeSizetform创建一个medicalref3d对象,并设置VolumeSize财产。tform是一个affinetform3d对象,该对象指定仿射映像卷。

R= medicalref3d (volumeSize位置、pixelSpacing余弦属性指定仿射或非仿射图像卷的空间引用信息位置而且PixelSpacing属性指定每个片的方向余弦论点。

R= medicalref3d (volumeSize、位置、voxelDistances)属性指定仿射或非仿射图像卷的空间引用信息位置而且VoxelDistances属性。

输入参数

全部展开

图像数据数组与患者坐标系之间的几何变换,指定为affinetform3d对象。的一个的属性tform包含一个4 × 4的3-D变换矩阵,该矩阵映射像素索引的三元组,其顺序为()到(xyz)患者坐标的三组真实单位。

每个切片在患者坐标系中的方向,指定为2 × 3 ×p数字数组,其中p是图像体积中沿第三维的切片数。每个2 × 3矩阵指定一个切片的方向:

  • 第一行指定第一个维度的余弦方向,它与数据数组的行对齐,相对于x-,y- - - - - -,z病人坐标系的-轴。

  • 第二行指定第二个维度的方向余弦,它与数据数组的列对齐,相对于x-,y- - - - - -,z病人坐标系的-轴。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

属性

全部展开

数据数组的每个维度中的体素数,指定为正整数的3元素行向量。的三个要素VolumeSize分别指定图像数据中的行数、列数和切片数。属性在创建对象时设置此属性volumeSize输入参数。否则,此属性为只读。

数据类型:

数据数组中每个切片的第一个索引中的像素的患者坐标,指定为p-by-3数值矩阵。p是图像体积中沿第三维的切片数。每行指定xyz-坐标,以实际单位表示,对应切片的第一个像素的中心。第一个像素是数据数组的第一行和第一列中的像素。属性可以在对象创建时直接设置此属性位置参数,或间接地使用tform输入参数。否则,此属性为只读。

数据类型:

相邻体素之间的三维位移向量,指定为的3元素单元格数组p-乘3的数字矩阵或1乘3的数字矩阵。p是图像体积中沿第三维的切片数。VoxelDistances定义内在坐标系(体素)和患者坐标系(真实世界单位)之间的三维映射。位移可以是正的,也可以是负的。

  • VoxelDistances {1}指定真实世界的位移[ΔxΔyΔz]对应于[1 0 0]体素位移。

  • VoxelDistances {2}指定真实世界的位移[ΔxΔyΔz]对应一个[0 10 0]体素位移。

  • VoxelDistances {3}指定真实世界的位移[ΔxΔyΔz]对应一个[0 0 1]体素位移。

例如,: VoxelDistances {2} (1)指定沿数据数组的第二个维度移动时,第一个切片的体素之间的向量。

如果图像体积是非仿射的,或者medicalref3d对象创建为VolumeGeometry属性值medicalVolume对象为DICOM文件,然后VoxelDistances指定单独行中每个切片的位移向量。否则,的每个元素VoxelDistances化简为1 × 3矩阵。

属性可以在对象创建时直接设置此属性voxelDistances参数,或间接地使用tform位置pixelSpacing,或余弦输入参数。否则,此属性为只读。

数据类型:细胞

病人坐标系相对于解剖轴的方向约定,具体为“有限合伙人+”“拉斯维加斯+”“RAS +”,或“未知”.为“有限合伙人+”“拉斯维加斯+”,“RAS +”,前三个字表示正方向x-,y- - - - - -,z分别为患者坐标系的-轴。

  • 的正方向x-轴左点(“L”)或权利(“R”).

  • 的正方向y-轴前点(“一个”)或后(“P”).

  • 的正方向z-轴下点(“我”)或上级(“S”).

  • “+”指示值沿指定的方向增加。

例如,“有限合伙人+”属性指定患者坐标系x-,y- - - - - -,z-轴分别在左、后、上方向为正。

默认值为“未知”.对于一个medicalref3d对象创建的medicalVolume函数,PatientCoordinateSystem根据文件元数据的相应属性设置(如果存在)。

数据类型:字符|字符串

每个切片的前两个维度中体素中心之间的间距,用a表示p-by-2矩阵或2元正向量。p是图像体积中沿第三维的切片数。每一行指定窗体中一个切片的体素中心之间的距离[xSpacing ySpacing].距离的单位是真实世界的单位,比如毫米。

如果图像体积是非仿射的,或者medicalref3d对象创建为VolumeGeometry属性值medicalVolume对象作为DICOM文件,则PixelSpacing属性指定单独行中每个片的间距。否则,PixelSpacing化简为2元向量。

属性可以在对象创建时直接设置此属性pixelSpacing参数,或间接地使用tformvoxelDistances输入参数。否则,此属性为只读。

数据类型:

此属性是只读的。

空间引用系统是仿射的,指定为一个逻辑1真正的)或0).如果满足以下条件,则图像卷是仿射的:

  • 所有的切片都彼此平行。

  • 每个维度的片间距均匀。

  • 所有切片的左上角体素是共线的。

  • 没有两个切片是重合的,这意味着没有两个切片位于空间中的相同位置。

数据类型:逻辑

此属性是只读的。

图像数据数组与患者坐标系统对齐,指定为逻辑1真正的)或0).一个真正的值指示行、列和切片索引更改的方向与x-,y- - - - - -,z病人坐标系的-轴。

数据类型:逻辑

此属性是只读的。

图像切片的方向是混合的,指定为一个逻辑1真正的)或0).一个Value表示图像卷中的所有切片都是平行的,并且具有相似的方向。一个真正的Value表示一个或多个片不是平行的,并且与其他片的方向相似。

数据类型:逻辑

对象的功能

intrinsicToWorldMapping 医学图像体积本征坐标与患者坐标之间的几何变换
包含 确定仿射图像体积是否包含患者坐标系中指定的点
intrinsicToWorld 将点从固有坐标映射到患者坐标
oneSliceIntrinsicToWorldMapping 医学图像体切片的本征坐标与患者坐标的几何变换
东方 更新患者坐标系惯例
sliceCorners 提取一切片的患者角体素坐标
worldToIntrinsic 将点从病人坐标映射到内在坐标
worldToSubscript 从患者坐标转换为行和列下标

例子

全部折叠

指定目标图像卷数组的大小,以体素为单位。

volumeSize = [256 256 100];

指定描述目标图像体积的固有坐标和患者坐标之间映射的几何变换。假设病人坐标系的单位是毫米。

指定对应于0.5 mm、0.5 mm和1.0 mm的体素尺寸的比例因子。

Sx = 0.5;Sy = 0.5;Sz = 1;

指定第一个横向切片的第一个体素的位置,单位为毫米。位置定义了内在坐标原点和患者坐标原点之间的平移。

Tx = 1000;Ty = 50;Tz = 75;

定义一个执行体素缩放和转换的4 × 4几何变换矩阵。第一列对应于y-维的图像,而第二列对应于x维度。

A = [0 sx 0 tx;Sy 0 0 ty;0 0 sz tz;0 0 0 1];

创建一个affinetform3d执行转换的对象。

tform = affinetform3d(A);

创建一个medicalref3d具有指定数组大小和几何变换的对象。

R = medicalref3d(volumeSize,tform)
R = medicalref3d with properties: VolumeSize: [256 256 100] Position: [100x3 double] voxeldistance: {[0.5000 00] [0 0.5000 0] [0 0 1]} PatientCoordinateSystem: "Unknown" PixelSpacing: [0.5000 0.5000] IsAffine: 1 IsAxesAligned: 1 IsMixed: 0

版本历史

R2022b中引入

Baidu
map