<div dir="ltr">Hi,<div><br></div><div>  I have a affine transformation matrix with a set of points as fixed landmarks and moving landmarks. I was trying to verify the transformation by using the transform point method in the transformation class,ideally i should get back the fixed points when i give the moving points as input , but I am not getting it as the output.  The code which i used is as below:</div><div><br></div><div><div>typedef itk::AffineTransform<double,3> AffineTransformType;</div><div>AffineTransformType::Pointer transf;</div><div><br></div><div>transf = dynamic_cast<AffineTransformType*>( transfm.GetPointer() );<br></div></div><div><div>typedef itk::Similarity3DTransform<double> SimilarityTransformType;</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">    </span>SimilarityTransformType::Pointer transform = SimilarityTransformType::New();</div></div><div><br></div><div><div>typedef itk::LandmarkBasedTransformInitializer< SimilarityTransformType, InputImageType, InputImageType > </div><div><span class="gmail-Apple-tab-span" style="white-space:pre">           </span> LandmarkBasedTransformInitializerType;</div><div>   LandmarkBasedTransformInitializerType::Pointer landmarkBasedTransformInitializer =</div><div>   LandmarkBasedTransformInitializerType::New();</div><div><br></div><div>   typedef LandmarkBasedTransformInitializerType::LandmarkPointContainer     LandmarkContainerType;</div><div>   typedef LandmarkBasedTransformInitializerType::LandmarkPointType          LandmarkPointType;</div><div>   </div><div>   LandmarkContainerType movingLandmarks;</div><div>   </div><div>   LandmarkPointType movingPoint;</div><div><br></div><div>   double *ptrf_moving_point = ptf_moving_landmark_pointslist;</div><div>   for(int iPointIndex=0;iPointIndex<iNumberofLandMarkPoints_moving;iPointIndex++){</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">  </span>    movingPoint[0] = (*( ptrf_moving_point )) ;</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">            </span>movingPoint[1] = (*( ptrf_moving_point + 1));</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">            </span>movingPoint[2] = (*( ptrf_moving_point + 2));</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">          </span></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">               </span>movingLandmarks.push_back( movingPoint );</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">              </span></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">               </span>ptrf_moving_point = ptrf_moving_point + 3;</div><div>   }</div><div><br></div><div>   typedef itk::PointSet< double, 3 >   PointSetType;</div><div>   PointSetType::Pointer registeredPointSet = PointSetType::New();</div><div>   typedef PointSetType::PointType     PointType;</div><div>   PointType registeredPoint;</div><div>   typedef PointSetType::PointsContainer  PointsContainer;</div><div>   PointsContainer::Pointer registeredPointContainer = PointsContainer::New();</div><div>  </div><div>   for(int i=0;i<movingLandmarks.size();i++){</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">      </span>   registeredPoint =   transf->TransformPoint( movingLandmarks[i] );</div><div>       registeredPointContainer->InsertElement( i, registeredPoint );</div><div>   }</div><div><br></div><div>   registeredPointSet->SetPoints(registeredPointContainer);</div><div><br></div><div>//Write the registered pointset into file</div><div>std::ofstream   registeredFile;</div><div>registeredFile.open( "registered_points.txt");</div><div>if( registeredFile.fail() )</div><div>{</div><div>  return -1;</div><div>}</div><div>for( int i = 0; i<registeredPointSet->GetNumberOfPoints(); i++)</div><div>{</div><div>  registeredPointSet->GetPoint( i, & registeredPoint );</div><div>  for(int j = 0; j<3; j++)</div><div>  {</div><div>   registeredFile<<registeredPoint[j]<<"\t";</div><div>  }</div><div>  registeredFile<<"\n";</div><div>}</div></div><div><br></div><div> Is there a mistake in the code ?How do I transform the points?</div><div>-swetha</div></div>