[Insight-users] Narrow band to image registration
Luis Ibanez
luis.ibanez at kitware.com
Thu May 27 16:22:48 EDT 2004
Hi Eduard,
In order to use the KerneSpline transform
you need to provide a two sets of landmarks.
One set will be associated to the undeformed
image while the other set is associated to
the deformed image.
Currently this transform does not provides
Jacobians, so you will have to use it with an
optimizer that does not require derivatives of
the cost function. Probably the best option is
the OnePlusOne evolutionary algorithm.
You may find useful to take a look at the
morphing example:
Insight/Examples/Registration/
LandmarkWarping2.cxx
that will give you some guidance on how to
setup a KernelTransform.
Regards,
Luis
--------------------------
Eduard Schreibmann wrote:
> The translation transform works fine, and it can find now the correct
> displacement. It seems also that the affine transform works fine, but would
> like to test also the kernel splines, as you suggested. The deformation is
> quite high because the image is taken with an inserted probe that deforms
> all organs around.
>
> What steps should I do to connect a kernel splines transform, what is the
> scenario ?
>
> Thank you in advance,
> Edi
>
>
> Quoting Luis Ibanez <luis.ibanez at kitware.com>:
>
>
>>Hi Eduard,
>>
>>
>>1) Won't be able to help you with the code
>> that doesn't work... unless you tell us
>> what happens when you run it:
>>
>> - does it crash ?
>> - does it aborts ?
>> - does it runs indefinitely ?
>>
>> a bit more information may be useful :-)
>>
>>
>>2) The Kernel Splines simply use the point
>> pairs in order to define Vectors, then
>> interpolates those vectors in space.
>> You can think of it just as the BSpline
>> deformable transform: A mechanism for
>> representing a deformation field.
>>
>> More details on how this transforms work
>> are available at:
>>http://www.itk.org/Insight/Doxygen/html/classitk_1_1KernelTransform.html
>>
>> and of course in the original paper
>>
>> IEEE TMI, Vol. 16, No. 3 June 1997
>> Davis, Khotanzad, Flamig, and Harms,
>>
>>
>>
>>3) If you MRI image is hightly inhomogeneous, you
>> should apply first the correction method in
>>
>> InsightApplications/MRIBiasCorrection
>>
>> You will find instructions in the README
>> file in that directory.
>>
>>
>>
>>4) You can choose any image as the fixed
>> or moving image. That shouldn't be a
>> problem. The fundamental fact is that
>> whatever you choose as the fixed image,
>> that's the one you will have to segment
>> in order to produce a PointSet representing
>> the narrow band.
>>
>>
>>5) For quantifying the deformation field and
>> the quality of the registration, the easiest
>> thing to do is to load all of them in ParaView.
>>
>> you can download sources and binaries of
>> ParaView for free at:
>>
>> http://www.paraview.org
>>
>> by overlaping the deformation field to the
>> fixed and moving images you can visually
>> verify the correctness of the deformation.
>>
>> Once the results are visually satisfactory,
>> you could move to other ways of quantifying
>> registration quality.
>>
>>
>>
>>
>>Regards,
>>
>>
>>
>> Luis
>>
>>
>>
>>--------------------------
>>Eduard Schreibmann wrote:
>>
>>
>>>First of all, thank you for your fast replay and hints. Did changes as
>>
>>you
>>
>>>said, seems to be ok as code, does not work in tests for some reason.
>>>
>>>There are two theoretical things that are not clear
>>>
>>>
>>>
>>>> I'll strongly suggest you to start with an AffineTransform
>>>> and if that proves to be insufficient then try the KernelSplines.
>>>
>>>
>>>The kernel splines are not supposed to use 2 set of points, or I'm
>>>understanding wrong ? If indeed 2 sets of points are needed, what would
>>
>>be
>>
>>>the second set ?
>>>
>>>
>>>
>>>>b)
>>>>
>>>>There is more information about this method in a paper that
>>>>was submitted to a Journal last year, and you probably will
>>>>be able to read it next year...
>>>>
>>>> Sorry the InsightJournal wasnt' there at the time :-)
>>>>
>>>
>>>
>>>I suppose there isn't any possibility to read the manuscript. I "moved"
>>
>>>recently to the registration stuff, any theoretical info would help a
>>
>>lot.
>>
>>>Or, can have the references list of the manuscript, or some references
>>
>>to
>>
>>>better understand the mathematics behind the code ?
>>>
>>>
>>>
>>>>----------------
>>>>
>>>>d)
>>>>
>>>>Yes the narrow band will work for Fuzzy image, because
>>>>*you* will segment them first :-)
>>>
>>>
>>>The "problem" is that I prefer to have the mask/segmentation on the MRI
>>
>>>image and the fuzzy CT image as moving, otherwise we have to have 2
>>>segmentations :) And the MRI image is also strange, lot of high
>>
>>intensity
>>
>>>pixels near the rectum falling of almost exponentially to some
>>
>>background
>>
>>>like intensities.
>>>
>>>What is better to have as moving image, a fuzzy image or a
>>>highly "inhomogeneous" (as pixel values) image.
>>>
>>>How it is best to measure how good this algorithm is ?
>>>I'm trying to warp the CT image and see how well the registration can
>>>deformed it back. Is there a better way to "quantify" how good the
>>>deformation is, except plotting the convergence or checkboard ?
>>>
>>>
>>>
>>>>Please let us know if you have further questions.
>>>>
>>>
>>>
>>>Thank you bery much for your replays, they really help.
>>>Edi
>>>
>>>
>>
>>
>>
>>
>
>
>
More information about the Insight-users
mailing list