OTB  9.0.0
Orfeo Toolbox
otbLabelizeConnectedThresholdImageFilter.hxx
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 otbLabelizeConnectedThresholdImageFilter_hxx
22 #define otbLabelizeConnectedThresholdImageFilter_hxx
23 
24 #include "itkNumericTraits.h"
25 
27 
28 namespace otb
29 {
33 template <class TInputImage, class TOutputImage>
35 {
36  m_LowerThresholdDelta = itk::NumericTraits<InputPixelType>::NonpositiveMin();
37  m_UpperThresholdDelta = itk::NumericTraits<InputPixelType>::max();
39 
40  m_ReplaceValue = 5; // itk::NumericTraits<OutputPixelType>::One;
41 }
42 
46 template <class TInputImage, class TOutputImage>
48 {
49  InputPixelType threshold = this->GetInput()->GetPixel(indexSeed);
50 
51  this->m_RegionGrowingFilter->SetLower(threshold - m_LowerThresholdDelta);
52  this->m_RegionGrowingFilter->SetUpper(threshold + m_UpperThresholdDelta);
53 
54  this->m_RegionGrowingFilter->SetReplaceValue(m_ReplaceValue);
55  this->m_RegionGrowingFilter->SetSeed(indexSeed);
56  m_ReplaceValue++;
57 }
58 
62 template <class TInputImage, class TOutputImage>
64 {
65  Superclass::PrintSelf(os, indent);
66  os << indent << "LowerThresholdDelta: " << m_LowerThresholdDelta << std::endl;
67  os << indent << "UpperThresholdDelta: " << m_UpperThresholdDelta << std::endl;
68  os << indent << "ReplaceValue: " << m_ReplaceValue << std::endl;
69 }
70 } // end namespace otb
72 
73 #endif
otb::LabelizeConnectedThresholdImageFilter::PrintSelf
void PrintSelf(std::ostream &os, itk::Indent indent) const override
Definition: otbLabelizeConnectedThresholdImageFilter.hxx:63
otb
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.
Definition: otbJoinContainer.h:32
otb::LabelizeConnectedThresholdImageFilter::InputPixelType
TInputImage::PixelType InputPixelType
Definition: otbLabelizeConnectedThresholdImageFilter.h:50
otb::LabelizeConnectedThresholdImageFilter::IndexType
TInputImage::IndexType IndexType
Definition: otbLabelizeConnectedThresholdImageFilter.h:52
otb::LabelizeConnectedThresholdImageFilter::RegionGrowing
void RegionGrowing(const IndexType indexSeed) override
Definition: otbLabelizeConnectedThresholdImageFilter.hxx:47
otbLabelizeConnectedThresholdImageFilter.h
otb::LabelizeConnectedThresholdImageFilter::LabelizeConnectedThresholdImageFilter
LabelizeConnectedThresholdImageFilter()
Definition: otbLabelizeConnectedThresholdImageFilter.hxx:34