[Insight-users] Design Issues: Registration, Pointset's,
and multivalued cost functions
Daniel Mace
dlm19 at duke.edu
Thu Apr 5 11:33:14 EDT 2007
All,
I'm been trying to implement a point set to point set image registration
but I've come to the realization that the design and class hierarchy of
the registration framework is preventing me from implementing what I
thought would be a rather trivial solution.
My problem arises from the fact that I need to implement a variant of
the Directed Hausdorff distance as a scoring metric. Naturally, the
hausdorff distance is a point set to point set metric so I extended the
underlying PointSetToPointSetMetric. Herein lies the problem. The
underlying PointSetToPointSetMetric extends the
MultivaluedCostFunction. The Hausdorff distance is a simple max-min
single valued cost function. I decided therefore to create a modified
PointSetToPointSetMetric class that doesn't extend the
MultivaluedCostFunction only to find that the
PointSetToPointSetRegistrationMethod class only takes metrics that are
derived from the MultivaluedCostFunction. Which puts me in a bit of a
bind. The resulting solution I have to this problem is a rather ugly
one: multiple wrapper classes around both the optimizer classes as well
as my scoring metric to allow it to be coupled into the
PointSetToPointSetRegistrationMethod while still preserving the
underlying single valued cost function (or just entirely rewrite a
derived PointSetToPointSetRegistration method that isn't tied to
multivalued metrics).
After poking around at the other metric classes and registration
methods, I noticed that many of them assume strict couplings with the
scoring metric. As my experience has shown, I'm not sure this is the
best design issue. There are pointset to pointset metrics that should
be single valued metrics that cannot under the current design. I also
have an Image to Image problem where I embedded both the metric and the
loss function into the metric as I was restricted to single valued
metrics. I'm not entirely sure how easy it would be to remove the
coupling of single/multi valued cost functions from these methods, but I
think in its current state it is providing a broad generalization of the
underlying problem that is not always correct.
Cheers,
Dan
More information about the Insight-users
mailing list