[ITK-users] Deformable registration of RGB image

artioml artioml at post.bgu.ac.il
Sat Feb 13 01:53:45 EST 2016


Hello,

I try to perform B-Spline deformable registration of RGB images. I found a
test named 'itkMeanSquaresImageToImageMetricv4VectorRegistrationTest', which
uses itkVectorImageToImageMetricTraitsv4.

I tried to edit DeformaleRegistration7 example and replaced the lines that
defines image and metric to:

...

  const    unsigned int    ImageDimension = 2;
  //typedef  float           PixelType;
  typedef itk::Vector<float, 3>   PixelType;

  typedef itk::Image< PixelType, ImageDimension >  FixedImageType;
  typedef itk::Image< PixelType, ImageDimension >  MovingImageType;

...

  typedef itk::Image< float, ImageDimension>  VirtualImageType;
  typedef itk::VectorImageToImageMetricTraitsv4< FixedImageType,
MovingImageType, VirtualImageType, PixelType::Length> MetricTraitsType;
  typedef itk::MeanSquaresImageToImageMetricv4 < FixedImageType,
MovingImageType, VirtualImageType, float, MetricTraitsType >  MetricType;
  typedef MetricType::FixedSampledPointSetType  PointSetType;


When i try to compile the code I get a really long error message, I will put
it bellow.
Any idea how can I fix it? Is it possible to perform deformable registration
on vector images?

Thank you!

In file included from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkLightObject.h:21:0,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkObject.h:31,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkDataObject.h:31,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkProcessObject.h:31,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/RegistrationMethodsv4/include/itkImageRegistrationMethodv4.h:21,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:1:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkConceptChecking.h:
In instantiation of ‘struct
itk::Concept::IsFloatingPoint<itk::Vector<double, 3u> >’:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkDefaultImageToImageMetricTraitsv4.h:146:3:  
required from ‘class
itk::DefaultImageToImageMetricTraitsv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double>’
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkImageToImageMetricv4.h:291:60:  
required from ‘class
itk::ImageToImageMetricv4<itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, itk::Image<itk::Vector<float,
3u>, 2u>, double,
itk::DefaultImageToImageMetricTraitsv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double> >’
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/RegistrationMethodsv4/include/itkImageRegistrationMethodv4.h:184:71:  
required from ‘class
itk::ImageRegistrationMethodv4<itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u> >’
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:99:19:  
required from here
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkMacro.h:699:53:
error: ‘is_integer’ is not a member of
‘itk::NumericTraits<itk::Vector<double, 3u> >’
 #define itkStaticConstMacro(name, type, value) enum { name = value }
                                                     ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkConceptChecking.h:782:3:
note: in expansion of macro ‘itkStaticConstMacro’
   itkStaticConstMacro(Integral, bool, NumericTraits< T >::is_integer);
   ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkMacro.h:699:53:
error: ‘is_exact’ is not a member of
‘itk::NumericTraits<itk::Vector<double, 3u> >’
 #define itkStaticConstMacro(name, type, value) enum { name = value }
                                                     ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkConceptChecking.h:783:3:
note: in expansion of macro ‘itkStaticConstMacro’
   itkStaticConstMacro(IsExact, bool, NumericTraits< T >::is_exact);
   ^
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:
In function ‘int main(int, char**)’:
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:102:49:
error: no matching function for call to
‘itk::ImageRegistrationMethodv4<itk::Image<itk::Vector<float, 3u>,
2u>, itk::Image<itk::Vector<float, 3u>, 2u>
>::SetMetric(itk::MeanSquaresImageToImageMetricv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>, itk::Image<float, 2u>,
float,
itk::VectorImageToImageMetricTraitsv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>, itk::Image<float, 2u>,
3u> >::Pointer&)’
   registration->SetMetric(        metric        );
                                                 ^
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:102:49:
note: candidate is:
In file included from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkLightObject.h:21:0,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkObject.h:31,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkDataObject.h:31,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkProcessObject.h:31,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/RegistrationMethodsv4/include/itkImageRegistrationMethodv4.h:21,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:1:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkMacro.h:963:16:
note: void itk::ImageRegistrationMethodv4<TFixedImage, TMovingImage,
TOutputTransform, TVirtualImage,
TPointSet>::SetMetric(itk::ImageRegistrationMethodv4<TFixedImage,
TMovingImage, TOutputTransform, TVirtualImage, TPointSet>::MetricType*)
[with TFixedImage = itk::Image<itk::Vector<float, 3u>, 2u>; TMovingImage
= itk::Image<itk::Vector<float, 3u>, 2u>; TOutputTransform =
itk::Transform<double, 2u, 2u>; TVirtualImage =
itk::Image<itk::Vector<float, 3u>, 2u>; TPointSet =
itk::PointSet<unsigned int, 2u, itk::DefaultStaticMeshTraits<unsigned
int, 2u, 2u, float, float, unsigned int> >;
itk::ImageRegistrationMethodv4<TFixedImage, TMovingImage, TOutputTransform,
TVirtualImage, TPointSet>::MetricType =
itk::ObjectToObjectMetricBaseTemplate<double>; typename
TOutputTransform::ScalarType = double]
   virtual void Set##name (type * _arg)                 \
                ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/RegistrationMethodsv4/include/itkImageRegistrationMethodv4.h:250:3:
note: in expansion of macro ‘itkSetObjectMacro’
   itkSetObjectMacro( Metric, MetricType );
   ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkMacro.h:963:16:
note:   no known conversion for argument 1 from
‘itk::MeanSquaresImageToImageMetricv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>, itk::Image<float, 2u>,
float,
itk::VectorImageToImageMetricTraitsv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>, itk::Image<float, 2u>,
3u> >::Pointer {aka
itk::SmartPointer<itk::MeanSquaresImageToImageMetricv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>, itk::Image<float, 2u>,
float,
itk::VectorImageToImageMetricTraitsv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>, itk::Image<float, 2u>,
3u> > >}’ to
‘itk::ImageRegistrationMethodv4<itk::Image<itk::Vector<float, 3u>,
2u>, itk::Image<itk::Vector<float, 3u>, 2u> >::MetricType* {aka
itk::ObjectToObjectMetricBaseTemplate<double>*}’
   virtual void Set##name (type * _arg)                 \
                ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/RegistrationMethodsv4/include/itkImageRegistrationMethodv4.h:250:3:
