[Insight-users] Bspline-based registration example 6

Luis Ibanez luis.ibanez at kitware.com
Sun Nov 25 08:51:37 EST 2007



Hi Eve,


1) When performing multi-resolution in the BSpline grid of a deformable
    registration problem, you may always want to start with a small
    number of grid points, and in the subsequent registration levels,
    you increase the number of grid points.  As you do this, when you go
    from one level to the next, the separation between the grid points
    becomes smaller, and the capacity of the BSpline for describing local
    deformations increases.



2) About the citation of the paper, the version that I found online
    with the full text is available at:

http://www.isis.georgetown.edu/CAIMR/DesktopModules/ViewDocument.aspx?DocumentID=145

    and doesn't includes the quote that you mentioned (it might not be
    the same version as the one you cited...?)

    In any case, the quote doesn't sound right. In general, when you are
    going from one resolution level, to a higher resolution level, the
    spacing between the control points must be reduced (not increased).


3) The heuristic for determining the number of nodes is based on how
    *local* the deformations are. For example, if you observe that in
    the two images that you are registering, there is a region of tissue
    that moved up, and another that moved down, and they are separated
    by 5 mm, then that separation should be be your minimal requirement
    for the spacing of the BSpline grid. In other words: in order to
    describe that combined deformation, you need a BSpline grid where
    the nodes are *at most* 5mm apart.

    The heuristic for determining the number of multi-resolution levels
    is based on the final number of grid points that you computed in
    your heuristic above. For example, if your image has a total extent
    of 400mm x 400mm, and you need to cover it with a BSpline grid of
    5mm x 5mm of spacing, then you are looking at a BSpline grid of
    80 x 80 nodes.  One second level of resolution will bring you to
    40 x 40 nodes, and a third one will bring you to 20 x 20 nodes.
    You may want to add a fourth one in order to start with a 10 x 10
    grid.

    Starting with a BSpline grid where the number of nodes is in the
    range of what you can "visually" debug is in general a good idea.
    That is, start with less that 100 nodes at the lowest-resolution
    level, and then increase by factors of 2x at every additional
    resolution level until you reach the highest resolution level,
    the one that matches the finest deformation that you want to be
    able to describe.




4) The description of your problem is very very incomplete.  :-/

    Saying that you used a two level BSpline grid, and
    it doesn't seem to produce a noticeable deformation...
    ...is...   *interesting but useless*.


    Please help us to help you:

     0) What image dimension are you dealing with (2D, 3D) ?
     1) What is the size (in pixels) of the images ?
     2) What is the pixel spacing in your images ?
     3) What are the image modalities ?
     4) What image Metric are you using ?
     5) What parameters did you put in the metric ?
     6) Did you already solved the Affine registration before
        starting the BSpline registration ?
     7) What optimizer are you using ?
     8) How many iterations did the optimizer run  ?
     9) How large are the deformations that you are attempting
        to compensate for. ?



5) Your statement that:


     "more nodes don't necessary result in more accurate
      registration due to possible unstable behavior"


    sounds reasonable.


    The regularization capabilities of a Cubic BSpline only cover
    a spatial support of 4x4 (in 2D) grid points. That is, cubic
    BSplines can not regularize farther that that. If you provide
    a too-large number of BSpline grid points, you may end up
    with a grid that have disparate displacements.  This can be
    mitigated by using a multi-resolution approach, where you start
    with a BSpline grid of few nodes, solve the registration, and
    then use the result for initializing a BSpline grid of higher
    resolution (smaller spacing).



    Regards,



        Luis




---------
Eve wrote:
> Hi users,
> 
> I would like some clarifications on using multi-resolution bspline
> registration. In the 2D multi-res bspline-based example#6, the second level
> uses an 8 x 8 node grid (from 5 X 5). This means that more nodes are used,
> and thus, less spacing between control points in the second level. Is it
> always true that the 2nd level uses more nodes (less spacing) in multi-level
> schemes? If so, this seems to be contradicted by a claim in the following
> work:
> 
> "ITK Implementation of Deformable Registration Methods for Time-varying (4D)
> Imaging Data"
> 
> available at
> http://spiedl.aip.org/getpdf/servlet/GetPDFServlet?filetype=pdf&id=PSISDG00614100000161412J000001&idtype=cvips&prog=normal
> 
> The claim says: "the spacing between the control points is increased by a
> factor of 2 [at the second level]" (p. 5)
> 
> Some other questions:
> 
> 1. Are there heuristics of determining the optimal choice of 1) # of nodes
> and 2) # of levels for nD-image? 
> 
> 2. I tried a 2-level scheme, where in the 2-level, I input finer-sampled
> images. Despite the change in resolution and more parameters (nodes), there
> is no change in the deformation (though the metric did changed, and that 1st
> level computed deformation was suboptimal)? I also tried decreasing the
> number of nodes (due to the scheme in aforementioned paper), with the same
> result. Is this reasonable?
> 
> 3. Is it correct that more nodes don't necesary result in more accurate
> registration due to possible unstable behaviour?
> 
> Thanks in advance,
> Eve


More information about the Insight-users mailing list