19 #include "itksys/SystemTools.hxx"
32 this->
SetName(
"Complex Input Image");
51 && itksys::SystemTools::FileExists(filename.c_str()))
54 reader->SetFileName(filename);
57 reader->UpdateOutputInformation();
73 return this->GetImage<ComplexFloatVectorImageType>();
77 #define otbGetImageMacro(image) \
79 ComplexInputImageParameter::Get##image () \
81 return this->GetImage< image##Type > (); \
90 template <
class TOutputImage>
103 reader->UpdateOutputInformation();
114 return reader->GetOutput();
121 itkExceptionMacro(
"No input image or filename detected...");
127 return CastImage<ComplexFloatVectorImageType, TOutputImage>();
131 return CastImage<ComplexDoubleVectorImageType, TOutputImage>();
135 return CastImage<ComplexFloatImageType, TOutputImage>();
139 return CastImage<ComplexDoubleImageType, TOutputImage>();
143 itkExceptionMacro(
"Unknown image type");
150 template <
class TComplexInputImage,
class TOutputImage>
154 TComplexInputImage* realComplexInputImage =
dynamic_cast<TComplexInputImage*
>(
m_Image.
GetPointer());
159 caster->SetInput(realComplexInputImage);
160 caster->UpdateOutputInformation();
165 return caster->GetOutput();
169 template <
class TComplexInputImage,
class TOutputImage>
173 TComplexInputImage* realComplexInputImage =
dynamic_cast<TComplexInputImage*
>(
m_Image.
GetPointer());
178 caster->SetInput(realComplexInputImage);
179 caster->UpdateOutputInformation();
184 return caster->GetOutput();
188 #define otbCastImageMacro(ComplexInputImageType, OutputImageType, theMethod) \
189 template<> OutputImageType * \
190 ComplexInputImageParameter::CastImage<ComplexInputImageType , OutputImageType>() \
192 return this->theMethod<ComplexInputImageType , OutputImageType>(); \
195 #define otbGenericCastImageMacro(ComplexInputImageType, theMethod, prefix) \
196 otbCastImageMacro(ComplexInputImageType, ComplexFloat##prefix##ImageType, theMethod) \
197 otbCastImageMacro(ComplexInputImageType, ComplexDouble##prefix##ImageType, theMethod)
217 this->SetImage<ComplexFloatVectorImageType>( image );
221 template <
class TComplexInputImage>