21 #ifndef otbGridResampleImageFilter_h
22 #define otbGridResampleImageFilter_h
25 #include "itkImageToImageFilter.h"
26 #include "itkLinearInterpolateImageFunction.h"
27 #include "itkDefaultConvertPixelTraits.h"
60 template <
typename TInputImage,
typename TOutputImage,
typename TInterpolatorPrecision =
double>
66 typedef itk::ImageToImageFilter<TInputImage, TOutputImage>
Superclass;
77 itkStaticConstMacro(ImageDimension,
unsigned int, TOutputImage::ImageDimension);
78 itkStaticConstMacro(InputImageDimension,
unsigned int, TInputImage::ImageDimension);
92 typedef itk::InterpolateImageFunction<InputImageType, TInterpolatorPrecision>
InterpolatorType;
124 itkSetMacro(CheckOutputBounds,
bool);
125 itkGetMacro(CheckOutputBounds,
bool);
126 itkBooleanMacro(CheckOutputBounds);
128 itkSetMacro(InterpolationMargin,
double);
129 itkGetMacro(InterpolationMargin,
double);
135 void SetOutputParametersFromImage(
const ImageBaseType* image);
138 itk::ModifiedTimeType GetMTime(
void)
const override;
146 void GenerateOutputInformation()
override;
148 void GenerateInputRequestedRegion()
override;
150 void BeforeThreadedGenerateData()
override;
152 void DynamicThreadedGenerateData(
const OutputImageRegionType& outputRegionForThread)
override;
154 void AfterThreadedGenerateData()
override;
162 itk::NumericTraits<OutputPixelType>::SetLength(outputValue, nComponents);
164 for (
unsigned int n = 0; n < nComponents; n++)
168 if (m_CheckOutputBounds && component < minComponent)
172 else if (m_CheckOutputBounds && component > maxComponent)
184 void PrintSelf(std::ostream& os, itk::Indent indent)
const override;
214 #ifndef OTB_MANUAL_INSTANTIATION
Resample input image on a new origin/spacing/size grid.
ImageBaseType::PointType PointType
ImageBaseType::SizeType SizeType
void operator=(const Self &)=delete
InterpolatorConvertType::ComponentType InterpolatorComponentType
double m_InterpolationMargin
SpacingType m_OutputSpacing
OutputImageType::RegionType OutputImageRegionType
itk::DefaultConvertPixelTraits< InterpolatorOutputType > InterpolatorConvertType
InterpolatorType::Pointer InterpolatorPointerType
itk::InterpolateImageFunction< InputImageType, TInterpolatorPrecision > InterpolatorType
itk::SmartPointer< Self > Pointer
itk::ImageBase< OutputImageType::ImageDimension > ImageBaseType
void CastPixelWithBoundsChecking(const InterpolatorOutputType &value, const InterpolatorComponentType &minComponent, const InterpolatorComponentType &maxComponent, OutputPixelType &outputValue) const
ImageBaseType::SpacingType SpacingType
OutputPixelConvertType::ComponentType OutputPixelComponentType
itk::ImageToImageFilter< TInputImage, TOutputImage > Superclass
~GridResampleImageFilter() override
InterpolatorPointerType m_Interpolator
GridResampleImageFilter(const Self &)=delete
ImageBaseType::IndexType IndexType
OutputImageRegionType m_ReachableOutputRegion
GridResampleImageFilter Self
TOutputImage OutputImageType
itk::ContinuousIndex< double, InputImageDimension > ContinuousInputIndexType
IndexType m_OutputStartIndex
itkGetObjectMacro(Interpolator, InterpolatorType)
TInputImage InputImageType
itk::DefaultConvertPixelTraits< OutputPixelType > OutputPixelConvertType
InterpolatorType::OutputType InterpolatorOutputType
itk::LinearInterpolateImageFunction< InputImageType, TInterpolatorPrecision > DefaultInterpolatorType
itk::SmartPointer< const Self > ConstPointer
OutputPixelType m_EdgePaddingValue
TOutputImage::PixelType OutputPixelType
unsigned int GetNumberOfComponents(PixelType const &pix)
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.