21 #ifndef otbMatrixImageFilter_h
22 #define otbMatrixImageFilter_h
24 #include "itkImageToImageFilter.h"
49 template <class TInputImage, class TOutputImage, class TMatrix = vnl_matrix<typename itk::NumericTraits<typename TInputImage::InternalPixelType>::RealType>>
50 class ITK_EXPORT
MatrixImageFilter :
public itk::ImageToImageFilter<TInputImage, TOutputImage>
54 itkStaticConstMacro(InputImageDimension,
unsigned int, TInputImage::ImageDimension);
55 itkStaticConstMacro(OutputImageDimension,
unsigned int, TOutputImage::ImageDimension);
66 typedef itk::ImageToImageFilter<InputImageType, OutputImageType>
Superclass;
84 typedef typename itk::NumericTraits<InputInternalPixelType>::RealType
InputRealType;
92 typedef typename InputImageType::SizeType
SizeType;
107 itkGetConstMacro(MatrixByVector,
bool);
108 itkSetMacro(MatrixByVector,
bool);
109 itkBooleanMacro(MatrixByVector);
116 void PrintSelf(std::ostream& os, itk::Indent indent)
const override;
121 void GenerateOutputInformation()
override;
131 void DynamicThreadedGenerateData(
const OutputImageRegionType& outputRegionForThread)
override;
147 #ifndef OTB_MANUAL_INSTANTIATION
Apply a matrix multiplication over the channels of an image.
itk::SmartPointer< const Self > ConstPointer
InputImageType::SizeType SizeType
OutputImageType::PixelType OutputPixelType
~MatrixImageFilter() override
vnl_vector< InputRealType > VectorType
MatrixImageFilter(const Self &)=delete
void SetMatrix(MatrixType mat)
TInputImage InputImageType
TOutputImage OutputImageType
itk::ImageToImageFilter< InputImageType, OutputImageType > Superclass
InputImageType::PixelType InputPixelType
void operator=(const Self &)=delete
OutputImageType::InternalPixelType OutputInternalPixelType
OutputImageType::RegionType OutputImageRegionType
itk::NumericTraits< InputInternalPixelType >::RealType InputRealType
InputImageType::InternalPixelType InputInternalPixelType
itk::SmartPointer< Self > Pointer
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.