Re: [Insight-users] About TransformPoint
Tomáš Kazmar
Tomash.Kazmar at seznam.cz
Tue Sep 4 06:08:29 EDT 2007
Hi Steven,
think I found the solution: PointSet<PixelType, Dimension> takes its definition
of PointType and PointContainer from
DefaultStaticMeshTraits<PixelType,Dimension,Dimension>. The problem is that
such DefaultStaticMeshTraits is in fact
DefaultStaticMeshTraits<PixelType,Dimension,Dimension,float,float,PixelType>
where the first of the two floats is the source of your problem.
Define PointSet with explicit MeshTraits template parameter, eg. like this:
typedef itk::PointSet<double,2,itk::DefaultStaticMeshTraits<double,2,2,double>> PointSetType;
This way the PointSet will use double for its TCoordRep.
Regards,
Tomas
# ------------ Původní zpráva ------------
# Od: Steven ITK <itklearner at gmail.com>
# Předmět: Re: [Insight-users] About TransformPoint
# Datum: 04.9.2007 08:11:17
# ----------------------------------------
# Hi Luis,
#
# Maybe the following is the full error message:
# //+++++++++++++++++++++++++++++++++++
# for Method 1: Use TransformMeshFilter<PointSetType, PointSetType,
# TransformType>
# 1>c:\steven\installation\itk\insighttoolkit-
# 3.2.0\code\basicfilters\itktransformmeshfilter.txx(95) : error C2664:
# 'itk::MatrixOffsetTransformBase<TScalarType,NInputDimensions,NOutputDimensions>::TransformPoint'
# : cannot convert parameter 1 from 'const
# itk::Point<TCoordRep,NPointDimension>' to 'const
# itk::Point<TCoordRep,NPointDimension> &'
# 1> with
# 1> [
# 1> TScalarType=double,
# 1> NInputDimensions=3,
# 1> NOutputDimensions=3
# 1> ]
# 1> and
# 1> [
# 1> TCoordRep=float,
# 1> NPointDimension=3
# 1> ]
# 1> and
# 1> [
# 1> TCoordRep=double,
# 1> NPointDimension=3
# 1> ]
# 1> Reason: cannot convert from 'const
# itk::Point<TCoordRep,NPointDimension>' to 'const
# itk::Point<TCoordRep,NPointDimension>'
# 1> with
# 1> [
# 1> TCoordRep=float,
# 1> NPointDimension=3
# 1> ]
# 1> and
# 1> [
# 1> TCoordRep=double,
# 1> NPointDimension=3
# 1> ]
# 1> No user-defined-conversion operator available that can perform
# this conversion, or the operator cannot be called
# 1> c:\steven\installation\itk\insighttoolkit-
# 3.2.0\code\basicfilters\itktransformmeshfilter.txx (60) : while compiling
# class template member function 'void
# itk::TransformMeshFilter<TInputMesh,TOutputMesh,TTransform>::GenerateData(void)'
# 1> with
# 1> [
# 1> TInputMesh=PointSetType,
# 1> TOutputMesh=PointSetType,
# 1> TTransform=TransformType
# 1> ]
# 1> c:\steven\gdc\segmentation.cpp(1362) : see reference to class
# template instantiation
# 'itk::TransformMeshFilter<TInputMesh,TOutputMesh,TTransform>' being compiled
#
# 1> with
# 1> [
# 1> TInputMesh=PointSetType,
# 1> TOutputMesh=PointSetType,
# 1> TTransform=TransformType
# 1> ]
# 1>c:\steven\installation\itk\insighttoolkit-
# 3.2.0\code\basicfilters\itktransformmeshfilter.txx(105) : error C2039:
# 'SetCellLinks' : is not a member of 'itk::PointSet<TPixelType,VDimension>'
# 1> with
# 1> [
# 1> TPixelType=double,
# 1> VDimension=3
# 1> ]
# 1>c:\steven\installation\itk\insighttoolkit-
# 3.2.0\code\basicfilters\itktransformmeshfilter.txx(105) : error C2039:
# 'GetCellLinks' : is not a member of 'itk::PointSet<TPixelType,VDimension>'
# 1> with
# 1> [
# 1> TPixelType=double,
# 1> VDimension=3
# 1> ]
# 1>c:\steven\installation\itk\insighttoolkit-
# 3.2.0\code\basicfilters\itktransformmeshfilter.txx (107) : error C2039:
# 'SetCells' : is not a member of 'itk::PointSet<TPixelType,VDimension>'
# 1> with
# 1> [
# 1> TPixelType=double,
# 1> VDimension=3
# 1> ]
# 1>c:\steven\installation\itk\insighttoolkit-
# 3.2.0\code\basicfilters\itktransformmeshfilter.txx(107) : error C2039:
# 'GetCells' : is not a member of 'itk::PointSet<TPixelType,VDimension>'
# 1> with
# 1> [
# 1> TPixelType=double,
# 1> VDimension=3
# 1> ]
# 1>c:\steven\installation\itk\insighttoolkit-
# 3.2.0\code\basicfilters\itktransformmeshfilter.txx (108) : error C2039:
# 'SetCellData' : is not a member of 'itk::PointSet<TPixelType,VDimension>'
# 1> with
# 1> [
# 1> TPixelType=double,
# 1> VDimension=3
# 1> ]
# 1>c:\steven\installation\itk\insighttoolkit-
# 3.2.0\code\basicfilters\itktransformmeshfilter.txx(108) : error C2039:
# 'GetCellData' : is not a member of 'itk::PointSet<TPixelType,VDimension>'
# 1> with
# 1> [
# 1> TPixelType=double,
# 1> VDimension=3
# 1> ]
# 1>c:\steven\installation\itk\insighttoolkit-
# 3.2.0\code\basicfilters\itktransformmeshfilter.txx (111) : error C2039:
# 'MaxTopologicalDimension' : is not a member of
# 'itk::PointSet<TPixelType,VDimension>'
# 1> with
# 1> [
# 1> TPixelType=double,
# 1> VDimension=3
# 1> ]
# 1>c:\steven\installation\itk\insighttoolkit-
# 3.2.0\code\basicfilters\itktransformmeshfilter.txx(111) : error C2065:
# 'MaxTopologicalDimension' : undeclared identifier
# 1>c:\steven\installation\itk\insighttoolkit-
# 3.2.0\code\basicfilters\itktransformmeshfilter.txx(115) : error C2039:
# 'SetBoundaryAssignments' : is not a member of
# 'itk::PointSet<TPixelType,VDimension>'
# 1> with
# 1> [
# 1> TPixelType=double,
# 1> VDimension=3
# 1> ]
# 1>c:\steven\installation\itk\insighttoolkit-
# 3.2.0\code\basicfilters\itktransformmeshfilter.txx(116) : error C2039:
# 'GetBoundaryAssignments' : is not a member of
# 'itk::PointSet<TPixelType,VDimension>'
# 1> with
# 1> [
# 1> TPixelType=double,
# 1> VDimension=3
# 1> ]
# 1>Build log was saved at "file://c:\Steven\GDC\Debug\BuildLog.htm "
# 1>GDC - 11 error(s), 0 warning(s)
# ========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ==========
#
# //+++++++++++++++++++++++++++++++++++
#
# For Method 2: : Use TransformPoint for each individual point
# 1>c:\steven\gdc\GDC.cpp(1379) : error C2664:
# 'itk::MatrixOffsetTransformBase<TScalarType,NInputDimensions,NOutputDimensions>::TransformPoint'
# : cannot convert parameter 1 from 'PointType' to 'const
# itk::Point<TCoordRep,NPointDimension> &'
# 1> with
# 1> [
# 1> TScalarType=double,
# 1> NInputDimensions=3,
# 1> NOutputDimensions=3
# 1> ]
# 1> and
# 1> [
# 1> TCoordRep=double,
# 1> NPointDimension=3
# 1> ]
# 1> Reason: cannot convert from 'PointType' to 'const
# itk::Point<TCoordRep,NPointDimension>'
# 1> with
# 1> [
# 1> TCoordRep=double,
# 1> NPointDimension=3
# 1> ]
# 1> No user-defined-conversion operator available that can perform
# this conversion, or the operator cannot be called
# 1>Build log was saved at "file://c:\Steven\GDC\Debug\BuildLog.htm"
# //+++++++++++++++++++++++++++++++++++
#
# I noticed that in the error message for Method 1, one TCoordRep is float
# type,
# 1> and
# 1> [
# 1> TCoordRep=float,
# 1> NPointDimension=3
# 1> ]
#
# but I don't know what I should do to change it to double.
# Thank you.
#
# Regards,
# Steven
#
#
#
More information about the Insight-users
mailing list