Page MenuHomePhabricator

TotalVariationFilter used in BasicImageProcessing is internal
Closed, ResolvedPublic

Description

After removing internal dependencies in Cmake, BasicImageProcessing does not link any more. Clear, because TotalVariationImageFilter is internal.

There was no problem before until I changed this line in CMakeLists.txt:
From: MACRO_CREATE_MITK_PLUGIN(MitkSB MitkSB QmitkExt MitkDiffusionImagingMBI) To: MACRO_CREATE_MITK_PLUGIN(QmitkExt MitkDiffusionImaging)

I will revert these changes for the sake of a green dashboard.

But, Marco: How could the external Continuous DartClient have ever linked against the internal libraries???

Klaus, please have a look at this.

Event Timeline

Okay, bad documentation.
SVN Rev. 19899 (and Rev. 19900) show the problem.

Removing the internal dependencies (in 19899) of BasicImageProcessing (public MITK)lead to a (correct) error:
/QmitkBasicImageProcessingView.cpp:61:51: error: itkTotalVariationDenoisingImageFilter.h: No such file or directory

This is correct because itkTotalVariationDenoisingImageFilter.h is in \mbi-sb\Core\Algorithms.

Windows does not show this error.

No idea how this can work, external dependencies to MitkSB should crash, I would suppose.

I would suggest moving all filters to the public repository. Seven files are affected:

/mbi-sb/Core/Algorithms:

  • itkLocalVariationImageFilter.h
  • itkLocalVariationImageFilter.txx
  • itkTotalVariationDenoisingImageFilter.h
  • itkTotalVariationDenoisingImageFilter.txx
  • itkTotalVariationSingleIterationImageFilter.h
  • itkTotalVariationSingleIterationImageFilter.txx

mbi-sb/Testing

  • itkTotalVariationDenoisingImageFilterTest.cpp

They should be moved to

mitk/Core/Code/Algorithms and mitk/Core/Code/Testing respectively.

Could you please also open a new bug, that someone submits this filter to ITK?

I am working on this. Code and documentation is all lined up, just need some time to write a little paper for the Insight-Journal.

Bug created (#2932)

[SVN revision 20061]
FIX (#2849): moved to from sandbox to core

[SVN revision 20062]
FIX (#2849): removed unneccessary dependencies to sandbox

Linux machines don't like the test and bring up some singular matrix error.. trying to resolve this.

[SVN revision 20063]
COMP (#2849): Fixed itkTotalVariationDenoisingImageFilterTest.cpp spacing errors

Seems to work.
Let's check tomorrows dart client, then close.

just discussed this with tobi: the MACRO_CREATE_MITK_PLUGIN checks whether the necessary modules exist. If they don't exist, like in the open source version, the bundle is not build and a configure warning is issued which should appear on the dashboard.

Just found it:
Warning: org.mitk.gui.qt.basicimageprocessing is missing requirements and won't be built. Missing: MitkSB;MitkDiffusionImagingMBI

Merging "applicazion modules" component with "ExtApp plugins"