[Insight-users] BSplineDeformableTransform parameters?

motes motes mort.motes at gmail.com
Sun Jul 26 09:10:19 EDT 2009


On Wed, Jul 22, 2009 at 6:41 PM, Luis Ibanez <luis.ibanez at kitware.com>wrote:

> Hi Motes,
>
> 1) Yes, the parameters of the BSplineDeformableTransform are the components
>      of the deformation vectors at every node of the BSpline grid.
>
> 2) In order to compute a value in the domain of a BSpline of order 3, you
> need
>     the values of 4 BSpline nodes.



As I understand this is the k=4 order B-spline curve with the following
knot-vector:


 0     1     2     3     4     5     6     7
[0     0     0     0     1     1     1     1]
                    n    n+1                m

where n+1= 4 control points must be defined to evaluate the curve in the
whole domain. Actually this is a fourth order bezier curve.



>
>
>     If you think about a point in just on the left border of an image, you
> will need
>     one node in the border of the image, another one outside of the image,
> and
>     two more inside the image. Imagine that in the diagram below, the "O"
> symbols
>     represent BSpline nodes, and the "x" symbol represent the point where
> you
>    need to compute a value (for example, a deformation vector).
>
>
>                        O________Ox________O_________O
>
>     Now consider the right side of the image domain in the diagram below
> you
>     will need two BSpline nodes outside of the image, one in the border and
>     another one inside of the image.
>
>                        O_______xO_________O_________O
>
>      Of course, the asymmetry of the choice is arbitrary. We could have
> chosen
>      to use two nodes on the left side outside of the image, and one on the
> right
>      side, outside of the image.
>
>
I am not sure I understand this. I have tried to make a illustration of how
I understand your description:

http://img268.imageshack.us/img268/5481/bsplineparameters2.png

But I still don't see why its not possible to evaluate deformation values in
the leftmost interval in the left case:

                       Ox_new________Ox________O_________O

If that was the case it would only be necessary to define interior control
points (5*5=25) instead of interior + exterior (5+3 * 5+3 = 64).

And why are two extra nodes required in the right most case:

                       O_______xO_________O_________O

when only one are required in the left most case?




>
> 3) When we refer to Cubic BSplines, we are talking about the largest order
> of
>     the polynomials used for the interpolation.  In this case, = 3.
>
>
>
>     Regards,
>
>
>            Luis
>
>
>
> ---------------------------------------------------------------------
>  On Wed, Jul 22, 2009 at 10:39 AM, motes motes <mort.motes at gmail.com>wrote:
>
>>  I am trying to understand the parameters to the
>> BSplineDeformableTransform in the BSplineWarping1.cxx example.
>>
>> 1) As I understand the parameters are actually just a set of deformation
>> vectors. The location of theses vectors are distributed uniformly over the
>> image but the orientation and magnitude of the vectors might vary during the
>> registration.
>>
>> 2) When defining the grid extra "vectors" outside the image must be
>> defined following the below rule from the example:
>>
>>
>> //  Since we are using a B-spline of order 3, the coverage of the BSpling
>> grid
>> //  should exceed by one the spatial extent of the image on the lower
>> region of
>> //  image indices, and by two grid points on the upper region of image
>> indices.
>> //  We choose here to use a $8 \times 8$ B-spline grid, from which only a
>> $5
>> //  \times 5$ sub-grid will be covering the input image.
>>
>> But why?
>>
>> If p=3 is the degree a Cubic B-spline has support over p+1=4 knots.
>> Assuming that clamped knot-vectors are used the first and second basis
>> function will only have support over 1 and 2 knots respectively.
>> The third basis function has full support over the 4 knots.
>>
>> Is this why extra control points / deformation vectors are added?
>>
>>
>> Another thing. In the above comments is not meant to say order 4? Normally
>> the order = degree+1 and as I understand ITK uses cubic B-splines which is
>> 3-degree.
>>
>>
>> _____________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the ITK FAQ at:
>> http://www.itk.org/Wiki/ITK_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.itk.org/mailman/listinfo/insight-users
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20090726/60d3146c/attachment.htm>


More information about the Insight-users mailing list