为itk的居中仿射变换计算变换矩阵的正确方法是什么?我有平移和方向余弦的矢量,但我无法得到正确的结果(对齐的轴旋转不匹配)。我正在使用itk的居中仿射变换功能旋转并输入相对于每个轴的方向余弦。
代码的转录将是:
itk::imageType::PointType angle_vector, PointA, PointB;
angle_vector[0]= atan((PointA[1] - PointB[1])/ (PointA[0] - PointB[0]));
angle_vector[1]= atan((PointA[0] - PointB[0])/ (PointA[1] - PointB[1]));
angle_vector[2]= atan((PointA[1] - PointB[1])/ (PointA[2] - PointB[2]));
itk::centeredAffineTransformation::Pointer transf = itk::centeredAffineTransformation::New();
transf->Rotate(0,1,angle_vector[0]);
transf->Rotate(0,2,angle_vector[1]);
transf->Rotate(1,2,angle_vector[2]);
transf->SetCenter(PointA);
等,使用利用转换的过滤器