21 #ifndef otbComplexToVectorImageCastFilter_h
22 #define otbComplexToVectorImageCastFilter_h
24 #include "itkUnaryFunctorImageFilter.h"
25 #include "vnl/vnl_math.h"
26 #include "itkVariableLengthVector.h"
45 template <
class TInput,
class TOutput>
71 template <
class TInput,
class TOutput>
77 typedef itk::VariableLengthVector<ValueType>
TestType;
89 output.SetSize(2 * A.Size());
91 for (
unsigned int i = 0; i < A.Size(); ++i)
102 template <
class TInput,
class TOutput>
110 template <
class TInput,
class TOutput>
119 template <
class TInputImage,
class TOutputImage>
121 :
public itk::UnaryFunctorImageFilter<TInputImage, TOutputImage,
122 typename Functor::ComplexToVector<typename TInputImage::PixelType, typename TOutputImage::PixelType>::FunctorType>
127 typedef itk::UnaryFunctorImageFilter<TInputImage, TOutputImage,
165 Superclass::GenerateOutputInformation();
167 if (!this->PixelIsSingle(dummy))
169 this->GetOutput()->SetNumberOfComponentsPerPixel(2 * this->GetInput()->GetNumberOfComponentsPerPixel());
Transform a complex image into a 2 channels vector image. The first channel is the real part,...
itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, typename Functor::ComplexToVector< typename TInputImage::PixelType, typename TOutputImage::PixelType >::FunctorType > Superclass
~ComplexToVectorImageCastFilter() override
ComplexToVectorImageCastFilter()
ComplexToVectorImageCastFilter(const Self &)=delete
bool PixelIsSingle(const itk::VariableLengthVector< T > &)
bool PixelIsSingle(const T &)
itk::SmartPointer< const Self > ConstPointer
TOutputImage::PixelType OutputPixelType
void operator=(const Self &)=delete
TInputImage::PixelType InputPixelType
ComplexToVectorImageCastFilter Self
void GenerateOutputInformation() override
itk::SmartPointer< Self > Pointer
SingleComplexToVector< TInput, TOutput > FunctorType
TOutput operator()(const TInput &A) const
TOutput::ValueType OutputValueType
itk::VariableLengthVector< ValueType > TestType
TOutput::ValueType OutputValueType
TInput::ValueType ValueType
TOutput operator()(const TInput &A) const
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.