主要内容

geometrictransform3d.

3-D几何变换对象

描述

一种geometrictransform3d.对象使用点明示映射函数定义自定义三维几何变换。

创建

描述

例子

tform.= geometrictransform3d(Inversefcn)创造一个geometrictransform3d.对象并设置逆映射函数属性的值,inversefcn.inversefcn.

tform.= GeometricTransform3D(InverseFcn,ForwardFCN)还设置了前向映射函数属性的值,ForwardFCN.ForwardFCN.

特性

展开全部

逆映射函数,指定为函数句柄。该函数必须接受并返回坐标作为一个N-B-3数字矩阵表示包装(XyZ.)坐标N要点。

有关功能句柄的更多信息,请参阅创建功能句柄

例子:IFCN = @(XYZ)[XYZ(:,1)。^ 2,XYZ(:,2)。^ 2,XYZ(:,3)。^ 2];

向前映射函数,指定为函数句柄。该函数必须接受并返回坐标作为一个N-B-3数字矩阵表示包装(XyZ.)坐标N要点。

有关功能句柄的更多信息,请参阅创建功能句柄

例子:ffcn = @(xyz)[sqrt(xyz(:,1)),sqrt(xyz(:,2)),sqrt(xyz(:,3))];

对象功能

变换点前沿 应用前向几何变换
TransformPointsInverse. 应用逆几何变换

例子

全部收缩

指定包装(XyZ.)五个输入点的坐标。包装坐标存储为5×3矩阵,其中第一,第二和第三列包含X- ,y-, 和z-分别坐标。

XYZ = [5 25 20; 10 5 25; 15 10 5; 20 15 10; 25 20 15];

定义一个接受和返回Packed的点的逆映射函数(XyZ.) 格式。

InverseFcn = @(c)[c(:,1)+ c(:,2),c(:,1)-c(:,2),c(:,3)。^ 2];

创建三维几何变换对象,tform.,存储此逆映射函数。

TForm = GeometricTransform3D(Inversefcn)
TForm = GeometricTransform3D具有属性:InverseFcn:@(c)[c(:,1)+ c(:,2),c(:,1)-c(:,2),c(:,3)。^ 2] ForwardFCN:[]维度:3

将该3-D几何变换的逆变换应用于输入点。

UVW = TransformPointsInverse(Tform,XYZ)
UVW =5×330 -20 400 15 5 625 5 25 35 5 100 45 5 225

指定X- ,y- 和Z.- 转换五个点的载体。

x = [3 5 7 9 11];Y = [2 4 6 8 10];z = [5 9 13 17 21];

定义接受和返回Packed的逆向映射函数(XyZ.) 格式。

InverseFcn = @(c)[c(:,1)。^ 2,c(:,2)。^ 2,c(:,3)。^ 2];forwardfcn = @(c)[sqrt(c(:,1)),sqrt(c(:,2)),sqrt(c(:,3))];

创建三维几何变换对象,tform.,存储这些逆向和前向映射函数。

TForm = GeometricTransform3D(InverseFcn,ForwardFCN)
TForm = GeometricTransform3D具有属性:Inversefcn:@(c)[c(:,1)。^ 2,c(:,2)。^ 2,c(:,3)。^ 2]转发帧:@(c)[SQRT(C(:1)),SQRT(C(:,2)),SQRT(C(:,3))]维度:3

将该3-D几何变换的逆变换应用于输入点。

[U,V,W] = TransformPointsInverse(tform,x,y,z)
你=1×59 25 49 81 121
v =1×54 16 36 64 100
w =1×525 81 169 289 441

将前向几何变换应用于转换点V., 和W.

[x,y,z] = TransformPointSforword(Tform,U,V,W)
X =1×53 5 7 9 11
y =1×52 4 6 8 10
z =1×55 9 13 17 21

定义对横轴执行反射的逆映射函数。该函数必须接受并返回包装(XyZ.)坐标,其中第一,第二和第三列包含X- ,y-, 和Z.- 分别为......

InverseFcn = @(XYZ)[XYZ(:,1), -  XYZ(:,2),XYZ(:,3)];

创建三维几何变换对象,tform.,存储此逆映射函数。

TForm = GeometricTransform3D(Inversefcn)
TForm = GeometricTransform3D具有属性:Inversefcn:@(XYZ)[XYZ(:,1), -  XYZ(:,2),XYZ(:,3)]转发氟氯:[]维度:3

加载并显示要转换的MRI卷。

s = load('MRI');MRIVOLUME =挤压(S.D);

采用imwarp.将逆几何变换应用于输入MRI卷。

[MRIVOLUMETRANSFORMED] = IMWARP(MRIVOME,TFORM,'最近''平滑肌',真的);

从输入MRI卷显示图像切片作为蒙太奇。

蒙太奇(Mrivolume,'尺寸',[4 8],'背景颜色''W') 标题('从3-D MRI'的图像切片''字体大小',14)

图包含轴。具有来自3-D MRI的标题图像切片的轴包含类型图像的对象。

从变换的MRI卷显示图像切片作为蒙太奇。变换的图像切片是输入图像切片的反射X-轴。

蒙太奇(MRivolumetransformed,'尺寸',[4 8],'背景颜色''W') 标题('从逆几何变换为3-D MRI的图像切片''字体大小',14)

图包含轴。具有来自逆几何变换的标题图像切片的轴,3-D MRI包含类型图像的对象。

在R2018B中介绍