主要内容

geometricTransform3d

三维几何变换对象

自从R2018b

描述

一个geometricTransform3d对象定义了一个定制的三维几何变换使用逐点映射功能。

创建

描述

例子

tform= geometricTransform3d (inverseFcn)创建一个geometricTransform3d对象和设置逆映射函数属性的值,InverseFcninverseFcn

tform= geometricTransform3d (inverseFcn forwardFcn)还设置正向映射函数属性的值,ForwardFcnforwardFcn

属性

全部展开

逆映射函数,指定为一个函数处理。作为一个函数必须接受和返回坐标n3数值矩阵代表包装(x,y,z)的坐标n点。

关于处理函数的更多信息,请参阅创建函数处理

例子:ifcn = @(某某)[xyz (: 1)。^ 2, xyz (:, 2) ^ 2, xyz (:, 3)。^ 2];

映射函数,指定为一个函数处理。作为一个函数必须接受和返回坐标n3数值矩阵代表包装(x,y,z)的坐标n点。

关于处理函数的更多信息,请参阅创建函数处理

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

对象的功能

outputLimits 发现输出空间限制给定的输入空间的限制
transformPointsForward 应用提出的几何变换
transformPointsInverse 应用逆几何变换

例子

全部折叠

指定包装(x,y,z)5个输入点的坐标。包装坐标存储为5-by-3矩阵,第一,第二,第三列包含x- - - - - -,y- - - - - -,z -坐标,分别。

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

定义一个逆映射函数,接受并返回点包装(x,y,z)的格式。

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

应用三维几何变换的逆变换的输入点。

UVW = transformPointsInverse (tform XYZ)
UVW =5×330 -20 400 5 625 25 5 25 35 5 100 45 225

指定x- - - - - -,y——z5个点的坐标向量变换。

x = (3 5 7 9 11);y = (2 4 6 8 10);z = (5 9 13 17 21);

定义逆和向前映射函数,接受和返回点包装(x,y,z)的格式。

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]ForwardFcn: @ (c) [sqrt (c (: 1)), sqrt (c (:, 2)), sqrt (c(:, 3)))维度:3

应用三维几何变换的逆变换的输入点。

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

提出几何变换应用于转变点u,v,w

[x, y, z] = transformPointsForward (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

定义一个逆映射函数,执行对水平轴反射。函数必须接受和返回包装(x,y,z)坐标,第一、第二和第三列包含x- - - - - -,y- - - - - -,z分别坐标。

inverseFcn = @(某某)[xyz (: 1), xyz (:, 2), xyz (:, 3)];

创建一个三维几何变换对象,tform商店这个逆映射函数。

tform = geometricTransform3d (inverseFcn)
tform = geometricTransform3d属性:InverseFcn: @(某某)[xyz (: 1), xyz (:, 2), xyz (:, 3)] ForwardFcn:[]维度:3

加载和显示MRI体积改变。

s =负载(“核磁共振”);mriVolume =挤压(其中);

使用imwarp逆几何变换应用于输入MRI体积。

[mriVolumeTransformed] = imwarp (mriVolume tform,“最近的”,“SmoothEdges”,真正的);

从输入MRI显示图像片体积蒙太奇。

蒙太奇(mriVolume“大小”,8 [4],“写成BackgroundColor”,' w ')标题(“从三维磁共振图像片”,“字形大小”14)

图包含一个坐标轴对象。坐标轴对象与标题图像分层三维核磁共振成像包含一个类型的对象的形象。

从转换后的核磁共振显示图像片体积蒙太奇。转换后的图像片的输入图像片的反射x设在。

蒙太奇(mriVolumeTransformed“大小”,8 [4],“写成BackgroundColor”,' w ')标题(的形象片逆几何变换三维核磁共振成像的,“字形大小”14)

图包含一个坐标轴对象。坐标轴对象与标题图像分层逆几何变换的三维核磁共振成像包含一个类型的对象的形象。

版本历史

介绍了R2018b