note: in expansion of macro ‘itkSetObjectMacro’
   itkSetObjectMacro( Metric, MetricType );
   ^
In file included from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkAtomicInt.h:38:0,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkLightObject.h:25,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkObject.h:31,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkDataObject.h:31,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkProcessObject.h:31,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/RegistrationMethodsv4/include/itkImageRegistrationMethodv4.h:21,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:1:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkConceptChecking.h:
In instantiation of ‘void itk::Concept::Convertible<T1,
T2>::Constraints::constraints() [with T1 = itk::Vector<float, 3u>; T2 =
unsigned char]’:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkConceptChecking.h:192:3:  
required from ‘struct itk::Concept::Convertible<itk::Vector<float, 3u>,
unsigned char>’
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/ImageFilterBase/include/itkCastImageFilter.h:126:3:  
required from ‘class
itk::CastImageFilter<itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<unsigned char, 2u> >’
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:260:17:  
required from here
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkConceptChecking.h:185:35:
error: invalid static_cast from type ‘itk::Vector<float, 3u>’ to type
‘unsigned char’
       T2 b = static_cast< T2 >( a );
                                   ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkConceptChecking.h:
In instantiation of ‘void itk::Concept::Convertible<T1,
T2>::Constraints::constraints() [with T1 = itk::Vector<float, 3u>; T2 =
double]’:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkConceptChecking.h:192:3:  
required from ‘struct itk::Concept::Convertible<itk::Vector<float, 3u>,
double>’
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/ImageCompare/include/itkSquaredDifferenceImageFilter.h:115:3:  
required from ‘class
itk::SquaredDifferenceImageFilter<itk::Image<itk::Vector<float, 3u>,
2u>, itk::Image<itk::Vector<float, 3u>, 2u>, itk::Image<unsigned char,
2u> >’
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:286:23:  
required from here
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkConceptChecking.h:185:35:
error: invalid static_cast from type ‘itk::Vector<float, 3u>’ to type
‘double’
In file included from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkMattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader.h:138:0,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkMattesMutualInformationImageToImageMetricv4.h:22,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/RegistrationMethodsv4/include/itkImageRegistrationMethodv4.hxx:29,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/RegistrationMethodsv4/include/itkImageRegistrationMethodv4.h:518,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:1:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkMattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader.hxx:
In instantiation of ‘bool
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner,
TImageToImageMetric, TMattesMutualInformationMetric>::ProcessPoint(const
VirtualIndexType&, const VirtualPointType&, const FixedImagePointType&,
const FixedImagePixelType&, const FixedImageGradientType&, const
MovingImagePointType&, const MovingImagePixelType&, const
MovingImageGradientType&,
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner,
TImageToImageMetric, TMattesMutualInformationMetric>::MeasureType&,
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner,
TImageToImageMetric, TMattesMutualInformationMetric>::DerivativeType&,
itk::ThreadIdType) const [with TDomainPartitioner =
itk::ThreadedIndexedContainerPartitioner; TImageToImageMetric =
itk::ImageToImageMetricv4<itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, itk::Image<itk::Vector<float,
3u>, 2u>, double,
itk::DefaultImageToImageMetricTraitsv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double> >;
TMattesMutualInformationMetric =
itk::MattesMutualInformationImageToImageMetricv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double,
itk::DefaultImageToImageMetricTraitsv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double> >;
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner,
TImageToImageMetric, TMattesMutualInformationMetric>::VirtualIndexType =
itk::Index<2u>;
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner,
TImageToImageMetric, TMattesMutualInformationMetric>::VirtualPointType =
itk::Point<double, 2u>;
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner,
TImageToImageMetric, TMattesMutualInformationMetric>::FixedImagePointType =
itk::Point<double, 2u>;
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner,
TImageToImageMetric, TMattesMutualInformationMetric>::FixedImagePixelType =
itk::Vector<float, 3u>;
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner,
TImageToImageMetric, TMattesMutualInformationMetric>::FixedImageGradientType
= itk::CovariantVector<double, 2u>;
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner,
TImageToImageMetric, TMattesMutualInformationMetric>::MovingImagePointType =
itk::Point<double, 2u>;
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner,
TImageToImageMetric, TMattesMutualInformationMetric>::MovingImagePixelType =
itk::Vector<float, 3u>;
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner,
TImageToImageMetric,
TMattesMutualInformationMetric>::MovingImageGradientType =
itk::CovariantVector<double, 2u>;
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner,
TImageToImageMetric, TMattesMutualInformationMetric>::MeasureType = double;
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner,
TImageToImageMetric, TMattesMutualInformationMetric>::DerivativeType =
itk::Array<double>; itk::ThreadIdType = unsigned int]’:
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:378:1:  
required from here
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkMattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader.hxx:236:24:
error: no match for ‘operator<’ (operand types are ‘const
MovingImagePixelType {aka const itk::Vector<float, 3u>}’ and
‘itk::MattesMutualInformationImageToImageMetricv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double,
itk::DefaultImageToImageMetricTraitsv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double> >::PDFValueType {aka
double}’)
   if( movingImageValue < this->m_MattesAssociate->m_MovingImageTrueMin )
                        ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkMattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader.hxx:240:29:
error: no match for ‘operator>’ (operand types are ‘const
MovingImagePixelType {aka const itk::Vector<float, 3u>}’ and
‘itk::MattesMutualInformationImageToImageMetricv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double,
itk::DefaultImageToImageMetricTraitsv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double> >::PDFValueType {aka
double}’)
   else if( movingImageValue > this->m_MattesAssociate->m_MovingImageTrueMax
)
                             ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkMattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader.hxx:246:144:
error: cannot convert ‘itk::Vector<float, 3u>’ to ‘const PDFValueType {aka
const double}’ in initialization
   const PDFValueType movingImageParzenWindowTerm = movingImageValue /
this->m_MattesAssociate->m_MovingImageBinSize -
this->m_MattesAssociate->m_MovingImageNormalizedMin;
                                                                                                                                               
