[Debian-med-packaging] Bug#673768: error: 'PropagationSpeed' was not declared in this scope

Johannes Ring johannr at simula.no
Mon May 21 10:16:35 UTC 2012


Package: libinsighttoolkit3-dev
Version: 3.20.1-8

vmtk depends on itk and when trying to build the latest vmtk release,
the build ends with the following error:

In file included from
/usr/include/InsightToolkit/Algorithms/itkCurvesLevelSetImageFilter.h:21:0,
                 from
/tmp/buildd/vmtk-1.0.0/vtkVmtk/Segmentation/vtkvmtkCurvesLevelSetImageFilter.h:36,
                 from
/tmp/buildd/vmtk-1.0.0/vtkVmtk/Segmentation/vtkvmtkCurvesLevelSetImageFilter.cxx:26:
/usr/include/InsightToolkit/Algorithms/itkCurvesLevelSetFunction.h: In
instantiation of 'itk::CurvesLevelSetFunction<TImageType,
TFeatureImageType>::ScalarValueType
itk::CurvesLevelSetFunction<TImageType,
TFeatureImageType>::CurvatureSpeed(const NeighborhoodType&, const
FloatOffsetType&, itk::CurvesLevelSetFunction<TImageType,
TFeatureImageType>::GlobalDataStruct*) const [with TImageType =
itk::Image<float, 3u>; TFeatureImageType = itk::Image<float, 3u>;
itk::CurvesLevelSetFunction<TImageType,
TFeatureImageType>::ScalarValueType = float;
itk::CurvesLevelSetFunction<TImageType,
TFeatureImageType>::NeighborhoodType =
itk::ConstNeighborhoodIterator<itk::Image<float, 3u>,
itk::ZeroFluxNeumannBoundaryCondition<itk::Image<float, 3u> > >;
itk::CurvesLevelSetFunction<TImageType,
TFeatureImageType>::FloatOffsetType = itk::Vector<float, 3u>;
itk::CurvesLevelSetFunction<TImageType,
TFeatureImageType>::GlobalDataStruct =
itk::LevelSetFunction<itk::Image<float, 3u> >::GlobalDataStruct]':
/tmp/buildd/vmtk-1.0.0/vtkVmtk/Segmentation/vtkvmtkCurvesLevelSetImageFilter.cxx:30:470:
  required from here
/usr/include/InsightToolkit/Algorithms/itkCurvesLevelSetFunction.h:102:55:
error: 'PropagationSpeed' was not declared in this scope, and no
declarations were found by argument-dependent lookup at the point of
instantiation [-fpermissive]

Patching itk with the following patch fixes the problem:

diff -Nru insighttoolkit-3.20.1.orig/Code/Algorithms/itkCurvesLevelSetFunction.h
insighttoolkit-3.20.1/Code/Algorithms/itkCurvesLevelSetFunction.h
--- insighttoolkit-3.20.1.orig/Code/Algorithms/itkCurvesLevelSetFunction.h	2012-05-21
11:35:54.903313319 +0200
+++ insighttoolkit-3.20.1/Code/Algorithms/itkCurvesLevelSetFunction.h	2012-05-21
11:38:06.255318757 +0200
@@ -99,7 +99,7 @@
   /** The curvature speed is same as the propagation speed. */
   virtual ScalarValueType CurvatureSpeed(const NeighborhoodType & neighborhood,
                                          const FloatOffsetType &
offset, GlobalDataStruct *gd ) const
-  { return PropagationSpeed( neighborhood, offset, gd ); }
+  { return this->PropagationSpeed( neighborhood, offset, gd ); }

   /** Set/Get the sigma for the Gaussian kernel used to compute the gradient
    * of the feature image needed for the advection term of the equation. */

This patch was also suggested in #667411 [1] but it was not included
in the 3.20.1-8 upload.

Below is also a patch that fixes a few more of the same issue, however
this does not affect the vmtk build.

[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=667411

Thanks,

Johannes

diff -Nru insighttoolkit-3.20.1.orig/Code/Algorithms/itkGeodesicActiveContourShapePriorLevelSetFunction.h
insighttoolkit-3.20.1/Code/Algorithms/itkGeodesicActiveContourShapePriorLevelSetFunction.h
--- insighttoolkit-3.20.1.orig/Code/Algorithms/itkGeodesicActiveContourShapePriorLevelSetFunction.h	2012-05-21
11:35:54.903313319 +0200
+++ insighttoolkit-3.20.1/Code/Algorithms/itkGeodesicActiveContourShapePriorLevelSetFunction.h	2012-05-21
11:43:41.231332621 +0200
@@ -130,7 +130,7 @@
   /** The curvature speed is same as the propagation speed. */
   virtual ScalarValueType CurvatureSpeed(const NeighborhoodType & neighborhood,
                                          const FloatOffsetType &
offset, GlobalDataStruct *gd ) const
-    { return PropagationSpeed( neighborhood, offset, gd ); }
+    { return this->PropagationSpeed( neighborhood, offset, gd ); }

   /** Set/Get the sigma for the Gaussian kernel used to compute the gradient
    * of the feature image needed for the advection term of the equation. */
diff -Nru insighttoolkit-3.20.1.orig/Code/Algorithms/itkShapeDetectionLevelSetFunction.h
insighttoolkit-3.20.1/Code/Algorithms/itkShapeDetectionLevelSetFunction.h
--- insighttoolkit-3.20.1.orig/Code/Algorithms/itkShapeDetectionLevelSetFunction.h	2012-05-21
11:35:54.907313320 +0200
+++ insighttoolkit-3.20.1/Code/Algorithms/itkShapeDetectionLevelSetFunction.h	2012-05-21
11:44:02.031333482 +0200
@@ -103,7 +103,7 @@
   /** The curvature speed is same as the propagation speed. */
   virtual ScalarValueType CurvatureSpeed(const NeighborhoodType & neighborhood,
                                          const FloatOffsetType &
offset, GlobalDataStruct *gd ) const
-  { return PropagationSpeed( neighborhood, offset, gd ); }
+  { return this->PropagationSpeed( neighborhood, offset, gd ); }

   virtual void Initialize(const RadiusType &r)
     {





More information about the Debian-med-packaging mailing list