[Insight-users] Testing Robustness of Registration
Luis Ibanez
luis.ibanez at kitware.com
Sun May 6 12:01:41 EDT 2007
Hi Isabelle,
The CenteredTransformInitializer will set up the
* Center
* Translation
of your transform.
The Center is not part of the set of Parameters,
while the Translation is. This means that when you
set the parameters of the transform, after getting
it from the initializer, you will modify its Translation
but not its center of rotation.
That being said...
The test of robustness that you are referring to is
*purely anecdotic* and it doesn't serve any useful
purpose, other than *to fool the reviewers* who still
participate in the masquerade of the peer-review system
that is still practiced in our domain.
Here are some arguments on why such test of robustness
is useless:
1) The rigid transform has a parametric space of 6 Dimensions
If the point of convergence of the registration is a point Q
in that six-dimensional space, you are trying to illustrate
how large is the region of capture around that 6D point.
The assumption is that you can find all the points P such
that by starting at P in the parametric space, the optimization
will converge to a very close neighborhood of Q.
The loci of all points P could then be considered to be the
area of capture of the registration. The larger this are is,
the more resilient the registration process will be to variations
on the initialization conditions of the transform.
If we look at the Metric as a cost function defined in that 6D
space, you are looking for the watershed that is associated to
the point of convergence Q. The ideal way of finding the region
of capture will be to find the watershed associated to the scalar
value of the image metric in that 6d space.
The assumption above has the flaw that optimizer are not continuous.
They do not follow smooth continuous paths on the parametric space.
Instead, most of the optimizers perform sequences of discrete steps
that create broken paths on the parametric space. Even when the
optimizer is initialized in a point that is inside the capture
region, the optimizer settings such as step length, and number
of iterations, may lead to early termination of the optimization
before the path reaches a neighborhood of the point Q.
You may find interesting to look at the diagram in the ITK Software
Guide,
http://www.itk.org/ItkSoftwareGuide.pdf
that shows how the optimizer parameters and the metric parameters
result in very different paths on the transform parametric space.
See for example figure 8.15 in pdf-page 376. See also the metric
plots, and the plots of translations in the parametric space,
that are shown for most of the registration in that same chapter.
For an illustration of the notion of the capture region in the
metric cost function, you may want to look at the figure 8.46.
As opposed to all the "peer-reviewed" publications, in the ITK
Software Guide you will find the actual code, images and full set
of parameters that were used for generating these plots.
You will also find the instructions for downloading the scripts
that were used for generating the GNUPlot diagrams shown in this
chapter.
Note that the plot in figure 8.46 only explores 2 out of the 6
dimensions that you will have to deal with, in a 3D rigid transform.
This plot is a discretization of that space, (e.g. about 100 x 100 ).
The equivalent plot in a 6D space will require you to do 100^6
samples, that if you store in float numbers will be an 6D image of
400 Megabytes. In order to find the value for each pixel of such
6D image you will need to compute the metric of the two 3D images
for the transform parameters associated to the 6D pixel.
Even if you compute such image, and then run inside it a watershed
from the point Q. That still doesn't guarantee that starting from
any given point P inside the watershed will result in a convergence
to the point Q. The specific settings of the optimizer parameters
may be or may not be appropriate for producing such discretized path.
2) In practice you are suggesting to have a very coarse sampling of
the capture region by providing *some* paths, and based on the
length of those paths, *induce* that the registration has a certain
"degree of robustness".
This is an interesting but still *ANECDOTIC* piece of information.
It is as useful as to tell you that person X has travel through the
Amazonian forest 27 times and has never been bitten by a snake.
That doesn't mean much, regarding the chances of person Y to make
a new trip in the Amazonian forest and being bitten by a snake.
It certainly provides some degree of *psychological comfort* to be
able to report that you have run the registration under a variety
of perturbed conditions and yet achieved convergence. But, that's
the only thing it is.... "psychological comfort". Because the number
of perturbed conditions that you will be able to explore will be
infinitesimally small compared to the number of potential paths
in the 6D space that surrounds point Q in the parametric space.
It is still a piece of information that will looks nice in typical
decadent journal, and it will be comic to see reviewers buying into
it. Since they never perform the reproduction of the experiments,
they won't realize how useless and insignificant such measure
of robustness will be.
The measure may only start being significant if you manage to
perform a dense-enough sampling of the 6D parametric space, and
to mathematically evaluate the coverage of such sampling.
E.g.
A sampling that covers the equivalent of 60% of the parametric
space at a range of +/- 100mm of translations and +/- 10 degrees
of otation.
Now,... even if you manage to cover a large fraction of the
parametric space you would have done so with only
*ONE SPECIFIC PAIR of IMAGES*
as the input of the image metric. The result can't hardly be
extrapolated to *other images*, e.g. image with bias field,
with other dynamic ranges of intensity, with other pixel spacing,
with different levels of noise.
3) As Richard Feynman put it:
"It is very hard to actually *know* something"
Our imaging community is *very lax* when it comes to differentiate
the *appearance* of knowledge from the actual *posession* of
knowledge.
Please don't be fooled by the many things that you see
in Journals and Conference papers. Keep in mind that
most of it has been published with the sole purpose of
providing material for academic promotions and to fill-up
established yearly quotas for intellectual production.
As a reader, and actual practitioner of the imaging arts
you ought to be *more critical* and exigent when it comes
to the deduce / induce information from what other report
in venues that do not require to demonstrate reproducibility.
Regards,
Luis
--------------------
IsabelleNg wrote:
> Thank you Karthik for your reply.
>
> I just realize that I omitted some info. I am using an centered-initializer
> to initialize the transform (rigid 3d). In this case, would the following be
> a valid sequence?
>
> rigidTransform->SetIdentity();
> resampler->SetTransform( randomXform );
> initializer->SetMovingImage( resample->Getoutput() );
> initializer->SetTransform( rigidTransform );
>
> registration->SetInitialTransformParameters( rigidTransform->GetParameters()
> )
>
> Thanks again,
> Isabelle
>
>
>
>
>
> Karthik Krishnan-2 wrote:
>
>>On 5/4/07, IsabelleNg <isabelleNg at homeworking.org> wrote:
>>
>>>
>>>ITK-users,
>>>
>>>I wish to test one of the registration algorithm by applying random
>>>transformations to the moving image. This is often done in papers that
>>>report registration results as tests of robustness and capture range. Is
>>>it
>>>valid to perform these tests by simply initializing the transform with
>>>random numbers? i..e by calling
>>>
>>>registration->SetInitialTransformationParameters( randomXform)?
>>
>>
>>Hi Isabelle
>>
>>Yes. It is identical.
>>
>>Or, do we actually need to physically write out the randomly misaligned
>>
>>>images and then feed back into the algorithm?
>>>
>>>How would results differ with these 2 approaches?
>>
>>
>>There wouldn't be a difference. There would be a marginal difference
>>depending on the transform used to resample the moving image before
>>writing
>>to the disk. In the first case, the initial transform is the same as the
>>one
>>used for registration.
>>
>>
>>--
>>Karthik Krishnan
>>R&D Engineer,
>>Kitware Inc.
>>
>>_______________________________________________
>>Insight-users mailing list
>>Insight-users at itk.org
>>http://www.itk.org/mailman/listinfo/insight-users
>>
>>
>
>
More information about the Insight-users
mailing list