<div>Hi Luis,</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>Sorry for the late answer.</div>
<div>&nbsp;</div>
<div>Thank you for your proposition.</div>
<div>&nbsp;</div>
<div>We are currently still evaluating&nbsp;different registration methods which could provide us a relevant solution.</div>
<div>Lately, we have most notably focused on the project highlighted by Bing Jian in his e-mail:</div>
<div>(mail from the thread: <a title="http://www.nabble.com/B-Spline-Deformable-Transform-for-3-D-point-sets-td18848466.html" href="http://www.nabble.com/B-Spline-Deformable-Transform-for-3-D-point-sets-td18848466.html" target="_blank"><u title="http://www.nabble.com/B-Spline-Deformable-Transform-for-3-D-point-sets-td18848466.html"><font title="http://www.nabble.com/B-Spline-Deformable-Transform-for-3-D-point-sets-td18848466.html" face="Arial" color="#0000ff" size="2">http://www.nabble.com/B-Spline-Deformable-Transform-for-3-D-point-sets-td18848466.html</font></u></a>)<br>
</div>
<div>His&nbsp;project is hosted here <a title="http://gmmreg.googlecode.com/files/iccv05_poster.pdf" href="http://gmmreg.googlecode.com/files/iccv05_poster.pdf" target="_blank"><u title="http://gmmreg.googlecode.com/files/iccv05_poster.pdf"><font title="http://gmmreg.googlecode.com/files/iccv05_poster.pdf" face="Arial" color="#0000ff" size="2">http://gmmreg.googlecode.com</font></u></a>&nbsp;and appears very interesting.</div>

<div>&nbsp;</div>
<div>Right now, the ITK track is thus for us&nbsp;in stand-by, but we may come back to it later.</div>
<div>&nbsp;</div>
<div>Thanks again for your help and comments.</div>
<div>Happy new year!</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>Pierre JUILLARD</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div><br>&nbsp;</div>
<div class="gmail_quote">2008/12/10 Luis Ibanez <span dir="ltr">&lt;<a href="mailto:luis.ibanez@kitware.com">luis.ibanez@kitware.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><br>Hi Pierre,<br><br>Thanks for your detailed comments.<br><br>At this point there are not many &quot;feature&quot; analysis classes in ITK.<br>
<br>That being said, the descriptors proposed in the paper: 
<div class="Ih2E3d"><br><a href="http://graphics.stanford.edu/~ngelfand/papers/global/gelfand-robust-global-05.pdf" target="_blank">http://graphics.stanford.edu/~ngelfand/papers/global/gelfand-robust-global-05.pdf</a><br>
<br></div>seem to be easy to implement in ITK, simply by using the Neighborhood<br>Iterators or the Shaped Neighborhood iterators.<br><br>In fact the basic computation of volume inside an integration ball,<br>can be implemented as a slight variation of the Voting-based filters.<br>
<br>If you are interested in implementing these methods we will be happy<br>to provide guidance, and of course, we will strongly encourage you to<br>share the implementations with the ITK community by submitting the<br>resulting filters/classes as a contribution to the Insight Journal:<br>
<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.insight-journal.org/" target="_blank">http://www.insight-journal.org/</a><br><br><br>&nbsp; &nbsp;Regards,<br><br><br>&nbsp; &nbsp; &nbsp; &nbsp;Luis<br><br><br>-----------------------<br>Pierre JUILLARD wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div class="Ih2E3d">Hi Nour and Luis,<br><br><br>Thank you for your answer Luis It is also a subject of interest for me.<br><br>I have been studying publications describing different ICP algorithms (one is mainly interesting: <a href="http://www.cs.princeton.edu/~smr/papers/fasticp/fasticp_paper.pdf" target="_blank">http://www.cs.princeton.edu/~smr/papers/fasticp/fasticp_paper.pdf</a>), as well as others describing methods for the the global registration step.<br>
<br>As noticed, ICP methods are interesting only when the two data sets are already (even if roughly) on top of each other. These methods can be implemented with ITK. However, what about the global registration step?<br><br>
Most particulary, I have read about a method described in this paper:<br><a href="http://graphics.stanford.edu/~ngelfand/papers/global/gelfand-robust-global-05.pdf" target="_blank">http://graphics.stanford.edu/~ngelfand/papers/global/gelfand-robust-global-05.pdf</a><br>
and more particularly in this thesis:<br><a href="http://graphics.stanford.edu/~ngelfand/papers/thesis/thesis.pdf" target="_blank">http://graphics.stanford.edu/~ngelfand/papers/thesis/thesis.pdf</a><br><br>It explains how to setup what seems a quite efficient method (computation time as well as accuracy) to fufill the first step of registration (even for datasets having just small overlapping areas): the global registration method makes use of different concepts:<br>
<br>- it is a method using _shape descriptors_, based on _performing integral operations on the underlying shape_, for identifying features in the data and selecting potential correspondence points in the model.<br><br>- among the datasets, a scale-space representation of the volume descriptor together with a persistence algorithm allows robustly selecting feature points at multiple scales<br>
<br>- the quality of the correspondence based on the coordinates of the feature points (selected using the integral volume descriptors) between the target and the source datasets is evaluated with the _distance root mean squared error_, or _dRMS_.<br>
<br>- if validated, a Correspondence Search is carried out.<br><br><br>As this method seems quite efficient, do you know if it is possible to implement it with ITK? Most notably, are the basic algortihms available (I am thinking to classes that would compute over a dataset the integral volume descriptor, the distance root mean square, branch-and-bound algorithm, etc...)?<br>
<br>I thank you in avance for your help.<br><br><br>Regards,<br><br><br>Pierre<br><br><br><br><br></div>2008/12/7 Luis Ibanez &lt;<a href="mailto:luis.ibanez@kitware.com" target="_blank">luis.ibanez@kitware.com</a> &lt;mailto:<a href="mailto:luis.ibanez@kitware.com" target="_blank">luis.ibanez@kitware.com</a>&gt;&gt; 
<div>
<div></div>
<div class="Wj3C7c"><br><br><br>&nbsp; &nbsp;Hi Nour,<br><br><br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Welcome to ITK !<br><br><br>&nbsp; &nbsp;Yes,<br>&nbsp; &nbsp;you can do PointSet registration with ITK.<br><br><br>&nbsp; &nbsp;Please do the following:<br><br><br>&nbsp; &nbsp;1) Build ITK by turning ON the ITK_USE_REVIEW (advanced) flag in CMake.<br>
<br><br>&nbsp; &nbsp;2) Use the itkVTKPolyDataReader.h class that you can find in<br>&nbsp; &nbsp; &nbsp;Insight/Code/Review, in order to load the two polydata files<br>&nbsp; &nbsp; &nbsp;into ITK. This will read legacy files in .vtk format.<br><br>&nbsp; &nbsp; &nbsp;If you have VRML file, then convert them first to .vtk files.<br>
&nbsp; &nbsp; &nbsp;You can do this by using VTK readers and writers.<br><br><br>&nbsp; &nbsp;3) Use the ICP method, as described in the examples:<br><br>&nbsp; &nbsp; &nbsp; &nbsp; Insight/Examples/Patented<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IterativeClosestPoint1.cxx<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IterativeClosestPoint2.cxx<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IterativeClosestPoint3.cxx<br><br><br>&nbsp; &nbsp; &nbsp; Please note that the patent on the ICP method has expired,<br>&nbsp; &nbsp; &nbsp; so you don&#39;t have to worry about it at this point.<br><br><br><br>&nbsp; &nbsp; &nbsp;Regards,<br><br><br>&nbsp; &nbsp; &nbsp; &nbsp; Luis<br>
<br><br>&nbsp; &nbsp;--------------------<br>&nbsp; &nbsp;Nour Mestiri wrote:<br><br>&nbsp; &nbsp; &nbsp; &nbsp;Hi all ITK users,<br>&nbsp; &nbsp; &nbsp; &nbsp;I&#39;m new with you so please don&#39;t blame me if my questions are<br>&nbsp; &nbsp; &nbsp; &nbsp;evident and try to help me if possible.<br>
&nbsp; &nbsp; &nbsp; &nbsp;I wanna do the registration of 2 objects (polydatas generated<br>&nbsp; &nbsp; &nbsp; &nbsp;from vrml files).<br>&nbsp; &nbsp; &nbsp; &nbsp;Is it possible? Is there a code example which allows to make that?<br>&nbsp; &nbsp; &nbsp; &nbsp;Please i need help.<br>&nbsp; &nbsp; &nbsp; &nbsp;Thank you so much<br>
<br><br><br>&nbsp; &nbsp; &nbsp; &nbsp;------------------------------------------------------------------------<br><br>&nbsp; &nbsp; &nbsp; &nbsp;_______________________________________________<br>&nbsp; &nbsp; &nbsp; &nbsp;Insight-users mailing list<br></div></div>&nbsp; &nbsp; &nbsp; &nbsp;<a href="mailto:Insight-users@itk.org" target="_blank">Insight-users@itk.org</a> &lt;mailto:<a href="mailto:Insight-users@itk.org" target="_blank">Insight-users@itk.org</a>&gt; 
<div class="Ih2E3d"><br>&nbsp; &nbsp; &nbsp; &nbsp;<a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br><br>&nbsp; &nbsp;_______________________________________________<br>
&nbsp; &nbsp;Insight-users mailing list<br></div>&nbsp; &nbsp;<a href="mailto:Insight-users@itk.org" target="_blank">Insight-users@itk.org</a> &lt;mailto:<a href="mailto:Insight-users@itk.org" target="_blank">Insight-users@itk.org</a>&gt; 
<div class="Ih2E3d"><br>&nbsp; &nbsp;<a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br><br><br></div></blockquote></blockquote></div><br>