[Insight-developers] Re: Compile error with ITK_USE_ORIENTED_IMAGE_DIRECTION on

Luis Ibanez luis.ibanez at kitware.com
Fri Dec 7 11:13:02 EST 2007


Hi Bill,

Interesting !


1) I'm not sure why this is not showing up on my Linux build
    where these two CMake variables are also ON: zion.kitware



2) The problem seems to arise from the fact that the method:

                  RotateArrayByDirectionCosines

    is implemented at the level of Image and OrientedImage
    while PhasedArray3DSpecialCoordinatesImage derives
    directly from ImageBase.


    It is the same problem for the methods:

                  TransformPhysicalPointToIndex()
                  TransformIndexToPhysicalPoint()



3) Easy solution is to move the default implementation of this
    method to ImageBase... but... the correct implementation
    still must be added to the PhaseArray3DSpecialCoordinatesImage,
    with the difficulty that the Direction depends on the point
    in space. This means that the API of this method may have to
    be modified to look like:

         RotateArrayByDirectionCosinesAtPoint( array, point );




Suggestions ?



      Luis



----------------------
Bill Lorensen wrote:
> Luis,
>  
> If I have ITK_USE_ORIENTED_IMAGE_DIRECTION ON and the optimized 
> registration on, I get the following compile error on Windows:
>  
> 
> ------ Build started: Project: itkBasicFiltersTests1, Configuration: 
> Release Win32 ------
> 
> Compiling...
> 
> itkResamplePhasedArray3DSpecialCoordinatesImageTest.cxx
> 
> c:\lorensen\Projects\Insight\Code\Review\itkOptBSplineInterpolateImageFunction.txx(919) 
> : error C2039: 'RotateArrayByDirectionCosines' : is not a member of 
> 'itk::PhasedArray3DSpecialCoordinatesImage<TPixel>'
> 
> with
> 
> [
> 
> TPixel=PixelType
> 
> ]
> 
> c:\lorensen\Projects\Insight\Code\Common\itkImageHelper.h(143) : while 
> compiling class-template member function 
> 'itk::BSplineInterpolateImageFunction<TImageType,TCoordRep,TCoefficientType>::CovariantVectorType 
> itk::BSplineInterpolateImageFunction<TImageType,TCoordRep,TCoefficientType>::EvaluateDerivativeAtContinuousIndexInternal(const 
> itk::BSplineInterpolateImageFunction<TImageType,TCoordRep,TCoefficientType>::ContinuousIndexType 
> &,vnl_matrix<T> &,vnl_matrix<double> &,vnl_matrix<double> &) const'
> 
> with
> 
> [
> 
> TImageType=itk::ResampleImageFilter<InputImageType,ImageType,double>::InputImageType,
> 
> TCoordRep=double,
> 
> TCoefficientType=double,
> 
> T=long
> 
> ]
> 
> C:\lorensen\Projects\Insight\Code\Review\itkOptResampleImageFilter.h(124) 
> : see reference to class template instantiation 
> 'itk::BSplineInterpolateImageFunction<TImageType,TCoordRep,TCoefficientType>' 
> being compiled
> 
> with
> 
> [
> 
> TImageType=itk::ResampleImageFilter<InputImageType,ImageType,double>::InputImageType,
> 
> TCoordRep=double,
> 
> TCoefficientType=double
> 
> ]
> 
> \lorensen\Projects\Insight\Testing\Code\BasicFilters\itkResamplePhasedArray3DSpecialCoordinatesImageTest.cxx(81) 
> : see reference to class template instantiation 
> 'itk::ResampleImageFilter<TInputImage,TOutputImage,TInterpolatorPrecisionType>' 
> being compiled
> 
> with
> 
> [
> 
> TInputImage=InputImageType,
> 
> TOutputImage=ImageType,
> 
> TInterpolatorPrecisionType=double
> 
> ]
> 
> Build log was saved at 
> "file://c:\lorensen\Projects\Insight-net\Testing\Code\BasicFilters\itkBasicFiltersTests1.dir\Release\BuildLog.htm"
> 
> itkBasicFiltersTests1 - 1 error(s), 0 warning(s)
> 
>  
> 


More information about the Insight-developers mailing list