OTB  10.0.0
Orfeo Toolbox
otbStreamingFeatherMosaicFilter.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1999-2011 Insight Software Consortium
3  * Copyright (C) 2005-2024 Centre National d'Etudes Spatiales (CNES)
4  * Copyright (C) 2016-2019 IRSTEA
5  *
6  * This file is part of Orfeo Toolbox
7  *
8  * https://www.orfeo-toolbox.org/
9  *
10  * Licensed under the Apache License, Version 2.0 (the "License");
11  * you may not use this file except in compliance with the License.
12  * You may obtain a copy of the License at
13  *
14  * http://www.apache.org/licenses/LICENSE-2.0
15  *
16  * Unless required by applicable law or agreed to in writing, software
17  * distributed under the License is distributed on an "AS IS" BASIS,
18  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19  * See the License for the specific language governing permissions and
20  * limitations under the License.
21  */
22 #ifndef __StreamingFeatherMosaicFilter_H
23 #define __StreamingFeatherMosaicFilter_H
24 
26 #include "itkLinearInterpolateImageFunction.h"
27 
28 namespace otb
29 {
53 template <class TInputImage, class TOutputImage, class TDistanceImage, class TInternalValueType = double>
54 class ITK_EXPORT StreamingFeatherMosaicFilter : public StreamingMosaicFilterWithBlendingBase<TInputImage, TOutputImage, TDistanceImage, TInternalValueType>
55 {
56 public:
60  typedef itk::SmartPointer<Self> Pointer;
61  typedef itk::SmartPointer<const Self> ConstPointer;
62 
64  itkNewMacro(Self);
65 
68 
79 
89  typedef typename Superclass::OutputImageRegionType OutputImageRegionType;
90 
102 
104  typedef TDistanceImage DistanceImageType;
105  typedef typename DistanceImageType::Pointer DistanceImagePointer;
106  typedef typename DistanceImageType::ConstPointer DistanceImageConstPointer;
107  typedef typename DistanceImageType::PointType DistanceImagePointType;
108  typedef typename DistanceImageType::PixelType DistanceImagePixelType;
109  typedef typename DistanceImageType::InternalPixelType DistanceImageInternalPixelType;
110  typedef typename DistanceImageType::RegionType DistanceImageRegionType;
111  typedef typename itk::InterpolateImageFunction<DistanceImageType> DistanceImageInterpolatorType;
112  typedef typename itk::LinearInterpolateImageFunction<DistanceImageType> DistanceImageDefaultInterpolatorType;
113  typedef typename DistanceImageInterpolatorType::Pointer DistanceImageInterpolatorPointer;
114 
116  itkSetMacro(FeatheringTransitionDistance, InternalValueType);
117  itkGetMacro(FeatheringTransitionDistance, InternalValueType);
119 
121  itkSetMacro(FeatheringSmoothness, InternalValueType);
122  itkGetMacro(FeatheringSmoothness, InternalValueType);
124 
125 protected:
128  {
129  }
130 
132  void DynamicThreadedGenerateData(const OutputImageRegionType& outputRegionForThread) override;
133 
134 private:
136  // distance
138 
139 }; // end of class
140 
141 } // end namespace otb
142 
143 #ifndef OTB_MANUAL_INSTANTIATION
145 #endif
146 
147 #endif
Computes the mosaic of an input images set using feathering technique. The output is a nice seamless ...
Superclass::InputImageSizeType InputImageSizeType
DistanceImageInterpolatorType::Pointer DistanceImageInterpolatorPointer
Superclass::InputImageInternalPixelType InputImageInternalPixelType
Superclass::DefaultInterpolatorType DefaultInterpolatorType
itk::SmartPointer< const Self > ConstPointer
Superclass::OutputImageSpacingType OutputImageSpacingType
Superclass::InternalPixelType InternalPixelType
DistanceImageType::PointType DistanceImagePointType
StreamingMosaicFilterWithBlendingBase< TInputImage, TOutputImage, TDistanceImage, TInternalValueType > Superclass
Superclass::ContinuousIndexType ContinuousIndexType
Superclass::InputImagePointType InputImagePointType
DistanceImageType::PixelType DistanceImagePixelType
Superclass::OutputImagePixelType OutputImagePixelType
DistanceImageType::InternalPixelType DistanceImageInternalPixelType
Superclass::OutputImagePointer OutputImagePointer
Superclass::InterpolatorPointerType InterpolatorPointerType
Superclass::OutputImageSizeType OutputImageSizeType
Superclass::OutputImagePointType OutputImagePointType
itk::InterpolateImageFunction< DistanceImageType > DistanceImageInterpolatorType
Superclass::OutputImageInternalPixelType OutputImageInternalPixelType
Superclass::InputImagePointer InputImagePointer
Superclass::InputImageIndexType InputImageIndexType
itk::LinearInterpolateImageFunction< DistanceImageType > DistanceImageDefaultInterpolatorType
DistanceImageType::ConstPointer DistanceImageConstPointer
Superclass::StreamingTraitsType StreamingTraitsType
Superclass::InternalValueType InternalValueType
Superclass::InputImagePixelType InputImagePixelType
Superclass::OutputImageRegionType OutputImageRegionType
Superclass::OutputImageIndexType OutputImageIndexType
Superclass::InternalImageType InternalImageType
Superclass::InputImageSpacingType InputImageSpacingType
Superclass::InputImageRegionType InputImageRegionType
DistanceImageType::RegionType DistanceImageRegionType
itk::NearestNeighborInterpolateImageFunction< InputImageType, InternalValueType > DefaultInterpolatorType
itk::InterpolateImageFunction< InputImageType, InternalValueType > InterpolatorType
This class provides internal information for streamable filters.
Creation of an "otb" vector image which contains metadata.
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.