OTB  9.0.0
Orfeo Toolbox
otbLabelizeNeighborhoodConnectedImageFilter.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 otbLabelizeNeighborhoodConnectedImageFilter_hxx
22 #define otbLabelizeNeighborhoodConnectedImageFilter_hxx
23 
25 
26 namespace otb
27 {
31 template <class TInputImage, class TOutputImage>
33 {
34  m_LowerThresholdDelta = itk::NumericTraits<InputPixelType>::NonpositiveMin();
35  m_UpperThresholdDelta = itk::NumericTraits<InputPixelType>::max();
37 
38  m_ReplaceValue = itk::NumericTraits<OutputPixelType>::One;
39 }
40 
44 template <class TInputImage, class TOutputImage>
46 {
47  InputPixelType threshold = this->GetInput()->GetPixel(indexSeed);
48 
49  this->m_RegionGrowingFilter->SetLower(threshold - m_LowerThresholdDelta);
50  this->m_RegionGrowingFilter->SetUpper(threshold + m_UpperThresholdDelta);
51 
52  this->m_RegionGrowingFilter->SetReplaceValue(m_ReplaceValue);
53  this->m_RegionGrowingFilter->SetSeed(indexSeed);
54  m_ReplaceValue++;
55 }
56 
60 template <class TInputImage, class TOutputImage>
62 {
63  Superclass::PrintSelf(os, indent);
64  os << indent << "LowerThresholdDelta: " << m_LowerThresholdDelta << std::endl;
65  os << indent << "UpperThresholdDelta: " << m_UpperThresholdDelta << std::endl;
66  os << indent << "ReplaceValue: " << m_ReplaceValue << std::endl;
67 }
68 } // end namespace otb
70 
71 #endif
otb::LabelizeNeighborhoodConnectedImageFilter::IndexType
TInputImage::IndexType IndexType
Definition: otbLabelizeNeighborhoodConnectedImageFilter.h:59
otb::LabelizeNeighborhoodConnectedImageFilter::LabelizeNeighborhoodConnectedImageFilter
LabelizeNeighborhoodConnectedImageFilter()
Definition: otbLabelizeNeighborhoodConnectedImageFilter.hxx:32
otb
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.
Definition: otbJoinContainer.h:32
otb::LabelizeNeighborhoodConnectedImageFilter::RegionGrowing
void RegionGrowing(const IndexType indexSeed) override
Definition: otbLabelizeNeighborhoodConnectedImageFilter.hxx:45
otbLabelizeNeighborhoodConnectedImageFilter.h
otb::LabelizeNeighborhoodConnectedImageFilter::InputPixelType
TInputImage::PixelType InputPixelType
Definition: otbLabelizeNeighborhoodConnectedImageFilter.h:57
otb::LabelizeNeighborhoodConnectedImageFilter::PrintSelf
void PrintSelf(std::ostream &os, itk::Indent indent) const override
Definition: otbLabelizeNeighborhoodConnectedImageFilter.hxx:61