[Insight-users] compilation error when using itkMultiLabelSTAPLEImageFilter in ITK 4.5
Bill Lorensen
bill.lorensen at gmail.com
Wed Feb 5 11:48:04 EST 2014
If you look in
Modules/Core/Common/include/itkConceptCheking.h at line 749 you will
see the error is coming from the Concept: /** Concept requiring T to
be an unsigned integer. */
This teels you that this filter wants the image to have an unsigned pixel type.
If you change:
typedef itk::Image< short, Dimension > ShortImageType;
to
typedef itk::Image< unsigned short, Dimension > ShortImageType;
the code should compile.
On Wed, Feb 5, 2014 at 11:25 AM, francois rousseau <rousseau at unistra.fr> wrote:
> Hi everyone,
>
> I've tried to use the itkMultiLabelSTAPLEImageFilter and it appears that,
> even without trying to "run" it, something went wrong for the complier
> (clang or gcc). I'm using ITK4.5
>
> Here is a sample of the code :
>
> //ITK declaration
>
> const unsigned int Dimension = 3;
>
> typedef itk::Image< short, Dimension > ShortImageType;
>
>
> typedef itk::MultiLabelSTAPLEImageFilter< ShortImageType >
> STAPLEFilterType;
>
> typedef STAPLEFilterType::Pointer STAPLEFilterPointer;
>
>
> typedef ShortImageType::Pointer ShortImagePointer;
>
>
> STAPLEFilterPointer filter = STAPLEFilterType::New();
>
>
> and the compiler message :
>
>
> In file included from
> /Users/rousseau/Code/src/InsightToolkit-4.5.0/Modules/IO/ImageBase/include/itkImageFileReader.h:22:
> In file included from
> /Users/rousseau/Code/src/InsightToolkit-4.5.0/Modules/IO/ImageBase/include/itkImageIOBase.h:26:
> In file included from
> /Users/rousseau/Code/src/InsightToolkit-4.5.0/Modules/Core/Common/include/itkImageIORegion.h:24:
> In file included from
> /Users/rousseau/Code/src/InsightToolkit-4.5.0/Modules/Core/Common/include/itkImageRegion.h:34:
> In file included from
> /Users/rousseau/Code/src/InsightToolkit-4.5.0/Modules/Core/Common/include/itkContinuousIndex.h:22:
> In file included from
> /Users/rousseau/Code/src/InsightToolkit-4.5.0/Modules/Core/Common/include/itkIndex.h:23:
> In file included from
> /Users/rousseau/Code/src/InsightToolkit-4.5.0/Modules/Core/Common/include/itkMath.h:33:
> /Users/rousseau/Code/src/InsightToolkit-4.5.0/Modules/Core/Common/include/itkConceptChecking.h:749:17:
> error: no viable conversion from 'UniqueType_bool<true>' to
> 'UniqueType_bool<(Self::Unsigned)>'
> UnsignedT a = TrueT();
> ^ ~~~~~~~
> /Users/rousseau/Code/src/InsightToolkit-4.5.0/Modules/Core/Common/include/itkConceptChecking.h:755:3:
> note: in instantiation of member function
> 'itk::Concept::IsUnsignedInteger<short>::Constraints::constraints' requested
> here
> itkConceptConstraintsMacro();
> ^
> /Users/rousseau/Code/src/InsightToolkit-4.5.0/Modules/Core/Common/include/itkConceptChecking.h:62:36:
> note: expanded from macro 'itkConceptConstraintsMacro'
> typedef Enforcer< & Constraints::constraints > EnforcerInstantiation
> ^
> /Users/rousseau/Code/src/InsightToolkit-4.5.0/Modules/Segmentation/LabelVoting/include/itkMultiLabelSTAPLEImageFilter.hxx:229:9:
> note: in instantiation of member function
> 'itk::MultiLabelSTAPLEImageFilter<itk::Image<short, 3>,
> itk::Image<short, 3>,
> float>::InitializeConfusionMatrixArrayFromVoting' requested here
> this->InitializeConfusionMatrixArrayFromVoting();
> ^
> /Users/rousseau/Code/src/InsightToolkit-4.5.0/Modules/Segmentation/LabelVoting/include/itkMultiLabelSTAPLEImageFilter.h:128:15:
> note: in instantiation of member function
> 'itk::MultiLabelSTAPLEImageFilter<itk::Image<short, 3>,
> itk::Image<short, 3>, float>::GenerateData' requested here
> itkNewMacro(Self);
> ^
> /Users/rousseau/Code/src/InsightToolkit-4.5.0/Modules/Core/Common/include/itkMacro.h:142:21:
> note: expanded from macro 'itkNewMacro'
> itkSimpleNewMacro(x) \
> ^
> /Users/rousseau/Code/src/InsightToolkit-4.5.0/Modules/Core/Common/include/itkMacro.h:152:22:
> note: expanded from macro 'itkSimpleNewMacro'
> smartPtr = new x; \
> ^
> /Users/rousseau/Code/src/fbrain/Utilities/btkSTAPLE.cxx:80:50: note: in
> instantiation of member function
> 'itk::MultiLabelSTAPLEImageFilter<itk::Image<short, 3>, itk::Image<short,
> 3>, float>::New' requested here
> STAPLEFilterPointer filter = STAPLEFilterType::New();
> ^
> /Users/rousseau/Code/src/InsightToolkit-4.5.0/Modules/Core/Common/include/itkConceptChecking.h:112:8:
> note: candidate constructor (the implicit copy constructor) not viable: no
> known conversion from 'TrueT' (aka 'UniqueType_bool<true>')
> to 'const itk::Concept::Detail::UniqueType_bool<false> &' for 1st
> argument
> struct UniqueType_bool {};
> ^
> 1 error generated.
>
>
> Any idea ?
>
> thank you
> françois
>
>
>
>
>
>
> _____________________________________
> 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.php
>
> 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
>
--
Unpaid intern in BillsBasement at noware dot com
More information about the Insight-users
mailing list