62 #define otbClampAndWriteImageMacro(InputImageType, OutputImageType, writer) \
64 typedef otb::ClampImageFilter<InputImageType, OutputImageType> ClampFilterType; \
65 typename ClampFilterType::Pointer clampFilter = ClampFilterType::New(); \
66 clampFilter->SetInput( dynamic_cast<InputImageType*>(m_Image.GetPointer()) ); \
67 writer->SetFileName( this->GetFileName() ); \
68 writer->SetInput(clampFilter->GetOutput()); \
69 writer->SetAutomaticAdaptativeStreaming(m_RAMValue); \
73 #define otbClampAndWriteVectorImageMacro(InputImageType, OutputImageType, writer) \
75 typedef otb::ClampVectorImageFilter<InputImageType, OutputImageType> ClampFilterType; \
76 typename ClampFilterType::Pointer clampFilter = ClampFilterType::New(); \
77 clampFilter->SetInput( dynamic_cast<InputImageType*>(m_Image.GetPointer()) ); \
78 writer->SetFileName(this->GetFileName() ); \
79 writer->SetInput(clampFilter->GetOutput()); \
80 writer->SetAutomaticAdaptativeStreaming(m_RAMValue); \
85 template <
class TInputImageType>
130 template <
class TInputVectorImageType>
175 template <
class TInputRGBAImageType>
188 itkExceptionMacro(
"Unknown PixelType for RGBA Image.");
191 template <
class TInputRGBImageType>
204 itkExceptionMacro(
"Unknown PixelType for RGB Image.");
210 m_Image->UpdateOutputInformation();
214 SwitchImageWrite<UInt8ImageType>();
218 SwitchImageWrite<Int16ImageType>();
222 SwitchImageWrite<UInt16ImageType>();
226 SwitchImageWrite<Int32ImageType>();
230 SwitchImageWrite<UInt32ImageType>();
234 SwitchImageWrite<FloatImageType>();
238 SwitchImageWrite<DoubleImageType>();
242 SwitchVectorImageWrite<UInt8VectorImageType>();
246 SwitchVectorImageWrite<Int16VectorImageType>();
250 SwitchVectorImageWrite<UInt16VectorImageType>();
254 SwitchVectorImageWrite<Int32VectorImageType>();
258 SwitchVectorImageWrite<UInt32VectorImageType>();
262 SwitchVectorImageWrite<FloatVectorImageType>();
266 SwitchVectorImageWrite<DoubleVectorImageType>();
270 SwitchRGBImageWrite<UInt8RGBImageType>();
274 SwitchRGBAImageWrite<UInt8RGBAImageType>();
278 itkExceptionMacro(
"Unknown image type");
307 itkWarningMacro(
"UInt8RGBAImageType will be saved in UInt8 format.");
315 itkWarningMacro(
"UInt8RGBImageType will be saved in UInt8 format.");
386 itkExceptionMacro(
"Unknown Writer type.");
409 return !filename.empty();