[Insight-users] Registration limitations : question limitations
Luis Ibanez
luis . ibanez at kitware . com
Thu, 27 Nov 2003 23:21:54 -0500
Hi Robert
1) If this is a read video image taken with a camera,
the notion of spacing is quite ambiguious. If the
image is planar, you could simply callibrate your
camera by setting an object of known dimensions,
acquiring its image and measuring it in pixels.
if you have a 3D scene, then the pixels spacing
only have angular sense,... but then your displacement
of 2mm is also irrelevant...
2) Good, if the illumination paramater don't change
you have better chances of registering your images
using metrics like mean squares or normalized correlation.
3) Please connect a Command/Observer to the optimizer,
This is the best (and probably the only) way of
knowing what's happening during the registration.
Claiming that the registration fails is irrelevant
if you don't track the evolution of the metric values
and the transform parameters.
You can see it this way: you are traveling from Paris
to Berlin. If at the end of your trip you don't get
to Berlin, the obvious question is to look at all your
turns and figuring out when you started to deviate from
the path.
4) Plot the values of the metric as reported by the
observer the noise on the metric as well as its
derivative trend provide the indications on how
fast or slow your optimizer should walk on the
parametric space. It also provides a measure of the
suitability of the ImageMetric for your registration
problem.
5) Translation transform are quite simple, there are
good changes that you could solve this registration
without too much pain.
6) One of the critical parameters in the RegularStep
gradient descent is the Maximum initial step.
Note however that it is measured in physical units,
e.g. millimeters and it only makes sense is you have
set the pixel spacing of your image to a reasonable
value.
7) Initializing the transform to X=0 , Y = 0 translation
should be ok.
8) I missed your answer about the pixel type.
9) A size of 1600 x 1200 is relatively large,
It leads to suspect that your optimization simply
needs more iterations or maybe a larger initial step
for the regular step gradient descent optimizer.
However, you can only regulate this seriously once
you figure out the value of pixel spacing and you
plot the values of the metric provided by the
Command/Observer.
It maybe useful if you describe the type of scene
that you are capturing in your image and how in this
scene you apply a translation of 2mm.
Regards
Luis
------------------------------
Robert-Paul Buitendijk wrote:
> Hi Luis
>
>
>>For example, what is the pixel spacing of the images ?
>
> Ho can i find out what it is
>
>
>>Did the illumination parameters changed between the acquisition
>>of the two images ?
>
> Didn't change..... foto's were shot whithin a minute
>
>
>>Did you connect an itk::Command observer to the optimizer ?
>
> Nope
>
>
>>Did you try plotting the metric values versus optimizer iterations ?
>
> Nope
>
>
>>What transform are you using ?
>
> TranslationTransform
>
>
>>What optimizer are you using ?
>
> RegularStepGradient
>
>
>>What values did you provide for the initialization of the transform ?
>
> x and y translation are 0
>
>
>>What is the pixel type of the images ?
>
>
>>What is the size of the images in pixels ?
>
> 1600x1200
>
> Tnx
> Robert
>
>
>