OTB  9.0.0
Orfeo Toolbox
otbSiftFastImageFilter.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2005-2022 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 otbSiftFastImageFilter_h
22 #define otbSiftFastImageFilter_h
23 
25 #include "otbImage.h"
26 
27 namespace otb
28 {
29 
51 template <class TInputImage, class TOutputPointSet>
52 class ITK_EXPORT SiftFastImageFilter : public ImageToPointSetFilter<TInputImage, TOutputPointSet>
53 {
54 public:
58  typedef itk::SmartPointer<Self> Pointer;
59  typedef itk::SmartPointer<const Self> ConstPointer;
60 
62  itkNewMacro(Self);
63 
66 
69  typedef TInputImage InputImageType;
70  typedef typename TInputImage::Pointer InputImagePointerType;
71  typedef typename TInputImage::PixelType PixelType;
72 
73  typedef TOutputPointSet OutputPointSetType;
74  typedef typename TOutputPointSet::Pointer OutputPointSetPointerType;
75  typedef typename TOutputPointSet::PixelType OutputPixelType;
76  typedef typename TOutputPointSet::PointType OutputPointType;
77  typedef typename TOutputPointSet::PointIdentifier OutputPointIdentifierType;
78 
80  typedef std::vector<std::pair<OutputPointType, double>> OrientationVectorType;
81 
82  itkSetMacro(ScalesNumber, unsigned int);
83  itkGetMacro(ScalesNumber, unsigned int);
84 
85  // Set/Get the Orientation of all KeyPoints
87  {
88  return m_OrientationVector;
89  }
90 
91 protected:
93  void GenerateData() override;
94 
97 
100  {
101  }
102 
104  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
105 
106 private:
108  unsigned int m_ScalesNumber;
110 };
111 } // End namespace otb
112 #ifndef OTB_MANUAL_INSTANTIATION
114 #endif
115 
116 #endif
otb::SiftFastImageFilter::InputImagePointerType
TInputImage::Pointer InputImagePointerType
Definition: otbSiftFastImageFilter.h:70
otb::SiftFastImageFilter::PixelType
TInputImage::PixelType PixelType
Definition: otbSiftFastImageFilter.h:71
otbImage.h
otb::ImageToPointSetFilter
Base class to output PointSet data with image data as input.
Definition: otbImageToPointSetFilter.h:44
otb::SiftFastImageFilter::Superclass
ImageToPointSetFilter< TInputImage, TOutputPointSet > Superclass
Definition: otbSiftFastImageFilter.h:57
otb::SiftFastImageFilter::OrientationVectorType
std::vector< std::pair< OutputPointType, double > > OrientationVectorType
Definition: otbSiftFastImageFilter.h:80
otb::SiftFastImageFilter::InputImageType
TInputImage InputImageType
Definition: otbSiftFastImageFilter.h:65
otb
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.
Definition: otbJoinContainer.h:32
otb::Image
Creation of an "otb" image which contains metadata.
Definition: otbImage.h:89
otb::SiftFastImageFilter::FloatImageType
otb::Image< float, 2 > FloatImageType
Definition: otbSiftFastImageFilter.h:79
otb::SiftFastImageFilter::Pointer
itk::SmartPointer< Self > Pointer
Definition: otbSiftFastImageFilter.h:58
otbSiftFastImageFilter.hxx
otb::SiftFastImageFilter::GetOrientationVector
OrientationVectorType GetOrientationVector()
Definition: otbSiftFastImageFilter.h:86
otbImageToPointSetFilter.h
otb::SiftFastImageFilter::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition: otbSiftFastImageFilter.h:59
otb::SiftFastImageFilter::OutputPointIdentifierType
TOutputPointSet::PointIdentifier OutputPointIdentifierType
Definition: otbSiftFastImageFilter.h:77
otb::SiftFastImageFilter::Self
SiftFastImageFilter Self
Definition: otbSiftFastImageFilter.h:56
otb::SiftFastImageFilter::~SiftFastImageFilter
~SiftFastImageFilter() override
Definition: otbSiftFastImageFilter.h:99
otb::SiftFastImageFilter::OutputPointSetPointerType
TOutputPointSet::Pointer OutputPointSetPointerType
Definition: otbSiftFastImageFilter.h:74
otb::SiftFastImageFilter
This class extracts key points from an input image through a pyramidal decomposition.
Definition: otbSiftFastImageFilter.h:52
otb::SiftFastImageFilter::m_OrientationVector
OrientationVectorType m_OrientationVector
Definition: otbSiftFastImageFilter.h:109
otb::SiftFastImageFilter::OutputPointType
TOutputPointSet::PointType OutputPointType
Definition: otbSiftFastImageFilter.h:76
otb::SiftFastImageFilter::OutputPixelType
TOutputPointSet::PixelType OutputPixelType
Definition: otbSiftFastImageFilter.h:75
otb::SiftFastImageFilter::OutputPointSetType
TOutputPointSet OutputPointSetType
Definition: otbSiftFastImageFilter.h:73
otb::SiftFastImageFilter::m_ScalesNumber
unsigned int m_ScalesNumber
Definition: otbSiftFastImageFilter.h:108