[Insight-users] ConnectedThresholdImageFilter and RGB Image

Aníbal hannibalevivo at gmail.com
Tue Dec 2 08:07:01 EST 2008


Hi

I'm trying to use the ConnectedThresholdImageFilter with a RGB image.

#include <itkImage.h>
#include <itkImageFileReader.h>
#include <itkRGBPixel.h>
typedef itk::RGBPixel<unsigned char > PixelType;
typedef itk::Image<PixelType,2 > Image2DType;
typedef itk::ImageFileReader<Image2DType > Reader2DType;

#include <itkConnectedThresholdImageFilter.h>
typedef itk::ConnectedThresholdImageFilter<Image2DType,Image2DType >
ConnectedFilterType;

I obtain a compiling error when I try to create a ConnectedFilterType
object.
Here is the code:

ConnectedFilterType::Pointer filterPtr = ConnectedFilterType::New();

The program compiles without errors If I create a
ConnectedThresholdImageFilter for a non rgb image:

typedef itk::Image<float,2> TestImageType;
typedef itk::ConnectedThresholdImageFilter<TestImageType,TestImageType>
TestFilterType;

TestFilterType::Pointer testFilterPtr = TestFilterType::New();

I'm newbie using itk, maybe It's not possible create a
ConnectedThresholdImageFilter for a rgb image.
In that case, which is the best way to solve this problem.

This is the error message (I'm using MS Visual Studio 2005 Proffesional
Edition)

===================================================================================================

------ Operación Generar iniciada: proyecto: ItkSample02, configuración:
Release Win32 ------
Compilando...
ItkSampleMainFrame.cpp
 WINVER not defined. Defaulting to 0x0502 (Windows Server 2003)
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(201)
: error C2039: 'NonpositiveMin' : no es un miembro de
'itk::NumericTraits<T>'
        with
        [
            T=itk::RGBPixel<unsigned char>
        ]

d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(193)
: durante la compilación de la función miembro de plantilla de clase
'itk::SimpleDataObjectDecorator<T>
*itk::ConnectedThresholdImageFilter<TInputImage,TOutputImage>::GetUpperInput(void)'
        with
        [
            T=itk::RGBPixel<unsigned char>,
            TInputImage=Image2DType,
            TOutputImage=Image2DType
        ]
        d:\c++\itk samples\itk sample 02\src\ItkSampleMainFrame.h(66) : vea
la referencia a la creación de instancias de plantilla de clase
'itk::ConnectedThresholdImageFilter<TInputImage,TOutputImage>' que se está
compilando
        with
        [
            TInputImage=Image2DType,
            TOutputImage=Image2DType
        ]
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(201)
: error C3861: 'NonpositiveMin': no se encontró el identificador
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(181)
: error C2039: 'NonpositiveMin' : no es un miembro de
'itk::NumericTraits<T>'
        with
        [
            T=itk::RGBPixel<unsigned char>
        ]

d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(173)
: durante la compilación de la función miembro de plantilla de clase
'itk::SimpleDataObjectDecorator<T>
*itk::ConnectedThresholdImageFilter<TInputImage,TOutputImage>::GetLowerInput(void)'
        with
        [
            T=itk::RGBPixel<unsigned char>,
            TInputImage=Image2DType,
            TOutputImage=Image2DType
        ]
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(181)
: error C3861: 'NonpositiveMin': no se encontró el identificador
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(35)
: error C2039: 'NonpositiveMin' : no es un miembro de
'itk::NumericTraits<T>'
        with
        [
            T=itk::RGBPixel<unsigned char>
        ]

d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(34)
: durante la compilación de la función miembro de plantilla de clase
'itk::ConnectedThresholdImageFilter<TInputImage,TOutputImage>::ConnectedThresholdImageFilter(void)'
        with
        [
            TInputImage=Image2DType,
            TOutputImage=Image2DType
        ]
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(35)
: error C3861: 'NonpositiveMin': no se encontró el identificador
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(36)
: error C2660: 'itk::NumericTraits<T>::max' : la función no acepta 0
argumentos
        with
        [
            T=itk::RGBPixel<unsigned char>
        ]
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(40)
: error C2039: 'NonpositiveMin' : no es un miembro de
'itk::NumericTraits<T>'
        with
        [
            T=itk::RGBPixel<unsigned char>
        ]
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(40)
: error C3861: 'NonpositiveMin': no se encontró el identificador
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(44)
: error C2660: 'itk::NumericTraits<T>::max' : la función no acepta 0
argumentos
        with
        [
            T=itk::RGBPixel<unsigned char>
        ]
ItkSampleApp.cpp
 WINVER not defined. Defaulting to 0x0502 (Windows Server 2003)
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(201)
: error C2039: 'NonpositiveMin' : no es un miembro de
'itk::NumericTraits<T>'
        with
        [
            T=itk::RGBPixel<unsigned char>
        ]

d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(193)
: durante la compilación de la función miembro de plantilla de clase
'itk::SimpleDataObjectDecorator<T>
*itk::ConnectedThresholdImageFilter<TInputImage,TOutputImage>::GetUpperInput(void)'
        with
        [
            T=itk::RGBPixel<unsigned char>,
            TInputImage=Image2DType,
            TOutputImage=Image2DType
        ]
        d:\c++\itk samples\itk sample 02\src\ItkSampleMainFrame.h(66) : vea
la referencia a la creación de instancias de plantilla de clase
'itk::ConnectedThresholdImageFilter<TInputImage,TOutputImage>' que se está
compilando
        with
        [
            TInputImage=Image2DType,
            TOutputImage=Image2DType
        ]
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(201)
: error C3861: 'NonpositiveMin': no se encontró el identificador
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(181)
: error C2039: 'NonpositiveMin' : no es un miembro de
'itk::NumericTraits<T>'
        with
        [
            T=itk::RGBPixel<unsigned char>
        ]

d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(173)
: durante la compilación de la función miembro de plantilla de clase
'itk::SimpleDataObjectDecorator<T>
*itk::ConnectedThresholdImageFilter<TInputImage,TOutputImage>::GetLowerInput(void)'
        with
        [
            T=itk::RGBPixel<unsigned char>,
            TInputImage=Image2DType,
            TOutputImage=Image2DType
        ]
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(181)
: error C3861: 'NonpositiveMin': no se encontró el identificador
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(35)
: error C2039: 'NonpositiveMin' : no es un miembro de
'itk::NumericTraits<T>'
        with
        [
            T=itk::RGBPixel<unsigned char>
        ]

d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(34)
: durante la compilación de la función miembro de plantilla de clase
'itk::ConnectedThresholdImageFilter<TInputImage,TOutputImage>::ConnectedThresholdImageFilter(void)'
        with
        [
            TInputImage=Image2DType,
            TOutputImage=Image2DType
        ]
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(35)
: error C3861: 'NonpositiveMin': no se encontró el identificador
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(36)
: error C2660: 'itk::NumericTraits<T>::max' : la función no acepta 0
argumentos
        with
        [
            T=itk::RGBPixel<unsigned char>
        ]
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(40)
: error C2039: 'NonpositiveMin' : no es un miembro de
'itk::NumericTraits<T>'
        with
        [
            T=itk::RGBPixel<unsigned char>
        ]
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(40)
: error C3861: 'NonpositiveMin': no se encontró el identificador
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(44)
: error C2660: 'itk::NumericTraits<T>::max' : la función no acepta 0
argumentos
        with
        [
            T=itk::RGBPixel<unsigned char>
        ]

===================================================================================================

Thanks in advance

Hannibal
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20081202/c1c52bdc/attachment-0001.htm>


More information about the Insight-users mailing list