RV: [Insight-users] LevelSet Filters Problem (ITK_TYPENAME related)
SOLVED??
Osc at r
olguna at cimat.mx
Mon Jan 21 22:04:33 EST 2008
Hi Luis
Thank you for your reply ...
I wanna said you, and community, that the problem seems to be solved (maybe
is not the best way):
Comment out the line for the macro "#define ITK_TYPENAME typename", and did
not work
Then comment out ITK_TYPENAME, in the problem line, and got another 2 errors
quite similar, so, I comment out them too, it was possible compile.
I'm running the application and it seems works fine
But it was not what I expected...
I'm building the pipeline as in itkSoftwareGuide, but i'm building both
FastMarching and ShapeDetection, using the same filters for both, when run
anyfilter the first time, everything is OK, but if run FastMarching (and
just FastMarching) ShapeDetection run too, i'm think that it is because
FastMarching->GetOutput(), is actually, an input for shapeDetection, is that
right?? if it is, is there a way to stop this behaviour??
Tnx in advance...
by the way, the code in itkSparceFieldLevelSetImageFilter.txx, was left as:
template<class TInputImage, class TOutputImage>
ITK_TYPENAME SparseFieldLevelSetImageFilter<TInputImage,
TOutputImage>::ValueType
SparseFieldLevelSetImageFilter<TInputImage, TOutputImage>
::m_ValueOne = NumericTraits</*ITK_TYPENAME*/
SparseFieldLevelSetImageFilter<TInputImage,
TOutputImage>::ValueType >::One;
template<class TInputImage, class TOutputImage>
ITK_TYPENAME SparseFieldLevelSetImageFilter<TInputImage,
TOutputImage>::ValueType
SparseFieldLevelSetImageFilter<TInputImage, TOutputImage>
::m_ValueZero =
NumericTraits</*ITK_TYPENAME*/SparseFieldLevelSetImageFilter<TInputImage,
TOutputImage>::ValueType >::Zero;
template<class TInputImage, class TOutputImage>
ITK_TYPENAME SparseFieldLevelSetImageFilter<TInputImage,
TOutputImage>::StatusType
SparseFieldLevelSetImageFilter<TInputImage, TOutputImage>
::m_StatusNull = NumericTraits</*ITK_TYPENAME*/
SparseFieldLevelSetImageFilter<TInputImage,
TOutputImage>::StatusType >::NonpositiveMin();
Note the 3 commented out parts /*ITK_TYPENAME*/, one per each "declaration"
Oscar Gutiérrez Luna
CIMAT A. C.
Cubiculo: J4
Tel.: 73 271-55 ext. 49672
-----Mensaje original-----
De: Luis Ibanez [mailto:luis.ibanez at kitware.com]
Enviado el: Domingo, 20 de Enero de 2008 06:13 p.m.
Para: Osc at r
CC: Insight-users at itk.org
Asunto: Re: [Insight-users] LevelSet Filters Problem
(ITK_TYPENAME related)
Hi Oscar,
The ITK_TYPENAME symbol (macro) is defined in
Insight/Code/Common/itkWin32Header.h.
In lines 76-82.
Please try the following:
In itkWin32Header.h comment out the lines that
are defining:
#define ITK_TYPENAME typename
recompile,
and let us know what the result is.
If this works, it means that we have to figure out
a combination of #if defined that will create the
correct case for Borland 5.5 when used from the IDE.
Thanks
Luis
--------------
Osc at r wrote:
> Hi All!!
>
> I'm building a GUI_application of segmentation based on
> LevelSetImageFilters of ITK, the ones in itkSoftwareGuide and
> visualization by VTK
> FastMarching succeded, but with ShapeDetection and
GeodesicActiveContour
> there are a compilation Error:
> [C++ Error] itkSparseFieldLevelSetImageFilter.txx(101):
E2439 'typename'
> is only allowed in template declarations
>
> ///////Part of
itkSparseFieldLevelSetImageFilter.txx where
> locate the error...
>
> template<class TInputImage, class TOutputImage>
>
> ITK_TYPENAME SparseFieldLevelSetImageFilter<TInputImage,
> TOutputImage>::ValueType
>
> SparseFieldLevelSetImageFilter<TInputImage, TOutputImage>
> this is line 101 related with the error---->
::m_ValueZero =
> NumericTraits<ITK_TYPENAME,
SparseFieldLevelSetImageFilter<TInputImage,
>
> TOutputImage>::ValueType >::Zero;
>
> It is possible to add the library by:
> //Shape Detection Level Set
> #include <itkShapeDetectionLevelSetImageFilter.h>
> //Geodesic Active Contour Level Set
> #include <itkGeodesicActiveContourLevelSetImageFilter.h>
>
> also is possible to define types by:
> typedef float InternalPixelType;
> typedef itk::Image<InternalPixelType,3> InternalImageType;
>
> typedef
>
itk::ShapeDetectionLevelSetImageFilter<InternalImageType,In
ternalImageType>
> ShapeDetectionFilterType;
>
> typedef
>
itk::GeodesicActiveContourLevelSetImageFilter<InternalImage
Type,InternalImageType>
> GeodesicActiveContourFilterType;
>
> Pointers are defined too, by:
> ShapeDetectionFilterType::Pointer shapeDetection;
> GeodesicActiveContourFilterType::Pointer geodesicActiveContour;
> if compile just that lines, there are no problems...,
> it compile and run with FastMarching Working,
shapeDetection and
> geodesicActiveContour obviously do nothing
> But once I added the next, appears the error mentioned before...
> shapeDetection=ShapeDetectionFilterType::New();
> or
> geodesicActiveContour=GeodesicActiveContourFilterType::New()
>
>
> Characteristics:
> Compiler: Borland 5.5
> IDE: Builder 5.1
> ITK version: 3.2.0
> VTK version: 5.0.3
>
> Any suggestions??
>
> Looking only found
>
http://public.kitware.com/pipermail/insight-users/2004-Sept
ember/010291.html
> but adding itkWin32Header.h (as suggested there) doesn't
work, altough
> it was a MSVC issue
>
> Thanks in Advance
>
> Oscar Gutiérrez Luna
> CIMAT A. C.
> Cubiculo: J4
> Tel.: 73 271-55 ext. 49672
>
>
>
>
-----------------------------------------------------------
-------------
>
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
More information about the Insight-users
mailing list