22 #ifndef otbRadianceToImageImageFilter_h
23 #define otbRadianceToImageImageFilter_h
27 #include "itkNumericTraits.h"
46 template <
class TInput,
class TOutput>
80 outPixel =
static_cast<TOutput
>(temp);
107 template <
class TInputImage,
class TOutputImage>
110 TInputImage, TOutputImage,
111 typename Functor::RadianceToImageImageFunctor<typename TInputImage::InternalPixelType, typename TOutputImage::InternalPixelType>>
115 itkStaticConstMacro(InputImageDimension,
unsigned int, TInputImage::ImageDimension);
116 itkStaticConstMacro(OutputImageDimension,
unsigned int, TOutputImage::ImageDimension);
144 typedef typename itk::VariableLengthVector<double>
VectorType;
147 typedef typename InputImageType::SizeType
SizeType;
178 const auto & metadata = this->GetInput()->GetImageMetadata();
193 otbMsgDevMacro(<<
"this->GetInput()->GetNumberOfComponentsPerPixel() : " << this->GetInput()->GetNumberOfComponentsPerPixel());
195 if ((m_Alpha.GetSize() != this->GetInput()->GetNumberOfComponentsPerPixel()) || (m_Beta.GetSize() != this->GetInput()->GetNumberOfComponentsPerPixel()))
197 itkExceptionMacro(<<
"Alpha and Beta parameters should have the same size as the number of bands");
204 this->GetFunctorVector().clear();
205 for (
unsigned int i = 0; i < this->GetInput()->GetNumberOfComponentsPerPixel(); ++i)
210 this->GetFunctorVector().push_back(functor);