<br>Hi David,<br><br>The Rigid3DTransform class<br><a href="http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Rigid3DTransform.html">http://public.kitware.com/Insight/Doxygen/html/classitk_1_1Rigid3DTransform.html</a><br>
<br>is intended to be a base class for <br><br> Versor3DTransform<br>QuaternionRigidTransform<br>Euler3DTransform<br><br>The Rigid3DTransform itself should not be used in a registration process.<br>(think of it as an Abstract class).<br>
<br><br>Please chose one of the specific transform above.<br><br>You may want to start with  the <br><br> QuaternionRigidTransform or the <br> Euler3DTransform<br><br><br><br>About your second question:<br><br>Yes, Having a PointSetTransform filter sounds<br>
like a reasonable request.<br><br>Actually it would be pretty easy for you to create<br>this filter from the MeshTransform filter, and to<br>share the resulting filter by posting it to the <br>Insight Journal.   <br><br>Please let us know if you need any help identifying<br>
the necessary changes.<br><br><br><br>   Regards,<br><br><br><br>            Luis<br><br><br>-----------------------------------------------------------------------------------------------------------<br><div class="gmail_quote">
On Sun, Jul 12, 2009 at 5:07 PM, David Doria <span dir="ltr">&lt;<a href="mailto:daviddoria%2Bitk@gmail.com">daviddoria+itk@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I modified one of the registration examples in an attempt to do a<br>
rigid ICP between 2 sets of points.<br>
<br>
I set the transform to a itkRigid3DTransform, but when it runs it says<br>
&quot;Attempting to set a non-orthogonal rotation matrix.&quot;<br>
<br>
My example code is here:<br>
<a href="http://rpi.edu/%7Edoriad/ICP.cpp" target="_blank">http://rpi.edu/~doriad/ICP.cpp</a><br>
<br>
The initialization is the identity matrix, so I&#39;m assuming the<br>
non-orthogonal matrix is being set within the<br>
itkPointSetToPointSetRegistrationMethod.<br>
<br>
It looks like the itkPointSetToPointSetRegistrationMethod is templated<br>
on the type of transform I pass it, so why wouldn&#39;t this work? The<br>
optimizer should restrict the search to the domain of transforms that<br>
fit the specified transform type, right?<br>
<br>
On a separate note: from previous list posts, it looks like to<br>
transform a set of points, they need to be in an itkMesh (even though<br>
there is no topology) so itkTransformMeshFilter can be used. Does it<br>
seem like a worth while feature request to make an<br>
itkTransformPointSetFilter ?<br>
<br>
Thanks,<br>
<br>
David<br>
_____________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at<br>
<a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the ITK FAQ at: <a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
</blockquote></div><br>