[Insight-users] Re: BSpline deformable transform
Luis Ibanez
luis . ibanez at kitware . com
Mon, 08 Dec 2003 22:56:30 -0500
Hi Jesse,
You may want to start by reading the documentation of
the BSplineDeformableTransform class in
http://www . itk . org/Insight/Doxygen/html/classitk_1_1BSplineDeformableTransform . html
Then look at the testing file in
Insight/Testing/Code/Common/itkBSplineDeformableTransformTest.cxx
Please let us know if you have more specific questions,
Thanks
Luis
-------------------
iajesse wrote:
> Hi Luis,
>
> I want to use BSpline transforms using the basic registration
> framework, can you give me some advice of it?
>
> Thanks
>
> Jesse
>
> */Luis Ibanez <luis . ibanez at kitware . com>/* wrote:
>
> Hi Jesse,
>
> A)
>
> The implementation of FEM in DeformableRegistration is
> note based in a specific paper. It is rather a generalization
> of an approach for deformable registration.
>
> You will find relevant publications about this approach
> in James Gee web page at the GRASP Lab in the University
> of Pennsylvania.
>
> http://www . grasp . upenn . edu/people/gee . html
>
> the bibliography can be found at
>
> http://www . cis . upenn . edu/~gee/grasp+med/bibliography . html
>
>
> In particular you may want to read
>
> J.C. Gee and D.R. Haynor, ¡°Numerical Methods for High
> Dimensional Warps¡±. Chapter in ¡°Brain Warping¡±, ed. A.W.
> Toga, Academic Press, 1998.
>
> J.C. Gee and R.K. Bajcsy, ¡°Elastic Matching: Continuum
> Mechanical and Probabilistic Analysis¡±. Chapter in ¡°Brain
> Warping¡±, ed. A.W. Toga, Academic Press, 1998.
>
>
>
> B)! About the parameters of your configuration file
>
> > % -------------------------------------------
> > % Parameters for the single- or multi-resolution techniques
> > % ---------------------------------------------
> > 4 % Number of levels in the multi-res pyramid ( 1! = single-res)
> > 1 % Highest level to use in the pyramid
> > 4 4 4 % Scaling at lowest level of pyramid
> > 4 4 4 4 % Number of pixels per element
> > 1.e4 1.e4 1.e4 1.e4 % Elasticity (E)
> > 1.e4 1.e4 1.e4 1.e4 % Density x capacity (RhoC)
> > 1 1 1 1 % Image enery scaling (gamma) - sets gradient step size
> > 4 1 1 2 % NumberOfIntegrationPoints
> > 4 4 4 4 % WidthOfMetricRegion
> > 10 10 10 10 % MaximumIterations
>
>
> The Highest level of the pyramid
>
> should be = 4
>
> The level zero is considered to be the coarser subsampling
> while the highest level is the one with higher resolution.
> If you set this to 1 only the levels =0 and =1 will be used
> in the registration.
>
> The scaling for the lowest level of the pyramid should be at
> least equal to 2^(number of levels). That is, for 4 levels
> this scaling value should be at leaset 2^4 = 16.
>
> In this case you will have scaling factors =
>
> Level subsampling factor
> 0 16
> 1 8
> 2 4
> 3 2
> 4 1 = full resolution = original image
>
> You could use 4 levels and start with a subsampled image,
> meaning that you will never use the original full resolution,
> for example:
>
> Level subsampling factor
> 0 64 = scaling at lowest level
> 1 32
> 2 16
> 3 8
> 4 4 not the full resolution
>
>
> The number of pixels per element in your
> configuration file looks fine.
>
> For the parameters of elasticity you may want to use more
> elastic materials in the higher resolutions since you need
> to fit to finer details. The factor should then be a smaller
> number as you go higher in the pyramid, for example:
>
> 1.e4 1.e3 1.e2 1! .e1 % Elasticity (E)
>
> This is a critical parameter in the registration process
> and you will have to fine tune this values. The recomended
> process is to start with a low resolution registration in
> a single level, and fine tune the parameters of this level
> until the images are registered. Only when you succedd to
> register at one level you will be in position for moving
> to the next level. If a level has not converged, there are
> few chances that the next level will compensate.
>
> For the density parameter you may want to
> also reduce the values as you go higher in resolution.
>
> 1.e4 1.e3 1.e2 1.e1 % Density x capacity (RhoC)
>
> Again, note that the final Force/Displacement ratio is
> a combination of the Density and the Elasticity. By
> tunning both parameters you may be over relaxing the
> material,... be sure to prepare a lot of coffee before
> you start tunning these parameters.
>
> ---
>
> You may want to keep the same number of integration points
> at every level of the pyramid. This is related to the method
> used for solving the FEM equations. Something like the following
> line should be ok
>
> 4 4 4 4 % NumberOfIntegrationPoints
>
> Note that this will affect the performance of the FEM solver.
>
> ----
>
> The maximum number of iterations at each level should be tunned
> by running levels incrementally. That is, start by running only
> level zero and do not move to level one until level zero has
> produced acceptable results for the registration.
>
>
>
> C) DeformableRegistration2 doesn't have a parameter file
> because is using a different algorithm, instead of a
> FEM based deformation it is using the Demons algorithm.
> Which minimizes the means squares difference between the
> two images. In order to do multi-resolution here you will
> have to do a bit more of manual work.
>
> You could use the MultiResolution Pyramid objects in order
> to generate the ima! ges at the different levels, then level
> by level register the images and make sure that for the
> next level you provide the resampled moving image of the
> previous level.
>
>
> D) Yes, other approaches for deformable registration are:
>
> - Demons Algorithm as described in (c)
> - BSpline transforms using the basic registration framework
> - Kernel Based transforms also using the basic framework
>
>
>
>
>
> Regards,
>
>
> Luis
>
>
>
>
> ===================
> iajesse wrote:
>
> > Hi Luis,
> >
> > There are some question.
> >
> > 1 which paper is the reference to DeformableRegistration1 ? I
> don;t find
> > it in ITK Guide
> >
> > 2 I made a para file for multiresolutin in
> DeformableRegistration1, I'm
> > not sure it is right? can you help me to check it ?
> >
> > 3 DeformableRegistration2 has no parameter file, if I want to do
> a 3D
> > registration using multiresolutin? how to do next?!
> >
> > 4 are there any other nonrigid registration method in ITK? i.e,
> >
> > D. Rueckert, L. I. Sonoda, D. L. G. Hill, M. O. Leach, and D. J.
> > Hawkes, ``Nonrigid Registration Using Free-Form Deformations:
> > Application to Breast MR Images,"
> >
> > Thanks
> >
> > Jesse
> >
> > Para file for multiresolutin in DeformableRegistration1
> >
> > % Configuration file #1 for DeformableRegistration1.cxx
> > %
> > % This example demonstrates the setup of a basic registration
> > % problem that doest NOT use multi-resolution strategies. As a
> > % result, only on evalue for the parameters between
> > % (# of pixels per element) and (maximum iterations) is necessary.
> > % If you were using multi-resolution, you would have to specify
> > % values for those parameters at each level of the pyramid.
> > %
> > % Note: the paths in the parameters assume you have the traditional
> > % ITK fi! le hierarchy as shown below:
> > % ITK/Insight/Examples/Registration/DeformableRegistration1.cxx
> > % ITK/Insight/Examples/Data/RatLungSlice*
> > % ITK/Insight-Bin/bin/DeformableRegistration1
> > %
> > % -------------------------------------------
> > % Parameters for the single- or multi-resolution techniques
> > % ---------------------------------------------
> > 4 % Number of levels in the multi-res pyramid ( 1! = single-res)
> > 1 % Highest level to use in the pyramid
> > 4 4 4 % Scaling at lowest level of pyramid
> > 4 4 4 4 % Number of pixels per element
> > 1.e4 1.e4 1.e4 1.e4 % Elasticity (E)
> > 1.e4 1.e4 1.e4 1.e4 % Density x capacity (RhoC)
> > 1 1 1 1 % Image enery scaling (gamma) - sets gradient step size
> > 4 1 1 2 % NumberOfIntegrationPoints
> > 4 4 4 4 % WidthOfMetricRegion
> > 10 10 10 10 % MaximumIterations
> > % ---------------------------------------------
> > % Parameters for the registration
> > % ---------------------------------------------
> > 0 0.99 % Similarity metric ( 0=mean sq, 1 =ncc, 2=pattern int,
> > 3=MI,5=demons)
> > 1.0 % Alpha
> > 0 % DescentDirection (1 = max, 0 = min)
> > 0 % DoLineSearch (0=never, 1=always, 2=if needed)
> > 1.e2 % TimeStep
> > 0.5 % Landmark variance
> > 0 % Employ regridding / enforce diffeomorphism ( >=1 -> true)
> > %-------------------------------------
> > % Information about the image inputs
> > %-------------------------------------
> > 191 % Nx (image x dimension)
> > 236 % Ny (image y dimension)
> > 171 % Nz (image z dimension - not used if 2D)
> > Bai.mha % ReferenceFileName
> > Tan.mha % TargetFileName
> > %----------------------------------
> > % The actions below depend on the values of the flags preceding them.
> > % For example, to write out the displacement fields, you have to set
> > % the value of WriteDisplacementFields to 1.
> > %----------------------------------
> > 0 % UseLandmard! s? - read the file name below if this is true
> > - % LandmarkFileName
> > ./My_result % ResultsFileName (prefix only)
> > 1 % WriteDisplacementField?
> > ./My_disp % DisplacementsFileName (prefix only)
> > 0 % ReadMeshFile?
> > - % MeshFileName
> > END
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Tired of spam? Yahoo! Mail has the best spam protection around
> > http://mail . yahoo . com
> >
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail . yahoo . com
>