21 #ifndef otbSparseUnmixingImageFilter_h
22 #define otbSparseUnmixingImageFilter_h
24 #include "itkListSample.h"
25 #include "itkHistogram.h"
54 template <
class TInputImage,
class TOutputImage,
unsigned int VNbInputImage,
class TPrecision = double,
72 itkStaticConstMacro(InputImageDimension,
unsigned int, TInputImage::ImageDimension);
73 itkStaticConstMacro(OutputImageDimension,
unsigned int, TOutputImage::ImageDimension);
74 itkStaticConstMacro(NumberOfInputImages,
unsigned int, VNbInputImage);
115 using Superclass::SetInput;
121 for (
unsigned int i = 0; i < NumberOfInputImages; ++i)
123 m_WvltFilterList->GetNthElement(i)->SetNumberOfDecomposition(nb);
129 return m_WvltFilterList->GetNthElement(0)->GetNumberOfDecomposition();
134 m_AngleListFilter->SetThresholdValue(th);
139 return m_AngleListFilter->GetThresholdValue();
147 if (m_NumberOfComponentsRequired == 0)
148 GenerateNumberOfComponentsRequired();
149 return m_NumberOfComponentsRequired;
151 itkSetMacro(NumberOfComponentsRequired,
unsigned int);
154 itkSetMacro(NumberOfHistogramBins,
unsigned int);
155 itkGetMacro(NumberOfHistogramBins,
unsigned int);
169 void GenerateData()
override;
170 virtual void GenerateNumberOfComponentsRequired();
188 #ifndef OTB_MANUAL_INSTANTIATION
Performs spherical transformation in ND space from a set of angle values.
OutputImageListType::Iterator OutputImageIterator
Superclass::OutputImageListType OutputImageListType
OutputImageListType::Pointer OutputImageListPointerType
itk::SmartPointer< Self > Pointer
Base class for all the filters producing an otbImageList.
Base class for all the filters taking an image input to produce an image list.
TInputImage InputImageType
Creation of an "otb" image which contains metadata.
This class is a generic all-purpose wrapping around an std::vector<itk::SmartPointer<ObjectType> >.
itk::SmartPointer< Self > Pointer
This class detects linear dependencies from N wavelet decompositions.
void SetNumberOfDecomposition(unsigned int nb)
TOutputImage OutputImageType
HistogramType::IndexType HistogramIndexType
Image< PrecisionType, InputImageDimension > InternalImageType
HistogramType::SizeType HistogramSizeType
WaveletOperator< MotherWaveletOperatorID, Wavelet::FORWARD, PrecisionType, InputImageDimension > WaveletOperatorType
unsigned int GetNumberOfDecomposition() const
ObjectList< WvltFilterType > WvltFilterListType
HistogramType::Pointer HistogramPointerType
itk::Array< PrecisionType > AngleType
WvltFilterListType::Pointer WvltFilterListPointerType
HistogramType::MeasurementType MeasurementType
SparseUnmixingImageFilter(const Self &)=delete
TransformFilterType::OutputImageListType OutputImageListType
WvltFilterType::OutputImageListType InternalImageListType
SparseWvltToAngleMapperListFilter< InternalImageListType, AngleListType, NumberOfInputImages > AngleListFilterType
AngleListType::Pointer AngleListPointerType
itk::Statistics::Histogram< PrecisionType > HistogramType
unsigned int GetNumberOfComponentsRequired() const
AngleListFilterType::OutputSampleListType InternalSampleListType
AngularProjectionSetImageFilter< InputImageType, OutputImageType, AngleListType, PrecisionType > TransformFilterType
HistogramPointerType m_Histogram
TInputImage InputImageType
itk::SmartPointer< Self > Pointer
TransformFilterType::OutputImageIterator OutputImageIterator
ImageToImageListFilter< TInputImage, TOutputImage > Superclass
TransformFilterType::Pointer TransformFilterPointerType
SparseUnmixingImageFilter Self
HistogramType::MeasurementVectorType MeasurementVectorType
AngleListPointerType m_AngleList
itk::Statistics::ListSample< AngleType > AngleListType
itk::SmartPointer< const Self > ConstPointer
void operator=(const Self &)=delete
WvltFilterListPointerType m_WvltFilterList
unsigned int m_NumberOfComponentsRequired
~SparseUnmixingImageFilter() override
PrecisionType GetThresholdValue() const
void SetThresholdValue(PrecisionType th)
TransformFilterPointerType m_Transformer
AngleListFilterPointerType m_AngleListFilter
WaveletFilterBank< InternalImageType, InternalImageType, WaveletOperatorType, Wavelet::FORWARD > FilterBankType
WaveletTransform< InternalImageType, InternalImageType, FilterBankType, Wavelet::FORWARD > WvltFilterType
WvltFilterType::Pointer WvltFilterPointerType
unsigned int m_NumberOfHistogramBins
TransformFilterType::OutputImageListPointerType OutputImageListPointerType
AngleListFilterType::Pointer AngleListFilterPointerType
This class select N-uple join-wvlt coeff for sparse unmixing.
itk::SmartPointer< Self > Pointer
TOutputSampleList OutputSampleListType
One level stationary wavelet transform.
A Generic NeighborhoodOperator wavelets filter set defined for templation.
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.