[Insight-users] Xcode and ITK Chan Vese LevelSet Method 2076 errors at compilation

Luis Ibanez luis.ibanez at kitware.com
Sat Feb 19 17:02:50 EST 2011


Hi Ella,

A) You should configure ITK with the CMake option:

        ITK_USE_FLAT_DIRECTORY_INSTALL

     turned ON (you will find it in the Advanced options)

B) You should turn on ITK_USE_REVIEW


In that way, you only need to provide a single
directory to search for headers to the project
that uses ITK.


     Regards,


          Luis


----------------------------------
On Fri, Feb 18, 2011 at 7:31 AM, Ella Maria Kadas <ella_kadas at yahoo.com>wrote:

> Hi,
>
> I used so far in Xcode at setting the  User Header Search Path the ITK180
> files from Osirix source code, because i am developing a plugin for Osirix,
> and there was no other way that i could include this headers without getting
>  thousands of errors.
>    Now i want to use The Chan And Vese Level Set Segmentation, but it was
> still not in the ITK180 folder from Osirix, so although i copied the headers
> in the ITK180 folder , it seems i am again like at the beginning with 2076
> errors. Is there another way. I tried already compiling
> InsightToolkit-3.20.0 with cmake, but it just wouldn't work with Osirix.
> Thanks,
> Ella
>
> In file included from
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/Algorithms/itkSparseMultiphaseSegmentationLevelSetImageFilter.h:20,
>
>                  from
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/Algorithms/itkSparseMultiphaseLevelSetImageFilter.h:4,
>
>                  from
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkRegionBasedLevelSetFunction.h:7,
>
>                  from
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkScalarLevelSetFunctionBase.h:4,
>
>                  from
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkScalarChanAndVeseLevelSetFunction.h:4,
>
>                  from
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ChanVese.h:38,
>
>                  from
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ChanVese.m:9:
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.h:135:
> error: wrong number of template arguments (3, should be 2)
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/Common/itkMultiphaseFiniteDifferenceImageFilter.h:119:
> error: provided for 'template<class TInputImage, class TOutputImage> class
> itk::MultiphaseFiniteDifferenceImageFilter'
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.h:140:
> error: wrong number of template arguments (3, should be 2)
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/Common/itkMultiphaseFiniteDifferenceImageFilter.h:119:
> error: provided for 'template<class TInputImage, class TOutputImage> class
> itk::MultiphaseFiniteDifferenceImageFilter'
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.h:146:
> error: 'Superclass' is not a class or namespace
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.h:156:
> error: 'Superclass' is not a class or namespace
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.h:157:
> error: 'Superclass' is not a class or namespace
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.h:158:
> error: 'Superclass' is not a class or namespace
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.h:159:
> error: 'Superclass' is not a class or namespace
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.h:160:
> error: 'Superclass' is not a class or namespace
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.h:161:
> error: 'Superclass' is not a class or namespace
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.h:163:
> error: 'Superclass' is not a class or namespace
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.h:164:
> error: 'Superclass' is not a class or namespace
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.h:165:
> error: 'Superclass' is not a class or namespace
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.h:166:
> error: 'Superclass' is not a class or namespace
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.h:167:
> error: 'Superclass' is not a class or namespace
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.h:168:
> error: 'OutputImageType' is not a class or namespace
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.h:169:
> error: 'Superclass' is not a class or namespace
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.h:170:
> error: 'Superclass' is not a class or namespace
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.h:171:
> error: 'OutputImageType' is not a class or namespace
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.h:176:
> error: 'Superclass' is not a class or namespace
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/Common/itkConstNeighborhoodIterator.h:
> In instantiation of 'itk::ConstNeighborhoodIterator<int,
> itk::ZeroFluxNeumannBoundaryCondition<int> >':
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/Common/itkNeighborhoodIterator.h:213:
>   instantiated from 'itk::NeighborhoodIterator<int,
> itk::ZeroFluxNeumannBoundaryCondition<int> >'
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkSparseFieldLevelSetImageFilter.h:73:
>   instantiated from
> 'itk::SparseFieldCityBlockNeighborList<itk::NeighborhoodIterator<int,
> itk::ZeroFluxNeumannBoundaryCondition<int> > >'
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.h:257:
>   instantiated from here
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/Common/itkConstNeighborhoodIterator.h:55:
> error: 'int' is not a class, struct, or union type
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/Common/itkConstNeighborhoodIterator.h:
> In instantiation of 'itk::ConstNeighborhoodIterator<int,
> itk::ZeroFluxNeumannBoundaryCondition<int> >':
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/Common/itkNeighborhoodIterator.h:213:
>   instantiated from 'itk::NeighborhoodIterator<int,
> itk::ZeroFluxNeumannBoundaryCondition<int> >'
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkSparseFieldLevelSetImageFilter.h:73:
>   instantiated from
> 'itk::SparseFieldCityBlockNeighborList<itk::NeighborhoodIterator<int,
> itk::ZeroFluxNeumannBoundaryCondition<int> > >'
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.h:257:
>   instantiated from here
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/Common/itkConstNeighborhoodIterator.h:508:
> error: 'int' is not a class, struct, or union type
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.h:268:
> error: 'OutputImageType' is not a class or namespace
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.h:
> In member function 'void
> itk::MultiphaseSparseFieldLevelSetImageFilter<TInputImage, TOutputImage,
> TFunction>::SetFunctionCount(unsigned int)':
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.h:427:
> error: invalid use of qualified-name '::SetFunctionCount'
>
> In file included from
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.h:450,
>
>                  from
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/Algorithms/itkSparseMultiphaseSegmentationLevelSetImageFilter.h:20,
>
>                  from
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/Algorithms/itkSparseMultiphaseLevelSetImageFilter.h:4,
>
>                  from
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkRegionBasedLevelSetFunction.h:7,
>
>                  from
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkScalarLevelSetFunctionBase.h:4,
>
>                  from
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkScalarChanAndVeseLevelSetFunction.h:4,
>
>                  from
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ChanVese.h:38,
>
>                  from
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ChanVese.m:9:
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.txx:
> In member function 'typename
> itk::MultiphaseSparseFieldLevelSetImageFilter<TInputImage, TOutputImage,
> TFunction>::TimeStepType
> itk::MultiphaseSparseFieldLevelSetImageFilter<TInputImage, TOutputImage,
> TFunction>::CalculateChange()':
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.txx:21:
> error: 'Superclass' is not a class or namespace
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.txx:21:
> error: expected initializer before 'df'
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.txx:26:
> error: 'Superclass' is not a class or namespace
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.txx:26:
> error: expected initializer before 'offset'
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.txx:30:
> error: 'df' was not declared in this scope
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.txx:51:
> error: no matching function for call to 'itk::NeighborhoodIterator<int,
> itk::ZeroFluxNeumannBoundaryCondition<int> >::SetLocation(const int&)'
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/Common/itkConstNeighborhoodIterator.h:351:
> note: candidates are: void itk::ConstNeighborhoodIterator<TImage,
> TBoundaryCondition>::SetLocation(const
> itk::Index<itk::ConstNeighborhoodIterator<TImage,TBoundaryCondition>::Dimension>&)
> [with TImage = int, TBoundaryCondition =
> itk::ZeroFluxNeumannBoundaryCondition<int>]
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.txx:57:
> error: 'class itk::NeighborhoodIterator<int,
> itk::ZeroFluxNeumannBoundaryCondition<int> >' has no member named
> 'GetCenterPixel'
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.txx:66:
> error: 'class itk::NeighborhoodIterator<int,
> itk::ZeroFluxNeumannBoundaryCondition<int> >' has no member named 'GetNext'
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.txx:67:
> error: 'class itk::NeighborhoodIterator<int,
> itk::ZeroFluxNeumannBoundaryCondition<int> >' has no member named
> 'GetPrevious'
>
> /Users/ellaK/osirix/osirixplugins/_help/LesionDetection/ITK180/Code/BasicFilters/itkMultiphaseSparseFieldLevelSetImageFilter.txx:77:
> error: 'offset' was not declared in this scope
>
> /
>
>
> _____________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://www.kitware.com/products/protraining.html
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20110219/00f5d2c3/attachment.htm>


More information about the Insight-users mailing list