^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkMattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader.hxx:
In instantiation of ‘bool
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner,
TImageToImageMetric, TMattesMutualInformationMetric>::ProcessPoint(const
VirtualIndexType&, const VirtualPointType&, const FixedImagePointType&,
const FixedImagePixelType&, const FixedImageGradientType&, const
MovingImagePointType&, const MovingImagePixelType&, const
MovingImageGradientType&,
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner,
TImageToImageMetric, TMattesMutualInformationMetric>::MeasureType&,
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner,
TImageToImageMetric, TMattesMutualInformationMetric>::DerivativeType&,
itk::ThreadIdType) const [with TDomainPartitioner =
itk::ThreadedImageRegionPartitioner<2u>; TImageToImageMetric =
itk::ImageToImageMetricv4<itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, itk::Image<itk::Vector<float,
3u>, 2u>, double,
itk::DefaultImageToImageMetricTraitsv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double> >;
TMattesMutualInformationMetric =
itk::MattesMutualInformationImageToImageMetricv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double,
itk::DefaultImageToImageMetricTraitsv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double> >;
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner,
TImageToImageMetric, TMattesMutualInformationMetric>::VirtualIndexType =
itk::Index<2u>;
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner,
TImageToImageMetric, TMattesMutualInformationMetric>::VirtualPointType =
itk::Point<double, 2u>;
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner,
TImageToImageMetric, TMattesMutualInformationMetric>::FixedImagePointType =
itk::Point<double, 2u>;
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner,
TImageToImageMetric, TMattesMutualInformationMetric>::FixedImagePixelType =
itk::Vector<float, 3u>;
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner,
TImageToImageMetric, TMattesMutualInformationMetric>::FixedImageGradientType
= itk::CovariantVector<double, 2u>;
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner,
TImageToImageMetric, TMattesMutualInformationMetric>::MovingImagePointType =
itk::Point<double, 2u>;
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner,
TImageToImageMetric, TMattesMutualInformationMetric>::MovingImagePixelType =
itk::Vector<float, 3u>;
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner,
TImageToImageMetric,
TMattesMutualInformationMetric>::MovingImageGradientType =
itk::CovariantVector<double, 2u>;
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner,
TImageToImageMetric, TMattesMutualInformationMetric>::MeasureType = double;
itk::MattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader<TDomainPartitioner,
TImageToImageMetric, TMattesMutualInformationMetric>::DerivativeType =
itk::Array<double>; itk::ThreadIdType = unsigned int]’:
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:378:1:  
required from here
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkMattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader.hxx:236:24:
error: no match for ‘operator<’ (operand types are ‘const
MovingImagePixelType {aka const itk::Vector<float, 3u>}’ and
‘itk::MattesMutualInformationImageToImageMetricv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double,
itk::DefaultImageToImageMetricTraitsv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double> >::PDFValueType {aka
double}’)
   if( movingImageValue < this->m_MattesAssociate->m_MovingImageTrueMin )
                        ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkMattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader.hxx:240:29:
error: no match for ‘operator>’ (operand types are ‘const
MovingImagePixelType {aka const itk::Vector<float, 3u>}’ and
‘itk::MattesMutualInformationImageToImageMetricv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double,
itk::DefaultImageToImageMetricTraitsv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double> >::PDFValueType {aka
double}’)
   else if( movingImageValue > this->m_MattesAssociate->m_MovingImageTrueMax
)
                             ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkMattesMutualInformationImageToImageMetricv4GetValueAndDerivativeThreader.hxx:246:144:
error: cannot convert ‘itk::Vector<float, 3u>’ to ‘const PDFValueType {aka
const double}’ in initialization
   const PDFValueType movingImageParzenWindowTerm = movingImageValue /
this->m_MattesAssociate->m_MovingImageBinSize -
this->m_MattesAssociate->m_MovingImageNormalizedMin;
                                                                                                                                               
^
In file included from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkMattesMutualInformationImageToImageMetricv4.h:290:0,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/RegistrationMethodsv4/include/itkImageRegistrationMethodv4.hxx:29,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/RegistrationMethodsv4/include/itkImageRegistrationMethodv4.h:518,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:1:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkMattesMutualInformationImageToImageMetricv4.hxx:
In instantiation of ‘void
itk::MattesMutualInformationImageToImageMetricv4<TFixedImage, TMovingImage,
TVirtualImage, TInternalComputationValueType, TMetricTraits>::Initialize()
[with TFixedImage = itk::Image<itk::Vector<float, 3u>, 2u>; TMovingImage
= itk::Image<itk::Vector<float, 3u>, 2u>; TVirtualImage =
itk::Image<itk::Vector<float, 3u>, 2u>; TInternalComputationValueType =
double; TMetricTraits =
itk::DefaultImageToImageMetricTraitsv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double>]’:
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:378:1:  
required from here
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkMattesMutualInformationImageToImageMetricv4.hxx:101:29:
error: cannot convert ‘const Self {aka const itk::Vector<float, 3u>}’ to
‘itk::MattesMutualInformationImageToImageMetricv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double,
itk::DefaultImageToImageMetricTraitsv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double> >::PDFValueType {aka
double}’ in assignment
   this->m_FixedImageTrueMin = NumericTraits<typename
TFixedImage::PixelType>::max();
                             ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkMattesMutualInformationImageToImageMetricv4.hxx:102:29:
error: cannot convert ‘const Self {aka const itk::Vector<float, 3u>}’ to
‘itk::MattesMutualInformationImageToImageMetricv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double,
itk::DefaultImageToImageMetricTraitsv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double> >::PDFValueType {aka
double}’ in assignment
   this->m_FixedImageTrueMax = NumericTraits<typename
TFixedImage::PixelType>::NonpositiveMin();
                             ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkMattesMutualInformationImageToImageMetricv4.hxx:103:30:
error: cannot convert ‘const Self {aka const itk::Vector<float, 3u>}’ to
‘itk::MattesMutualInformationImageToImageMetricv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double,
itk::DefaultImageToImageMetricTraitsv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double> >::PDFValueType {aka
double}’ in assignment
   this->m_MovingImageTrueMin = NumericTraits<typename
TMovingImage::PixelType>::max();
                              ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkMattesMutualInformationImageToImageMetricv4.hxx:104:30:
error: cannot convert ‘const Self {aka const itk::Vector<float, 3u>}’ to
‘itk::MattesMutualInformationImageToImageMetricv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double,
itk::DefaultImageToImageMetricTraitsv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double> >::PDFValueType {aka
double}’ in assignment
   this->m_MovingImageTrueMax = NumericTraits<typename
