OTB  6.1.0
Orfeo Toolbox
otbFourierMellinDescriptorsIFFactory.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2005-2017 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 #ifndef otbFourierMellinDescriptorsIFFactory_h
22 #define otbFourierMellinDescriptorsIFFactory_h
23 
24 #include "itkLightObject.h"
25 
26 #include "otbMetaImageFunction.h"
27 #include "itkDataObject.h"
30 
31 
32 namespace otb
33 {
46 template <class TImageType, class TCoordRep = double, class TPrecision = double>
48  public itk::LightObject
49 {
50 public:
56 
57  // New macro
58  itkNewMacro(Self);
59 
60  // RTTI typeinfo
62 
63  // Input and output typedef
64  typedef TImageType InputImageType;
65  typedef TCoordRep CoordRepType;
66  typedef TPrecision PrecisionType;
67 
68  // Other typedef
70  typedef typename std::vector<itk::DataObject::Pointer> DataObjectContainerType;
71  typedef typename std::vector<PrecisionType> ParamContainerType;
76 
77  void Create(InputImageType * image,
78  ParamContainerType param,
80  DataObjectContainerType * container);
81 
82 protected:
85  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
86 
87 private:
88  FourierMellinDescriptorsIFFactory(const Self& ); //purposely not implemented
89  void operator=(const Self& ); //purposely not implemented
90 
91 };
92 
93 } // End namespace otb
94 #ifndef OTB_MANUAL_INSTANTIATION
96 #endif
97 
98 #endif
FourierMellinDescriptorsImageFunction< InputImageType, CoordRepType > FourierMellinDescriptorsIF
Calculate the Fourier-Mellin descriptors in the specified neighborhood.
Adapt the output of the internal image function to be a itk::VariableLengthVector.
ImageFunctionAdaptor< FourierMellinDescriptorsIF, TPrecision > AdaptedFourierMellinDescriptorsIF
std::vector< itk::DataObject::Pointer > DataObjectContainerType
OTBGdalAdapters_EXPORT GDALDatasetType * Create(GDALDriverType *driver, const char *name)
MetaImageFunction< TPrecision >::Pointer MetaImageFunctionPointerType