21 #ifndef otbFastICAInternalOptimizerVectorImageFilter_h
22 #define otbFastICAInternalOptimizerVectorImageFilter_h
45 template <
class TInputImage,
class TOutputImage>
51 typedef itk::ImageToImageFilter<TInputImage, TOutputImage>
Superclass;
62 itkStaticConstMacro(InputImageDimension,
unsigned int, TInputImage::ImageDimension);
63 itkStaticConstMacro(OutputImageDimension,
unsigned int, TOutputImage::ImageDimension);
80 typedef typename MatrixObjectType::ComponentType
MatrixType;
89 itkSetMacro(CurrentBandForLoop,
unsigned int);
90 itkGetMacro(CurrentBandForLoop,
unsigned int);
97 m_NonLinearity = NonLinearity;
98 m_NonLinearityDerivative = NonLinearityDerivative;
102 itkGetMacro(Beta,
double);
103 itkGetMacro(Den,
double);
105 virtual void Reset()
override;
107 virtual void Synthetize()
override;
115 void GenerateOutputInformation()
override;
116 void ThreadedGenerateData(
const OutputRegionType&, itk::ThreadIdType)
override;
139 #ifndef OTB_MANUAL_INSTANTIATION
Internal optimisation of the FastICA unmixing filter.
std::function< double(double)> NonLinearityType
CovarianceEstimatorFilterType::RealType RealType
TOutputImage OutputImageType
unsigned int m_CurrentBandForLoop
~FastICAInternalOptimizerVectorImageFilter() override
NonLinearityType m_NonLinearityDerivative
std::vector< double > m_BetaVector
itk::ImageToImageFilter< TInputImage, TOutputImage > Superclass
void SetNonLinearity(NonLinearityType NonLinearity, NonLinearityType NonLinearityDerivative)
StreamingStatisticsVectorImageFilter< InputImageType > CovarianceEstimatorFilterType
FastICAInternalOptimizerVectorImageFilter(const Self &)
FastICAInternalOptimizerVectorImageFilter Self
CovarianceEstimatorFilterType::RealPixelType VectorType
TransformFilterPointerType m_TransformFilter
itk::SmartPointer< const Self > ConstPointer
CovarianceEstimatorFilterType::MatrixObjectType MatrixObjectType
MatrixObjectType::ComponentType MatrixType
InternalMatrixType::element_type MatrixElementType
OutputImageType::RegionType OutputRegionType
std::vector< double > m_NbSamples
itk::SmartPointer< Self > Pointer
void operator=(const Self &)
std::vector< double > m_DenVector
MatrixType::InternalMatrixType InternalMatrixType
TInputImage InputImageType
MatrixImageFilter< TInputImage, TOutputImage > TransformFilterType
InputImageType::RegionType InputRegionType
CovarianceEstimatorFilterType::Pointer CovarianceEstimatorFilterPointerType
NonLinearityType m_NonLinearity
TransformFilterType::Pointer TransformFilterPointerType
Apply a matrix multiplication over the channels of an image.
itk::SmartPointer< Self > Pointer
This filter is the base class for all filter persisting data through multiple update....
This class streams the whole input image through the PersistentStatisticsImageFilter.
StatFilterType::RealType RealType
StatFilterType::RealPixelType RealPixelType
itk::SmartPointer< Self > Pointer
StatFilterType::MatrixObjectType MatrixObjectType
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.