TMovingImage::PixelType>::NonpositiveMin();
                              ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkMattesMutualInformationImageToImageMetricv4.hxx:121:56:
error: no match for ‘operator<’ (operand types are
‘itk::MattesMutualInformationImageToImageMetricv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double,
itk::DefaultImageToImageMetricTraitsv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double> >::PDFValueType {aka
double}’ and ‘const PixelType {aka const itk::Vector<float, 3u>}’)
       this->m_FixedImageTrueMin = (m_FixedImageTrueMin < currValue) ?
this->m_FixedImageTrueMin : currValue;
                                                        ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkMattesMutualInformationImageToImageMetricv4.hxx:122:56:
error: no match for ‘operator>’ (operand types are
‘itk::MattesMutualInformationImageToImageMetricv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double,
itk::DefaultImageToImageMetricTraitsv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double> >::PDFValueType {aka
double}’ and ‘const PixelType {aka const itk::Vector<float, 3u>}’)
       this->m_FixedImageTrueMax = (m_FixedImageTrueMax > currValue) ?
this->m_FixedImageTrueMax : currValue;
                                                        ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkMattesMutualInformationImageToImageMetricv4.hxx:142:58:
error: no match for ‘operator<’ (operand types are
‘itk::MattesMutualInformationImageToImageMetricv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double,
itk::DefaultImageToImageMetricTraitsv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double> >::PDFValueType {aka
double}’ and ‘const PixelType {aka const itk::Vector<float, 3u>}’)
       this->m_MovingImageTrueMin = (m_MovingImageTrueMin < currValue) ?
this->m_MovingImageTrueMin : currValue;
                                                          ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkMattesMutualInformationImageToImageMetricv4.hxx:143:58:
error: no match for ‘operator>’ (operand types are
‘itk::MattesMutualInformationImageToImageMetricv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double,
itk::DefaultImageToImageMetricTraitsv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double> >::PDFValueType {aka
double}’ and ‘const PixelType {aka const itk::Vector<float, 3u>}’)
       this->m_MovingImageTrueMax = (m_MovingImageTrueMax > currValue) ?
this->m_MovingImageTrueMax : currValue;
                                                          ^
In file included from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/ImageGradient/include/itkGradientRecursiveGaussianImageFilter.h:265:0,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkDefaultImageToImageMetricTraitsv4.h:24,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkImageToImageMetricv4.h:33,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/RegistrationMethodsv4/include/itkImageRegistrationMethodv4.h:28,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:1:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/ImageGradient/include/itkGradientRecursiveGaussianImageFilter.hxx:
In instantiation of ‘void
itk::GradientRecursiveGaussianImageFilter<TInputImage,
TOutputImage>::GenerateData() [with TInputImage =
itk::Image<itk::Vector<float, 3u>, 2u>; TOutputImage =
itk::Image<itk::CovariantVector<itk::Vector<double, 3u>, 2u>, 2u>]’:
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:378:1:  
required from here
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/ImageGradient/include/itkGradientRecursiveGaussianImageFilter.hxx:313:9:
error: no matching function for call to
‘itk::ImageRegionIteratorWithIndex<itk::NthElementImageAdaptor<itk::Image<itk::CovariantVector<itk::Vector<double,
3u>, 2u>, 2u>, float>
>::Set(itk::GradientRecursiveGaussianImageFilter<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::CovariantVector<itk::Vector<double, 3u>,
2u>, 2u> >::OutputComponentType&)’
         ot.Set( outValue );
         ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/ImageGradient/include/itkGradientRecursiveGaussianImageFilter.hxx:313:9:
note: candidate is:
In file included from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/DisplacementField/include/itkDisplacementFieldTransform.hxx:25:0,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/DisplacementField/include/itkDisplacementFieldTransform.h:488,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Numerics/Optimizersv4/include/itkObjectToObjectMetric.h:24,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkObjectToObjectMultiMetricv4.h:22,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/RegistrationMethodsv4/include/itkImageRegistrationMethodv4.h:26,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:1:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkImageRegionIteratorWithIndex.h:106:8:
note: void itk::ImageRegionIteratorWithIndex<TImage>::Set(const PixelType&)
const [with TImage =
itk::NthElementImageAdaptor<itk::Image<itk::CovariantVector<itk::Vector<double,
3u>, 2u>, 2u>, float>; itk::ImageRegionIteratorWithIndex<TImage>::PixelType
= float]
   void Set(const PixelType & value) const
        ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkImageRegionIteratorWithIndex.h:106:8:
note:   no known conversion for argument 1 from
‘itk::GradientRecursiveGaussianImageFilter<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::CovariantVector<itk::Vector<double, 3u>,
2u>, 2u> >::OutputComponentType {aka itk::Vector<double, 3u>}’ to ‘const
PixelType& {aka const float&}’
In file included from
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:9:0:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/ImageCompare/include/itkSquaredDifferenceImageFilter.h:
In instantiation of ‘TOutput itk::Functor::SquaredDifference2<TInput1,
TInput2, TOutput>::operator()(const TInput1&, const TInput2&) const [with
TInput1 = itk::Vector<float, 3u>; TInput2 = itk::Vector<float, 3u>; TOutput
= unsigned char]’:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/ImageFilterBase/include/itkBinaryFunctorImageFilter.hxx:238:9:  
required from ‘void itk::BinaryFunctorImageFilter<TInputImage1,
TInputImage2, TOutputImage, TFunction>::ThreadedGenerateData(const
OutputImageRegionType&, itk::ThreadIdType) [with TInputImage1 =
itk::Image<itk::Vector<float, 3u>, 2u>; TInputImage2 =
itk::Image<itk::Vector<float, 3u>, 2u>; TOutputImage =
itk::Image<unsigned char, 2u>; TFunction =
itk::Functor::SquaredDifference2<itk::Vector<float, 3u>,
itk::Vector<float, 3u>, unsigned char>;
itk::BinaryFunctorImageFilter<TInputImage1, TInputImage2, TOutputImage,
TFunction>::OutputImageRegionType = itk::ImageRegion<2u>; itk::ThreadIdType
= unsigned int]’
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:378:1:  
required from here
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/ImageCompare/include/itkSquaredDifferenceImageFilter.h:74:48:
error: invalid static_cast from type ‘const itk::Vector<float, 3u>’ to type
‘double’
     const double dA = static_cast< double >( A );
                                                ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/ImageCompare/include/itkSquaredDifferenceImageFilter.h:75:48:
