[Insight-users] How to return an itk::Image correctly?
Michael Xanadu
xanadu.michael at googlemail.com
Tue Sep 29 09:43:55 EDT 2009
Hi my friends,
I have a class called FilterManager which uses templates and is derivated
from ProcessObject. This class has a method getAnything() which shall return
the pointer of an itk:Image. I looked at the example "VTKImageToImageFilter"
and what they did was something like that:
template <class TImage>
const typename FilterManager<TImage>::ImageType *
FilterManager<TImage>::getAnything(int anyParameter) const
{
// any code
return anyItkFilter->GetOutput();
}
Now I want to call the method in this way:
typedef itk::GremlinDetector<Short3DType> GremlinDetectorType;
GremlinDetectorType::popUpImage(filterManager->getAnything(number));
where "popUpImage" (a static method) is declared in this way:
template <class TImage>
void GremlinDetector<TImage>::popUpImage(ImageType *image) //ImageType
is defined in the header as: typedef TImage ImageType;
{
//do anything with the image
}
It seems that I have a problem with "const" in the method header. Of course
the compiler complains:
error C2664: 'itk::GremlinDetector<TImage>::popUpAllImages' : cannot
convert parameter 1 from 'const itk::Image<TPixel,VImageDimension> *' to
'itk::Image<TPixel,VImageDimension> *'
But I don't know how to fix that problem. If I remove the "const"
expressions from the getAnything()-header the application crashes and I
can't make popUpImage() to a const method, because I may not change that
code. Can somebody help me please?
Regards, Michael
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20090929/41a226b8/attachment.htm>
More information about the Insight-users
mailing list