[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