error: invalid static_cast from type ‘const itk::Vector<float, 3u>’ to type
‘double’
     const double dB = static_cast< double >( B );
                                                ^
In file included from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/ImageGrid/include/itkBSplineScatteredDataPointSetToImageFilter.hxx:25:0,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/ImageGrid/include/itkBSplineScatteredDataPointSetToImageFilter.h:428,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Numerics/Optimizersv4/include/itkWindowConvergenceMonitoringFunction.hxx:24,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Numerics/Optimizersv4/include/itkWindowConvergenceMonitoringFunction.h:97,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Numerics/Optimizersv4/include/itkGradientDescentOptimizerBasev4.h:22,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Numerics/Optimizersv4/include/itkGradientDescentOptimizerv4.h:21,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/RegistrationMethodsv4/include/itkImageRegistrationMethodv4.hxx:24,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/RegistrationMethodsv4/include/itkImageRegistrationMethodv4.h:518,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:1:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/ImageFilterBase/include/itkCastImageFilter.h:
In instantiation of ‘TOutput itk::Functor::Cast<TInput,
TOutput>::operator()(const TInput&) const [with TInput = itk::Vector<float,
3u>; TOutput = unsigned char]’:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkUnaryFunctorImageFilter.hxx:183:7:  
required from ‘void itk::UnaryFunctorImageFilter<TInputImage, TOutputImage,
TFunction>::ThreadedGenerateData(const OutputImageRegionType&,
itk::ThreadIdType) [with TInputImage = itk::Image<itk::Vector<float, 3u>,
2u>; TOutputImage = itk::Image<unsigned char, 2u>; TFunction =
itk::Functor::Cast<itk::Vector<float, 3u>, unsigned char>;
itk::UnaryFunctorImageFilter<TInputImage, TOutputImage,
TFunction>::OutputImageRegionType = itk::ImageRegion<2u>; itk::ThreadIdType
= unsigned int]’
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:378:1:  
required from here
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/ImageFilterBase/include/itkCastImageFilter.h:53:38:
error: invalid static_cast from type ‘const itk::Vector<float, 3u>’ to type
‘unsigned char’
     return static_cast< TOutput >( A );
                                      ^
In file included from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/ImageFunction/include/itkCentralDifferenceImageFunction.h:255:0,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkDefaultImageToImageMetricTraitsv4.h:23,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkImageToImageMetricv4.h:33,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/RegistrationMethodsv4/include/itkImageRegistrationMethodv4.h:28,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:1:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/ImageFunction/include/itkCentralDifferenceImageFunction.hxx:
In instantiation of ‘void itk::CentralDifferenceImageFunction<TInputImage,
TCoordRep, TOutputType>::EvaluateSpecialized(const PointType&,
itk::CentralDifferenceImageFunction<TInputImage, TCoordRep,
TOutputType>::OutputType&, itk::CentralDifferenceImageFunction<TInputImage,
TCoordRep, TOutputType>::OutputTypeSpecializationStructType<typename
itk::ImageFunction<TInputImage, TOutputType, TCoordRep>::OutputType>) const
[with Type = itk::CovariantVector<double, 2u>; TInputImage =
itk::Image<itk::Vector<float, 3u>, 2u>; TCoordRep = double; TOutputType =
itk::CovariantVector<double, 2u>;
itk::CentralDifferenceImageFunction<TInputImage, TCoordRep,
TOutputType>::PointType = itk::Point<double, 2u>;
itk::CentralDifferenceImageFunction<TInputImage, TCoordRep,
TOutputType>::OutputType = itk::CovariantVector<double, 2u>; typename
itk::ImageFunction<TInputImage, TOutputType, TCoordRep>::OutputType =
itk::CovariantVector<double, 2u>]’:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/ImageFunction/include/itkCentralDifferenceImageFunction.hxx:273:22:  
required from ‘itk::CentralDifferenceImageFunction<TInputImage, TCoordRep,
TOutputType>::OutputType itk::CentralDifferenceImageFunction<TInputImage,
TCoordRep, TOutputType>::Evaluate(const PointType&) const [with TInputImage
= itk::Image<itk::Vector<float, 3u>, 2u>; TCoordRep = double; TOutputType
= itk::CovariantVector<double, 2u>;
itk::CentralDifferenceImageFunction<TInputImage, TCoordRep,
TOutputType>::OutputType = itk::CovariantVector<double, 2u>;
itk::CentralDifferenceImageFunction<TInputImage, TCoordRep,
TOutputType>::PointType = itk::Point<double, 2u>]’
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:378:1:  
required from here
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/ImageFunction/include/itkCentralDifferenceImageFunction.hxx:325:31:
error: cannot convert ‘itk::Vector<double, 3u>::Self {aka
itk::Vector<double, 3u>}’ to ‘itk::FixedArray<double, 2u>::ValueType {aka
double}’ in assignment
       orientedDerivative[dim] = ( this->m_Interpolator->Evaluate(
neighPoint2 ) - this->m_Interpolator->Evaluate( neighPoint1 ) ) / delta;
                               ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/ImageFunction/include/itkCentralDifferenceImageFunction.hxx:
