OTB  9.0.0
Orfeo Toolbox
otbWaveletPacketDecompositionCosts.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2005-2022 Centre National d'Etudes Spatiales (CNES)
3  * Copyright (C) 2007-2012 Institut Mines Telecom / Telecom Bretagne
4  *
5  * This file is part of Orfeo Toolbox
6  *
7  * https://www.orfeo-toolbox.org/
8  *
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  * http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  */
21 
22 
23 #ifndef otbWaveletPacketDecompositionCosts_h
24 #define otbWaveletPacketDecompositionCosts_h
25 
26 #include "itkObject.h"
27 #include "itkMacro.h"
28 #include "itkObjectFactory.h"
29 
30 namespace otb
31 {
32 
43 template <class TImage>
44 class ITK_EXPORT FullyDecomposedWaveletPacketCost : public itk::Object
45 {
46 public:
49  typedef itk::Object Superclass;
50  typedef itk::SmartPointer<Self> Pointer;
51  typedef itk::SmartPointer<const Self> ConstPointer;
52 
54  itkNewMacro(Self);
55 
57  itkTypeMacro(FullyDecomposedWaveletPacketCost, Object);
58 
59  typedef TImage ImageType;
60 
62  static unsigned int NumberOfAllowedDecompositions;
63 
65  bool Evaluate(unsigned int decomposition, const ImageType* itkNotUsed(image))
66  {
67  return (decomposition < NumberOfAllowedDecompositions);
68  }
69 
70 protected:
72  {
73  }
75  {
76  }
77 
78 private:
79  FullyDecomposedWaveletPacketCost(const Self&); // not implemented
80  void operator=(const Self&);
81 
82 }; // end of class
83 
84 template <class TImage>
86 
87 } // end of namespace otb
88 
89 #endif
otb::FullyDecomposedWaveletPacketCost::Evaluate
bool Evaluate(unsigned int decomposition, const ImageType *)
Definition: otbWaveletPacketDecompositionCosts.h:65
otb
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.
Definition: otbJoinContainer.h:32
otb::FullyDecomposedWaveletPacketCost::NumberOfAllowedDecompositions
static unsigned int NumberOfAllowedDecompositions
Definition: otbWaveletPacketDecompositionCosts.h:62
otb::FullyDecomposedWaveletPacketCost::Pointer
itk::SmartPointer< Self > Pointer
Definition: otbWaveletPacketDecompositionCosts.h:50
otb::FullyDecomposedWaveletPacketCost
Cost evaluation to be used into the Wavelet Packet decomposition class.
Definition: otbWaveletPacketDecompositionCosts.h:44
otb::FullyDecomposedWaveletPacketCost::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition: otbWaveletPacketDecompositionCosts.h:51
otb::FullyDecomposedWaveletPacketCost::Superclass
itk::Object Superclass
Definition: otbWaveletPacketDecompositionCosts.h:49
otb::FullyDecomposedWaveletPacketCost::Self
FullyDecomposedWaveletPacketCost Self
Definition: otbWaveletPacketDecompositionCosts.h:48
otb::FullyDecomposedWaveletPacketCost::FullyDecomposedWaveletPacketCost
FullyDecomposedWaveletPacketCost()
Definition: otbWaveletPacketDecompositionCosts.h:71
otb::FullyDecomposedWaveletPacketCost::ImageType
TImage ImageType
Definition: otbWaveletPacketDecompositionCosts.h:57
otb::FullyDecomposedWaveletPacketCost::~FullyDecomposedWaveletPacketCost
~FullyDecomposedWaveletPacketCost() override
Definition: otbWaveletPacketDecompositionCosts.h:74