[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