In instantiation of ‘void itk::CentralDifferenceImageFunction<TInputImage,
TCoordRep, TOutputType>::EvaluateAtIndexSpecialized(const IndexType&,
itk::CentralDifferenceImageFunction<TInputImage, TCoordRep,
TOutputType>::OutputType&, itk::CentralDifferenceImageFunction<TInputImage,
TCoordRep, TOutputType>::OutputTypeSpecializationStructType<typename
itk::ImageFunction<TInputImage, TOutputType, TCoordRep>::OutputType>) const
[with Type = itk::CovariantVector<double, 2u>; TInputImage =
itk::Image<itk::Vector<float, 3u>, 2u>; TCoordRep = double; TOutputType =
itk::CovariantVector<double, 2u>;
itk::CentralDifferenceImageFunction<TInputImage, TCoordRep,
TOutputType>::IndexType = itk::Index<2u>;
itk::CentralDifferenceImageFunction<TInputImage, TCoordRep,
TOutputType>::OutputType = itk::CovariantVector<double, 2u>; typename
itk::ImageFunction<TInputImage, TOutputType, TCoordRep>::OutputType =
itk::CovariantVector<double, 2u>]’:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/ImageFunction/include/itkCentralDifferenceImageFunction.hxx:117:29:  
required from ‘itk::CentralDifferenceImageFunction<TInputImage, TCoordRep,
TOutputType>::OutputType itk::CentralDifferenceImageFunction<TInputImage,
TCoordRep, TOutputType>::EvaluateAtIndex(const IndexType&) const [with
TInputImage = itk::Image<itk::Vector<float, 3u>, 2u>; TCoordRep = double;
TOutputType = itk::CovariantVector<double, 2u>;
itk::CentralDifferenceImageFunction<TInputImage, TCoordRep,
TOutputType>::OutputType = itk::CovariantVector<double, 2u>;
itk::CentralDifferenceImageFunction<TInputImage, TCoordRep,
TOutputType>::IndexType = itk::Index<2u>]’
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:378:1:  
required from here
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/ImageFunction/include/itkCentralDifferenceImageFunction.hxx:158:21:
error: cannot convert ‘const itk::Vector<float, 3u>’ to
‘itk::FixedArray<double, 2u>::ValueType {aka double}’ in assignment
     derivative[dim] = inputImage->GetPixel(neighIndex);
                     ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/ImageFunction/include/itkCentralDifferenceImageFunction.hxx:161:21:
error: no match for ‘operator-=’ (operand types are ‘itk::FixedArray<double,
2u>::ValueType {aka double}’ and ‘const itk::Vector<float, 3u>’)
     derivative[dim] -= inputImage->GetPixel(neighIndex);
                     ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/ImageFunction/include/itkCentralDifferenceImageFunction.hxx:
In instantiation of ‘void itk::CentralDifferenceImageFunction<TInputImage,
TCoordRep, TOutputType>::EvaluateAtContinuousIndexSpecialized(const
ContinuousIndexType&, itk::CentralDifferenceImageFunction<TInputImage,
TCoordRep, TOutputType>::OutputType&,
itk::CentralDifferenceImageFunction<TInputImage, TCoordRep,
TOutputType>::OutputTypeSpecializationStructType<typename
itk::ImageFunction<TInputImage, TOutputType, TCoordRep>::OutputType>) const
[with Type = itk::CovariantVector<double, 2u>; TInputImage =
itk::Image<itk::Vector<float, 3u>, 2u>; TCoordRep = double; TOutputType =
itk::CovariantVector<double, 2u>;
itk::CentralDifferenceImageFunction<TInputImage, TCoordRep,
TOutputType>::ContinuousIndexType = itk::ContinuousIndex<double, 2u>;
itk::CentralDifferenceImageFunction<TInputImage, TCoordRep,
TOutputType>::OutputType = itk::CovariantVector<double, 2u>; typename
itk::ImageFunction<TInputImage, TOutputType, TCoordRep>::OutputType =
itk::CovariantVector<double, 2u>]’:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/ImageFunction/include/itkCentralDifferenceImageFunction.hxx:470:3:  
required from ‘itk::CentralDifferenceImageFunction<TInputImage, TCoordRep,
TOutputType>::OutputType itk::CentralDifferenceImageFunction<TInputImage,
TCoordRep, TOutputType>::EvaluateAtContinuousIndex(const
ContinuousIndexType&) const [with TInputImage =
itk::Image<itk::Vector<float, 3u>, 2u>; TCoordRep = double; TOutputType =
itk::CovariantVector<double, 2u>;
itk::CentralDifferenceImageFunction<TInputImage, TCoordRep,
TOutputType>::OutputType = itk::CovariantVector<double, 2u>;
itk::CentralDifferenceImageFunction<TInputImage, TCoordRep,
TOutputType>::ContinuousIndexType = itk::ContinuousIndex<double, 2u>]’
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:378:1:  
required from here
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/ImageFunction/include/itkCentralDifferenceImageFunction.hxx:511:21:
error: cannot convert
‘itk::InterpolateImageFunction<itk::Image<itk::Vector<float, 3u>, 2u>,
double>::OutputType {aka itk::Vector<double, 3u>}’ to
‘itk::FixedArray<double, 2u>::ValueType {aka double}’ in assignment
     derivative[dim] =
this->m_Interpolator->EvaluateAtContinuousIndex(neighIndex);
                     ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/ImageFunction/include/itkCentralDifferenceImageFunction.hxx:514:21:
error: no match for ‘operator-=’ (operand types are ‘itk::FixedArray<double,
2u>::ValueType {aka double}’ and
‘itk::InterpolateImageFunction<itk::Image<itk::Vector<float, 3u>, 2u>,
double>::OutputType {aka itk::Vector<double, 3u>}’)
     derivative[dim] -=
this->m_Interpolator->EvaluateAtContinuousIndex(neighIndex);
                     ^
