[Insight-users] Re: about pointset registration

Luis Ibanez luis.ibanez at kitware.com
Tue Sep 13 16:08:56 EDT 2005


Hi Yixun,

Yes, ITK provides Thin PlateSplines,
as well as three other variants of Kernel Splines.

Please see the Doxygen documentation.

http://www.itk.org/Insight/Doxygen/html/classitk_1_1KernelTransform.html


However, Kernel Splines are not necessarily faster
than BSplines.

You may want to run some performance tests and
submit them as a paper to the Insight Journal.

http://www.insightsoftwareconsortium.org/InsightJournal/


Just make sure to compile everything for "Release".
Debug builds are not appropriate for code profiling.


  Regards,


    Luis


---------------------------
Yixun Liu wrote:
> Thank you for your help!
> 
> If I use the BSpline with 8*8*8 control points to intepolate the point cloud I should optimize the cost funtion with 512*3 parameters.It will take a long time. So I intend to use thin-plate Spline to intepolate the point cloud. Does ITK support it?
> 
> Regards,
> 
> Yixun Liu
> 
> 
> ----- Original Message ----- 
> From: "Luis Ibanez" <luis.ibanez at kitware.com>
> To: "Yixun Liu" <yxliu at fudan.edu.cn>
> Cc: <insight-users at itk.org>
> Sent: Tuesday, September 13, 2005 9:48 PM
> Subject: Re: about pointset registration
> 
> 
> 
>>
>>Hi Yixun,
>>
>>
>>1) Yes, you can use any ITK Transform for registring
>>  Point Sets.
>>
>>
>>2) When you say "very very slow" what do you mean ?
>>  minutes ? hours ?
>>
>>  Please be more specific.
>>
>>  Also: did you compiled your code for "Release" ?
>>  the difference in performance between Debug and Release
>>  can easily be a ratio of 10:1
>>
>>
>>3) The BSpline transform is computationally demanding.
>>  You should first use an Affine transform in order to align
>>  the two point sets, then use the resulting Affine transform
>>  as the "Bulk" transform in the Bspline deformable transform,
>>  and refine the registration.
>>
>>
>>4) Iterative closest point tends to take long time when you
>>  use it as a N x M problem.  You may want to use the option
>>  of generating a Distance map from one of the point sets
>>  first, as illustrated in the Examples in the directory
>>
>>                    Examples/Patented
>>
>>  Ahh... by the way... the Iterative Closest Point algorithm
>>  is patented. You need a license from General Motors in order
>>  to use this algorithm, whether you are in a commercial or
>>  academic institutions (academic institutions are not exempted
>>  from Patent laws).
>>
>>
>>
>>  SOFTWARE PATENTS AND ALGORITHM PATENTS ARE DETRIMENTAL FOR
>>  THE PROGRESS OF SCIENCE AND TECHNOLOGY. PLEASE HELP TO VOTE
>>  AGAINST SOFTWARE PATENTS
>>
>>  For more information look at:
>>
>>                      http://lpf.ai.mit.edu/
>>
>>          http://en.wikipedia.org/wiki/Software_patent
>>
>>
>>
>>  Regards,
>>
>>
>>
>>     Luis
>>
>>
>>
>>-----------------
>>Yixun Liu wrote:
>>
>>>Hi,
>>>I need to register two pointsets. Each of them has about 
>>>1000 points. The transform is Bspline. The control points is 9X9X5, the 
>>>spacing is 3X4X4. The Metric is IterativeClosestPointMetric. The 
>>>Optimizer is LevenbergMarquardtOptimizer. I only set the number of 
>>>interation to 1. However, the registration runs very very slowly. This 
>>> may be caused by optimizer. Which optimizer should I use? Does ITK 
>>>suppor the non-rigid pointset registration?
>>> 
>>>Regards,
>>> 
>>>Yixun Liu
>>
> 
> 



More information about the Insight-users mailing list