<br>Hi<br><br>I'm trying to use the ConnectedThresholdImageFilter with a RGB image. <br><br>#include <itkImage.h><br>#include <itkImageFileReader.h><br>#include <itkRGBPixel.h><br>typedef itk::RGBPixel<unsigned char > PixelType;<br>
typedef itk::Image<PixelType,2 > Image2DType;<br>typedef itk::ImageFileReader<Image2DType > Reader2DType;<br><br>#include <itkConnectedThresholdImageFilter.h><br>typedef itk::ConnectedThresholdImageFilter<Image2DType,Image2DType > ConnectedFilterType;<br>
<br>I obtain a compiling error when I try to create a ConnectedFilterType object.<br>Here is the code:<br><br>ConnectedFilterType::Pointer filterPtr = ConnectedFilterType::New();<br><br>The program compiles without errors If I create a ConnectedThresholdImageFilter for a non rgb image:<br>
<br>typedef itk::Image<float,2> TestImageType;<br>typedef itk::ConnectedThresholdImageFilter<TestImageType,TestImageType> TestFilterType;<br><br>TestFilterType::Pointer testFilterPtr = TestFilterType::New();<br>
<br>I'm newbie using itk, maybe It's not possible create a ConnectedThresholdImageFilter for a rgb image.<br>In that case, which is the best way to solve this problem.<br><br>This is the error message (I'm using MS Visual Studio 2005 Proffesional Edition)<br>
<br>===================================================================================================<br><br>------ Operación Generar iniciada: proyecto: ItkSample02, configuración: Release Win32 ------<br>Compilando...<br>
ItkSampleMainFrame.cpp<br> WINVER not defined. Defaulting to 0x0502 (Windows Server 2003)<br>d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(201) : error C2039: 'NonpositiveMin' : no es un miembro de 'itk::NumericTraits<T>'<br>
with<br> [<br> T=itk::RGBPixel<unsigned char><br> ]<br> 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)'<br>
with<br> [<br> T=itk::RGBPixel<unsigned char>,<br> TInputImage=Image2DType,<br> TOutputImage=Image2DType<br> ]<br> 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<br>
with<br> [<br> TInputImage=Image2DType,<br> TOutputImage=Image2DType<br> ]<br>d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(201) : error C3861: 'NonpositiveMin': no se encontró el identificador<br>
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(181) : error C2039: 'NonpositiveMin' : no es un miembro de 'itk::NumericTraits<T>'<br> with<br> [<br> T=itk::RGBPixel<unsigned char><br>
]<br> 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)'<br>
with<br> [<br> T=itk::RGBPixel<unsigned char>,<br> TInputImage=Image2DType,<br> TOutputImage=Image2DType<br> ]<br>d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(181) : error C3861: 'NonpositiveMin': no se encontró el identificador<br>
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(35) : error C2039: 'NonpositiveMin' : no es un miembro de 'itk::NumericTraits<T>'<br> with<br> [<br> T=itk::RGBPixel<unsigned char><br>
]<br> 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)'<br>
with<br> [<br> TInputImage=Image2DType,<br> TOutputImage=Image2DType<br> ]<br>d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(35) : error C3861: 'NonpositiveMin': no se encontró el identificador<br>
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(36) : error C2660: 'itk::NumericTraits<T>::max' : la función no acepta 0 argumentos<br> with<br> [<br> T=itk::RGBPixel<unsigned char><br>
]<br>d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(40) : error C2039: 'NonpositiveMin' : no es un miembro de 'itk::NumericTraits<T>'<br> with<br> [<br>
T=itk::RGBPixel<unsigned char><br> ]<br>d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(40) : error C3861: 'NonpositiveMin': no se encontró el identificador<br>
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(44) : error C2660: 'itk::NumericTraits<T>::max' : la función no acepta 0 argumentos<br> with<br> [<br> T=itk::RGBPixel<unsigned char><br>
]<br>ItkSampleApp.cpp<br> WINVER not defined. Defaulting to 0x0502 (Windows Server 2003)<br>d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(201) : error C2039: 'NonpositiveMin' : no es un miembro de 'itk::NumericTraits<T>'<br>
with<br> [<br> T=itk::RGBPixel<unsigned char><br> ]<br> 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)'<br>
with<br> [<br> T=itk::RGBPixel<unsigned char>,<br> TInputImage=Image2DType,<br> TOutputImage=Image2DType<br> ]<br> 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<br>
with<br> [<br> TInputImage=Image2DType,<br> TOutputImage=Image2DType<br> ]<br>d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(201) : error C3861: 'NonpositiveMin': no se encontró el identificador<br>
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(181) : error C2039: 'NonpositiveMin' : no es un miembro de 'itk::NumericTraits<T>'<br> with<br> [<br> T=itk::RGBPixel<unsigned char><br>
]<br> 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)'<br>
with<br> [<br> T=itk::RGBPixel<unsigned char>,<br> TInputImage=Image2DType,<br> TOutputImage=Image2DType<br> ]<br>d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(181) : error C3861: 'NonpositiveMin': no se encontró el identificador<br>
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(35) : error C2039: 'NonpositiveMin' : no es un miembro de 'itk::NumericTraits<T>'<br> with<br> [<br> T=itk::RGBPixel<unsigned char><br>
]<br> 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)'<br>
with<br> [<br> TInputImage=Image2DType,<br> TOutputImage=Image2DType<br> ]<br>d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(35) : error C3861: 'NonpositiveMin': no se encontró el identificador<br>
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(36) : error C2660: 'itk::NumericTraits<T>::max' : la función no acepta 0 argumentos<br> with<br> [<br> T=itk::RGBPixel<unsigned char><br>
]<br>d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(40) : error C2039: 'NonpositiveMin' : no es un miembro de 'itk::NumericTraits<T>'<br> with<br> [<br>
T=itk::RGBPixel<unsigned char><br> ]<br>d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(40) : error C3861: 'NonpositiveMin': no se encontró el identificador<br>
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(44) : error C2660: 'itk::NumericTraits<T>::max' : la función no acepta 0 argumentos<br> with<br> [<br> T=itk::RGBPixel<unsigned char><br>
]<br><br>===================================================================================================<br><br>Thanks in advance<br><br>Hannibal<br><br><br><br>