In file included from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkNumericTraits.h:1656:0,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkConceptChecking.h:32,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkAtomicInt.h:38,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkLightObject.h:25,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkObject.h:31,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkDataObject.h:31,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkProcessObject.h:31,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/RegistrationMethodsv4/include/itkImageRegistrationMethodv4.h:21,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:1:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkFixedArray.h:
In instantiation of ‘itk::FixedArray<TValue, VLength>&
itk::FixedArray<TValue, VLength>::operator=(const
itk::FixedArray<TFixedArrayValueType, VLength>&) [with TFixedArrayValueType
= itk::Vector<double, 3u>; TValue = double; unsigned int VLength = 2u]’:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkCovariantVector.h:131:27:  
required from ‘itk::CovariantVector<T, NVectorDimension>::Self&
itk::CovariantVector<T, NVectorDimension>::operator=(const Tt&) [with Tt =
itk::CovariantVector<itk::Vector<double, 3u>, 2u>; T = double; unsigned
int NVectorDimension = 2u; itk::CovariantVector<T, NVectorDimension>::Self =
itk::CovariantVector<double, 2u>]’
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/Metricsv4/include/itkImageToImageMetricv4.hxx:383:14:  
required from ‘void itk::ImageToImageMetricv4<TFixedImage, TMovingImage,
TVirtualImage, TInternalComputationValueType,
TMetricTraits>::ComputeFixedImageGradientAtPoint(const FixedImagePointType&,
itk::ImageToImageMetricv4<TFixedImage, TMovingImage, TVirtualImage,
TInternalComputationValueType, TMetricTraits>::FixedImageGradientType&)
const [with TFixedImage = itk::Image<itk::Vector<float, 3u>, 2u>;
TMovingImage = itk::Image<itk::Vector<float, 3u>, 2u>; TVirtualImage =
itk::Image<itk::Vector<float, 3u>, 2u>; TInternalComputationValueType =
double; TMetricTraits =
itk::DefaultImageToImageMetricTraitsv4<itk::Image<itk::Vector<float,
3u>, 2u>, itk::Image<itk::Vector<float, 3u>, 2u>,
itk::Image<itk::Vector<float, 3u>, 2u>, double>;
itk::ImageToImageMetricv4<TFixedImage, TMovingImage, TVirtualImage,
TInternalComputationValueType, TMetricTraits>::FixedImagePointType =
itk::Point<double, 2u>; itk::ImageToImageMetricv4<TFixedImage, TMovingImage,
TVirtualImage, TInternalComputationValueType,
TMetricTraits>::FixedImageGradientType = itk::CovariantVector<double, 2u>]’
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:378:1:  
required from here
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkFixedArray.h:178:14:
error: invalid static_cast from type ‘const ValueType {aka const
itk::Vector<double, 3u>}’ to type ‘double’
         *i++ = static_cast< TValue >( *input++ );
              ^
In file included from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkImageAlgorithm.h:223:0,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkStreamingImageFilter.hxx:22,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkStreamingImageFilter.h:133,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/Smoothing/include/itkDiscreteGaussianImageFilter.hxx:26,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/Smoothing/include/itkDiscreteGaussianImageFilter.h:283,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/RegistrationMethodsv4/include/itkImageRegistrationMethodv4.hxx:23,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/RegistrationMethodsv4/include/itkImageRegistrationMethodv4.h:518,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:1:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkImageAlgorithm.hxx:
In instantiation of ‘static void itk::ImageAlgorithm::DispatchedCopy(const
InputImageType*, OutputImageType*, const typename
InputImageType::RegionType&, const typename OutputImageType::RegionType&,
itk::ImageAlgorithm::FalseType) [with InputImageType =
itk::Image<itk::Vector<float, 3u>, 2u>; OutputImageType =
itk::Image<unsigned char, 2u>; typename InputImageType::RegionType =
itk::ImageRegion<2u>; typename OutputImageType::RegionType =
itk::ImageRegion<2u>; itk::ImageAlgorithm::FalseType =
std::tr1::integral_constant<bool, false>]’:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkImageAlgorithm.h:112:7:  
required from ‘static void itk::ImageAlgorithm::Copy(const
itk::Image<TPixel1, VImageDimension>*, itk::Image<TPixel2,
VImageDimension>*, const typename itk::Image<TPixel1,
VImageDimension>::RegionType&, const typename itk::Image<TPixel2,
VImageDimension>::RegionType&) [with TPixel1 = itk::Vector<float, 3u>;
TPixel2 = unsigned char; unsigned int VImageDimension = 2u; typename
itk::Image<TPixel1, VImageDimension>::RegionType = itk::ImageRegion<2u>;
typename itk::Image<TPixel2, VImageDimension>::RegionType =
itk::ImageRegion<2u>]’
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/ImageFilterBase/include/itkCastImageFilter.hxx:73:90:  
required from ‘void itk::CastImageFilter<TInputImage,
TOutputImage>::ThreadedGenerateData(const OutputImageRegionType&,
itk::ThreadIdType) [with TInputImage = itk::Image<itk::Vector<float, 3u>,
2u>; TOutputImage = itk::Image<unsigned char, 2u>;
itk::CastImageFilter<TInputImage, TOutputImage>::OutputImageRegionType =
itk::ImageRegion<2u>; itk::ThreadIdType = unsigned int]’
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:378:1:  
required from here
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkImageAlgorithm.hxx:45:9:
error: invalid static_cast from type
‘itk::ImageConstIterator<itk::Image<itk::Vector<float, 3u>, 2u>
>::PixelType {aka itk::Vector<float, 3u>}’ to type ‘itk::Image<unsigned
char, 2u>::PixelType {aka unsigned char}’
         ot.Set( static_cast< typename OutputImageType::PixelType >(
it.Get() ) );
         ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkImageAlgorithm.hxx:60:5:
error: invalid static_cast from type
‘itk::ImageConstIterator<itk::Image<itk::Vector<float, 3u>, 2u>
>::PixelType {aka itk::Vector<float, 3u>}’ to type ‘itk::Image<unsigned
char, 2u>::PixelType {aka unsigned char}’
     ot.Set( static_cast< typename OutputImageType::PixelType >( it.Get() )
);
     ^
In file included from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/ImageGrid/include/itkBSplineScatteredDataPointSetToImageFilter.hxx:25:0,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/ImageGrid/include/itkBSplineScatteredDataPointSetToImageFilter.h:428,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Numerics/Optimizersv4/include/itkWindowConvergenceMonitoringFunction.hxx:24,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Numerics/Optimizersv4/include/itkWindowConvergenceMonitoringFunction.h:97,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Numerics/Optimizersv4/include/itkGradientDescentOptimizerBasev4.h:22,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Numerics/Optimizersv4/include/itkGradientDescentOptimizerv4.h:21,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/RegistrationMethodsv4/include/itkImageRegistrationMethodv4.hxx:24,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/RegistrationMethodsv4/include/itkImageRegistrationMethodv4.h:518,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:1:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/ImageFilterBase/include/itkCastImageFilter.h:
In instantiation of ‘TOutput itk::Functor::Cast<TInput,
TOutput>::operator()(const TInput&) const [with TInput = itk::Vector<float,
3u>; TOutput = double]’:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkUnaryFunctorImageFilter.hxx:183:7:  
required from ‘void itk::UnaryFunctorImageFilter<TInputImage, TOutputImage,
TFunction>::ThreadedGenerateData(const OutputImageRegionType&,
itk::ThreadIdType) [with TInputImage = itk::Image<itk::Vector<float, 3u>,
2u>; TOutputImage = itk::Image<double, 2u>; TFunction =
itk::Functor::Cast<itk::Vector<float, 3u>, double>;
itk::UnaryFunctorImageFilter<TInputImage, TOutputImage,
TFunction>::OutputImageRegionType = itk::ImageRegion<2u>; itk::ThreadIdType
= unsigned int]’
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:378:1:  
required from here
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/ImageFilterBase/include/itkCastImageFilter.h:53:38:
error: invalid static_cast from type ‘const itk::Vector<float, 3u>’ to type
‘double’
     return static_cast< TOutput >( A );
                                      ^
