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