【ITK库学习】使用itk库进行图像配准:变换Transform(二)

1、itkQuaternionRigidTransform 四元刚性变换

该类实现向量空间的四元数刚性变换(例如空间坐标)。

该变换将旋转和平移应用于给定四元数和 3D平移的空间,旋转是围绕用户指定的中心进行的。

可以使用单独的Set方法或使用 SetParameters()SetFixedParameters() 以序列化形式设置此转换的参数。

可优化参数的序列化是一个包含 7 个元素的数组,前4个元素是3D旋转的四元数表示的组成部分,最后3个参数定义每个维度的平移。

固定参数的序列化是定义旋转中心的3个元素的数组。

  • Set/GetParameters():设置/获取变换参数,通常由优化器使用,有7个参数,前四个代表四元数,后三个代表偏移量
  • Set/GetRotation():设置/获取刚性变换的旋转,计算某一点处变换的雅可比矩阵,此方法将 QuaternionRigidTransform 的旋转设置为用户指定的值
  • SetIdentity():重置参数以创建和身份转换

2、itkVersorTransform Versor变换

该类实现向量空间的Versor变换(例如空间坐标)

此变换对空间应用旋转,旋转是围绕用户指定的中心进行的。

可优化参数的序列化是一个由 3 个元素组成的数组,此变换专门表示3D中的旋转。

注意:需要确保基类中的转换参数不能设置为非零值。

  • Set/GetParameters():设置/获取变换参数,通常由优化器使用,有3个参数,可以看作是平行于旋转轴的向量的分量乘以 std::sin(angle/2)
  • SetRotation():设置变换的旋转部分
  • SetCenter():设置转动中心

3、itkVersorRigid3DTransform Versor刚体3D变换

该类实现向量空间的Versor刚体3D变换(例如空间坐标)

此变换对空间应用旋转和平移,此变换的参数可以使用单独的Set方法设置,也可以使用SetParameters()SetFixedParameters()以序列化形式设置。

可优化参数的序列化是一个包含 6 个元素的数组,前 3 个元素是 3D 旋转的 versor 组成部分,后 3 个参数定义每个维度的平移。

固定参数的序列化是定义旋转中心的 3 个元素的数组。

允许用户指定旋转中心。

  • Set/GetParameters():设置/获取变换参数, 有6个参数, 前3个数代表旋转的 versor 组成部分,后 3 个数定义每个维度的平移
  • SetRotation():设置变换的旋转部分
using TransformType = itk::VersorRigid3DTransform<double>;
auto initialTransform = TransformType::
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值