OTB  6.7.0
Orfeo Toolbox
otbImageToEdgePathFilter.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 #ifndef otbImageToEdgePathFilter_h
22 #define otbImageToEdgePathFilter_h
23 
24 #include "otbImageToPathFilter.h"
25 
26 namespace otb
27 {
57 template <class TInputImage, class TOutputPath>
58 class ITK_EXPORT ImageToEdgePathFilter
59  : public ImageToPathFilter<TInputImage, TOutputPath>
60 {
61 public:
67 
69  itkNewMacro(Self);
72 
75  typedef typename Superclass::InputImagePointerType InputImagePointerType;
76  typedef typename Superclass::OutputPathType OutputPathType;
77  typedef typename Superclass::OutputPathPointerType OutputPathPointerType;
78  typedef typename OutputPathType::ContinuousIndexType ContinuousIndexType;
79 
80  typedef typename InputImageType::PixelType PixelType;
82 
84  itkSetMacro(ForegroundValue, PixelType);
85  itkGetConstMacro(ForegroundValue, PixelType);
87 
88 protected:
90  ~ImageToEdgePathFilter() override {}
91  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
92  void GenerateOutputInformation() override {} //does nothing
93  void GenerateData() override;
94 
95 private:
96  ImageToEdgePathFilter(const Self &) = delete;
97  void operator =(const Self&) = delete;
98 
100 };
101 
102 } // end namespace otb
103 
104 #ifndef OTB_MANUAL_INSTANTIATION
106 #endif
107 
108 #endif
itk::Size< Monteverdi_DIMENSION > SizeType
Definition: mvdTypes.h:137
InputImageType::SizeType SizeType
InputImageType::PixelType PixelType
itk::SmartPointer< Self > Pointer
ImageToPathFilter< TInputImage, TOutputPath > Superclass
Superclass::InputImageType InputImageType
Template parameters typedef.
itk::SmartPointer< const Self > ConstPointer
OutputPathType::ContinuousIndexType ContinuousIndexType
Superclass::OutputPathPointerType OutputPathPointerType
This filter compute the closed edge path of a labelled object in an image (for example coming from a ...
Superclass::OutputPathType OutputPathType
Base class for filters taking an image as input, and producing an output of type Path.
Superclass::InputImagePointerType InputImagePointerType
TInputImage InputImageType
template parameters typedefs