In file included from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkImageAlgorithm.h:223:0,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkStreamingImageFilter.hxx:22,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkStreamingImageFilter.h:133,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/Smoothing/include/itkDiscreteGaussianImageFilter.hxx:26,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/Smoothing/include/itkDiscreteGaussianImageFilter.h:283,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/RegistrationMethodsv4/include/itkImageRegistrationMethodv4.hxx:23,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/RegistrationMethodsv4/include/itkImageRegistrationMethodv4.h:518,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:1:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkImageAlgorithm.hxx:
In instantiation of ‘static void itk::ImageAlgorithm::DispatchedCopy(const
InputImageType*, OutputImageType*, const typename
InputImageType::RegionType&, const typename OutputImageType::RegionType&,
itk::ImageAlgorithm::FalseType) [with InputImageType =
itk::Image<itk::Vector<float, 3u>, 2u>; OutputImageType =
itk::Image<double, 2u>; typename InputImageType::RegionType =
itk::ImageRegion<2u>; typename OutputImageType::RegionType =
itk::ImageRegion<2u>; itk::ImageAlgorithm::FalseType =
std::tr1::integral_constant<bool, false>]’:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkImageAlgorithm.h:112:7:  
required from ‘static void itk::ImageAlgorithm::Copy(const
itk::Image<TPixel1, VImageDimension>*, itk::Image<TPixel2,
VImageDimension>*, const typename itk::Image<TPixel1,
VImageDimension>::RegionType&, const typename itk::Image<TPixel2,
VImageDimension>::RegionType&) [with TPixel1 = itk::Vector<float, 3u>;
TPixel2 = double; unsigned int VImageDimension = 2u; typename
itk::Image<TPixel1, VImageDimension>::RegionType = itk::ImageRegion<2u>;
typename itk::Image<TPixel2, VImageDimension>::RegionType =
itk::ImageRegion<2u>]’
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/ImageFilterBase/include/itkCastImageFilter.hxx:73:90:  
required from ‘void itk::CastImageFilter<TInputImage,
TOutputImage>::ThreadedGenerateData(const OutputImageRegionType&,
itk::ThreadIdType) [with TInputImage = itk::Image<itk::Vector<float, 3u>,
2u>; TOutputImage = itk::Image<double, 2u>;
itk::CastImageFilter<TInputImage, TOutputImage>::OutputImageRegionType =
itk::ImageRegion<2u>; itk::ThreadIdType = unsigned int]’
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:378:1:  
required from here
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkImageAlgorithm.hxx:45:9:
error: invalid static_cast from type
‘itk::ImageConstIterator<itk::Image<itk::Vector<float, 3u>, 2u>
>::PixelType {aka itk::Vector<float, 3u>}’ to type ‘itk::Image<double,
2u>::PixelType {aka double}’
         ot.Set( static_cast< typename OutputImageType::PixelType >(
it.Get() ) );
         ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Core/Common/include/itkImageAlgorithm.hxx:60:5:
error: invalid static_cast from type
‘itk::ImageConstIterator<itk::Image<itk::Vector<float, 3u>, 2u>
>::PixelType {aka itk::Vector<float, 3u>}’ to type ‘itk::Image<double,
2u>::PixelType {aka double}’
     ot.Set( static_cast< typename OutputImageType::PixelType >( it.Get() )
);
     ^
In file included from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/ImageGrid/include/itkBSplineScatteredDataPointSetToImageFilter.hxx:25:0,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/ImageGrid/include/itkBSplineScatteredDataPointSetToImageFilter.h:428,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Numerics/Optimizersv4/include/itkWindowConvergenceMonitoringFunction.hxx:24,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Numerics/Optimizersv4/include/itkWindowConvergenceMonitoringFunction.h:97,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Numerics/Optimizersv4/include/itkGradientDescentOptimizerBasev4.h:22,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Numerics/Optimizersv4/include/itkGradientDescentOptimizerv4.h:21,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/RegistrationMethodsv4/include/itkImageRegistrationMethodv4.hxx:24,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Registration/RegistrationMethodsv4/include/itkImageRegistrationMethodv4.h:518,
                 from
/home/art/SourceCode/InsightToolkit-4.8.2/Examples/ArtTest/DeformableRegistrationArt.cxx:1:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/ImageFilterBase/include/itkCastImageFilter.h:
In member function ‘TOutput itk::Functor::Cast<TInput,
TOutput>::operator()(const TInput&) const [with TInput = itk::Vector<float,
3u>; TOutput = double]’:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/ImageFilterBase/include/itkCastImageFilter.h:54:3:
warning: control reaches end of non-void function [-Wreturn-type]
   }
   ^
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/ImageFilterBase/include/itkCastImageFilter.h:
In member function ‘TOutput itk::Functor::Cast<TInput,
TOutput>::operator()(const TInput&) const [with TInput = itk::Vector<float,
3u>; TOutput = unsigned char]’:
/home/art/SourceCode/InsightToolkit-4.8.2/Modules/Filtering/ImageFilterBase/include/itkCastImageFilter.h:54:3:
warning: control reaches end of non-void function [-Wreturn-type]
   }
   ^
make[3]: ***
[Examples/ArtTest/CMakeFiles/DeformableRegistrationArt.dir/DeformableRegistrationArt.cxx.o]
Error 1
make[2]: *** [Examples/ArtTest/CMakeFiles/DeformableRegistrationArt.dir/all]
Error 2
make[1]: ***
[Examples/ArtTest/CMakeFiles/DeformableRegistrationArt.dir/rule] Error 2
make: *** [DeformableRegistrationArt] Error 2



--
View this message in context: http://itk-users.7.n7.nabble.com/Deformable-registration-of-RGB-image-tp36786.html
Sent from the ITK - Users mailing list archive at Nabble.com.


More information about the Insight-users mailing list