[ITK] Redudancy in LevelSetBase hierarchy

Dženan Zukić dzenanz at gmail.com
Wed Jun 22 06:30:47 EDT 2016


Hans, I think you were involved with refactoring registration framework for
V4. Can you pitch in?

Regards

On Sat, Jun 11, 2016 at 1:24 AM, David S. Paik (Elucid Bioimaging) <
david.paik at elucidbio.com> wrote:

> I am going through the level set v4 classes in 4.9.1 and I noticed a few
> things.
>
> In itk::LevelSetBase
>
> -  EvaluateMeanCurvature( const InputType& iP ) is declared pure virtual
> (.h line 75) but a definition is provided (.hxx line 88).  While
> syntactically permissible, this seems more likely an oversight rather than
> an intentional design. (see below)
>
> - Both versions of EvaluateLaplacian are pure virtual even though they
> could be computed at this point in the hierarchy as the trace of the
> Hessian matrix.  This is analogous to how EvaluateGradientNorm is
> calculated even though EvaluateGradient is still pure virtual in this
> class. (see below)
>
>
> In itk::DiscreteLevelSetImage
>
> - EvaluateLaplacian (both versions) do their own redundant calculation of
> second derivatives even though they may have already been calculated in the
> Hessian matrix.  There’s probably a design tradeoff between redundantly
> computing the Laplacian (as it is now) vs. Laplacian triggering a full
> Hessian computation even if the off diagonal elements of the Hessian are
> not used.  One possibility is to check to see if Hessian has been computed
> and if so use it but not trigger a full Hessian computation.
>
> - EvaluateMeanCurvature (both versions) override itk::LevelSetBase’s
> version but they appear to be exactly the same.  The virtual function calls
> should work from the base class.  Not a bug but this seems to be an
> unnecessary redundancy.  Am I missing something?
>
>
> David
>
> _______________________________________________
> Community mailing list
> Community at itk.org
> http://public.kitware.com/mailman/listinfo/community
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/community/attachments/20160622/a914d049/attachment.html>


More information about the Community mailing list