[Insight-users] about Bspline

Yixun Liu yxliu at fudan.edu.cn
Mon May 30 21:24:02 EDT 2005


Hi,

I should express my problem clearly.

Firstly I want to use the ITK registration framework to non-rigidly register the two point set. If I use the BSpline Transform in ITK, I must set  many control points in the FixedImage, for example  a 16*16*16 control grid for a 256*256*256 images. This will make the optimizer run very slow. So I want to creat a 2D Bspline surface from one point set to reduce the number of the control points. I do not know if ITK support it.

Best 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: Friday, May 27, 2005 10:38 PM
Subject: Re: [Insight-users] about Bspline


> 
> 
> Hi Yixun,
> 
> 
> 
> You seem to be mixing two different problems here.
> 
> 
> 
> First you asked for a way of creating a BSpline
> for interpolating a surface,now you are asking
> about performing BSpline deformable registration
> between two point clouds.
> 
> 
> 
> The first problem:  creating a BSpline interpolation
>                     from a point cloud, can be solved
>                     with the BSpline interpolator available
>                     in ITK, given that you confirmed that
>                     your points are arranged topologically
>                     in a 2D grid.
> 
> 
> The Second (new) problem:  How to register two point clouds
>                     using BSpline deformable registration,
>                     is pretty much independent from the first
>                     problem. In order to perform a registration
>                     with a BSpline transform you don't need to
>                     create interpolating surfaces in your point
>                     cloud.
> 
> 
> 
> You seems to have a couple of misperceptions about the ITK
> registration framework. Hopefully the following statements
> will help you to clarify your perception.
> 
> 
> 
> 1) The BSplines in ITK are N-Dimensional.
>    The are not limited to 3D.
> 
> 
> 2) If you want to interpolate a surface over a
>    point cloud in 3D, you pass 3 images that are 2D to
>    the BSpline interpolator. Since your  points are
>    topologically equivalent to the grid nodes of this 2D image,
>    you need three images where the pixel values are associated
>    to the X, Y  and Z coordinates of your points respectively.
> 
> 
> 3) You don't need to generate an interpolating surface in order
>    to register the point clouds, *unless* your cloud is so
>    scattered that there are wide gaps in the points.
> 
> 
> 4) You don't need deformable registration in order to
>    register two point clouds taken from a range scanner.
> 
>    You probably can do this registration by using directly
>    the code in:
> 
> 
>        Insight/Examples/Patented/
>                  IterativeClosestPoint2.cxx
>                  IterativeClosestPoint3.cxx
> 
> 
>    You will need, of course, to provide a good initialization
>    for the transform.
> 
> 
> 
> 
> 
>   Regards,
> 
> 
> 
>       Luis
> 
> 
> 
> ---------------
> Yixun Liu wrote:
> 
>> Thank your reply!
>> 
>> The point cloud is acquired by a Laser range scanner, so the points should be arranged topologically in a 2D grid embeded in 3D space. If I represent this point cloud with a 2D B-Spline, can I non-rigidly  register this B-Spline surface with another point cloud? In my opinion, ITK only support 3D B-Spline when two point cloud need be non-rigidly registered.
>> 
>> Regards,
>> 
>> Yixun Liu
>> 
>> 
>> ----- Original Message ----- 
>> From: "Luis Ibanez" <luis.ibanez at kitware.com>
>> To: "Yixun Liu" <yxliu at fudan.edu.cn>
>> Cc: "VTK" <vtkusers at vtk.org>; <insight-users at itk.org>
>> Sent: Friday, May 27, 2005 12:50 AM
>> Subject: Re: [Insight-users] about Bspline
>> 
>> 
>> 
>>>Hi Yixun,
>>>
>>>
>>>Are your points arranged topologically
>>>in a 2D grid embebded in 3D space ?
>>>
>>>
>>>If YES,
>>>then you can use the BSpline classes
>>>in ITK for this purpose.
>>>
>>>http://www.itk.org/Insight/Doxygen/html/classitk_1_1BSplineInterpolateImageFunction.html
>>>
>>>
>>>
>>>If NO,
>>>then you have the option of using KernelBased Splines
>>>(five different types are available in ITK).
>>>
>>>http://www.itk.org/Insight/Doxygen/html/classitk_1_1KernelTransform.html
>>>
>>>
>>>
>>>
>>> Regards,
>>>
>>>
>>>
>>>    Luis
>>>
>>>
>>>----------------------
>>>Yixun Liu wrote:
>>>
>>>
>>>>Hi,
>>>> 
>>>>I have a surface represented by point cloud. I need to generate a 2D 
>>>>B-Spline from this point cloud. Dose ITK or VTK support it?
>>>> 
>>>> 
>>>>Best regards,
>>>> 
>>>>Yixun Liu
>>>>
>>>>
>>>>------------------------------------------------------------------------
>>>>
>>>>_______________________________________________
>>>>Insight-users mailing list
>>>>Insight-users at itk.org
>>>>http://www.itk.org/mailman/listinfo/insight-users
>>>
>>>
>>>
>>>
>> _______________________________________________
>> Insight-users mailing list
>> Insight-users at itk.org
>> http://www.itk.org/mailman/listinfo/insight-users
>> 
>> 
> 
> 
> 
>


More information about the Insight-users mailing list