OTB  6.7.0
Orfeo Toolbox
otbWaveletInverseImageFilter.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2005-2019 Centre National d'Etudes Spatiales (CNES)
3  *
4  * This file is part of Orfeo Toolbox
5  *
6  * https://www.orfeo-toolbox.org/
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20 
21 
22 #ifndef otbWaveletInverseImageFilter_h
23 #define otbWaveletInverseImageFilter_h
24 
25 #include "otbWaveletOperator.h"
26 #include "otbWaveletFilterBank.h"
27 #include "otbWaveletTransform.h"
29 
30 namespace otb {
31 
42 template < class TInputImage,
43  class TOutputImage,
44  Wavelet::Wavelet TMotherWaveletOperator >
46  public itk::ImageToImageFilter< TInputImage, TOutputImage >
47 {
48 public:
50  typedef TInputImage InputImageType;
51  typedef TOutputImage OutputImageType;
52 
53  itkStaticConstMacro( ImageDimension, unsigned int, InputImageType::ImageDimension );
54  itkStaticConstMacro( MotherWaveletOperator, short, TMotherWaveletOperator );
55  itkStaticConstMacro( DirectionOfTransformation, short , otb::Wavelet::FORWARD );
56 
61 
62  typedef typename InputImageType::PixelType InputPixelType;
63  typedef typename OutputImageType::PixelType OutputPixelType;
64 
73 
78 
79 
81  itkNewMacro(Self);
82 
85 
86  itkGetMacro(NumberOfDecompositions,unsigned int);
87  itkSetMacro(NumberOfDecompositions,unsigned int);
88 
90  virtual void Modified() const override;
91 
92 protected:
95 
96  virtual void GenerateInputRequestedRegion() override;
97 
98  virtual void GenerateData() override;
99 
100  virtual void PrintSelf(std::ostream& os, itk::Indent indent) const override;
101 
102 private:
103  WaveletInverseImageFilter(const Self&) = delete;
104  void operator=(const Self&) = delete;
105 
109 };
110 
111 }
112 
113 #ifndef OTB_MANUAL_INSTANTIATION
115 #endif
116 
117 #endif
otb::WaveletOperator< TMotherWaveletOperator, otb::Wavelet::INVERSE, OutputPixelType, ImageDimension > WaveletOperatorType
virtual void PrintSelf(std::ostream &os, itk::Indent indent) const override
A Generic NeighborhoodOperator wavelets filter set defined for templation.
WaveletsSynopsisImageToWaveletsBandsListFilterPointerType m_SynopsisImageToWaveletsBandsList
itk::SmartPointer< const Self > ConstPointer
WaveletInverseImageFilter< InputImageType, OutputImageType, TMotherWaveletOperator > Self
otb::WaveletFilterBank< OutputImageType, OutputImageType, WaveletOperatorType, otb::Wavelet::INVERSE > FilterBankType
otb::WaveletTransform< OutputImageType, OutputImageType, FilterBankType, otb::Wavelet::INVERSE > WaveletInverseTransformFilterType
Wavelet transformation framework.
This filter performs wavelet inverse transform. It takes three template arguments: Input...
virtual void Modified() const override
WaveletInverseTransformFilterPointerType m_WaveletTransform
otb::WaveletsSynopsisImageToWaveletsBandsListFilter< InputImageType, typename WaveletInverseTransformFilterType::InputImageListType > WaveletsSynopsisImageToWaveletsBandsListFilterType
This class convert the standard wavelets view to a list of bands.
virtual void GenerateInputRequestedRegion() override
OutputImageType::PixelType OutputPixelType
WaveletsSynopsisImageToWaveletsBandsListFilterType::Pointer WaveletsSynopsisImageToWaveletsBandsListFilterPointerType
WaveletInverseTransformFilterType::Pointer WaveletInverseTransformFilterPointerType
void operator=(const Self &)=delete
One level stationary wavelet transform.
itk::ImageToImageFilter< InputImageType, OutputImageType > Superclass