[Insight-developers] Adding and External Module: Lesion Sizing Toolkit

Bill Lorensen bill.lorensen at gmail.com
Mon Jun 20 11:37:30 EDT 2011


I decided to try the instructions to add an external module:
http://itk.org/Wiki/ITK_Release_4/Modularization/Add_an_external_module_%28external_module%29
and followed further instructions to add the Lesion Sizing Toolkit as
an external module:
http://public.kitware.com/LesionSizingKit/index.php/Users/Build_LST_as_ITK_module

The process worked great! As instructed I:
cd ITK/Modules/External
git clone git://public.kitware.com/LesionSizingToolkit.git

Then I ran cmake and make. The toolkit was discovered and built.

So far, I have found a couple of problems, not with the process, but
with LST itself.

1) I think there is an incorrect test dependency.
SET_TESTS_PROPERTIES( itkGeodesicActiveContourLevelSetSegmentationModuleTest1
  PROPERTIES DEPENDS itkConfidenceConnectedSegmentationModuleTest1)
should be:
SET_TESTS_PROPERTIES( itkGeodesicActiveContourLevelSetSegmentationModuleTest1
  PROPERTIES DEPENDS itkConfidenceConnectedSegmentationModuleTest1
itkGradientMagnitudeSigmoidFeatureGeneratorTest1)

also
SET_TESTS_PROPERTIES( itkShapeDetectionLevelSetSegmentationModuleTest1
  PROPERTIES DEPENDS itkConfidenceConnectedSegmentationModuleTest1
itkGradientMagnitudeSigmoidFeatureGeneratorTest1)

2) These files do not exist and some tests fail
LesionSizingToolkit/Data/Baseline/CannyEdgeDetectionImageFilterTest4_1.mha
LesionSizingToolkit/Data/Baseline/CannyEdgeDetectionImageFilterTest5_1.mha
LesionSizingToolkit/Data/Baseline/CannyEdgeDetectionImageFilterTest6_1.mha

3) I found an iterator bug while running this test:
itkRegionCompetitionImageFilterTest1
8: /usr/lib/gcc/i686-redhat-linux/4.4.5/../../../../include/c++/4.4.5/debug/safe_iterator.h:175:
8:     error: attempt to dereference a past-the-end iterator.
8:
8: Objects involved in the operation:
8: iterator "this" @ 0x0xbfece8a0 {
8: type = N11__gnu_debug14_Safe_iteratorIN9__gnu_cxx17__normal_iteratorIPKmNSt6__norm6vectorImSaImEEEEENSt7__debug6vectorImS7_EEEE
(constant iterator);
8:   state = past-the-end;
8:   references sequence with type `NSt7__debug6vectorImSaImEEE' @ 0x0xbfece8a0

I'll have to track it down later. My ITK build uses these flags to
detect stl errors.
CMAKE_CXX_FLAGS:STRING=-Wall -Wshadow -Wcast-qual -Wno-deprecated
-D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC -fstack-protector

Finally,
4) The test itkFastMarchingSegmentationModuleTest1-PartSolidLesion1
ran over night and never completed.

Hope this helps,

Bill


More information about the Insight-developers mailing list