21 #ifndef otbGenericRSResampleImageFilter_h
22 #define otbGenericRSResampleImageFilter_h
55 template <
class TInputImage,
class TOutputImage>
61 typedef itk::ImageToImageFilter<TInputImage, TOutputImage>
Superclass;
114 m_Resampler->SetOutputOrigin(origin);
138 m_Resampler->SetInterpolator(interpolator);
156 m_Transform->SetOutputProjectionRef(ref);
163 return m_Transform->GetOutputProjectionRef();
168 m_Transform->SetInputProjectionRef(ref);
174 return m_Transform->GetInputProjectionRef();
181 m_Transform->SetOutputImageMetadata(imd);
188 return m_Transform->GetOutputImageMetadata();
195 m_Transform->SetInputImageMetadata(imd);
202 return m_Transform->GetInputImageMetadata();
206 void SetOutputParametersFromImage(
const ImageBaseType* image);
211 template <
class TImageType>
212 void SetOutputParametersFromImage(
const TImageType* image);
217 void SetOutputParametersFromMap(
const std::string& map,
const SpacingType& spacing);
222 void SetOutputParametersFromMap(
const std::string& projectionRef);
227 m_InputRpcEstimator->SetGridSize(gridSize);
234 m_InputRpcEstimator->SetGridSize(gridSize);
241 return m_InputRpcEstimator->GetGridSize();
245 itkSetMacro(EstimateInputRpcModel,
bool);
246 itkGetMacro(EstimateInputRpcModel,
bool);
247 itkBooleanMacro(EstimateInputRpcModel);
253 m_OutputRpcEstimator->SetGridSize(gridSize);
260 m_OutputRpcEstimator->SetGridSize(gridSize);
267 return m_OutputRpcEstimator->GetGridSize();
271 itkSetMacro(EstimateOutputRpcModel,
bool);
272 itkGetMacro(EstimateOutputRpcModel,
bool);
273 itkBooleanMacro(EstimateOutputRpcModel);
279 m_Resampler->SetDisplacementFilterNumberOfThreads(nbThread);
283 void PropagateRequestedRegion(itk::DataObject* output)
override;
290 void GenerateData()
override;
292 void GenerateOutputInformation()
override;
294 virtual void UpdateTransform();
296 void PrintSelf(std::ostream& os, itk::Indent indent)
const override;
303 void EstimateOutputRpcModel();
304 void EstimateInputRpcModel();
320 #ifndef OTB_MANUAL_INSTANTIATION
This class is a composite filter that allows you to project an input image from any coordinate system...
void SetOutputProjectionRef(const std::string &ref)
itk::ImageToImageFilter< TInputImage, TOutputImage > Superclass
otbSetObjectMemberMacro(Resampler, DisplacementFieldSpacing, SpacingType)
const SizeType & GetOutputRpcGridSize() const
otbGetObjectMemberConstReferenceMacro(Resampler, OutputSpacing, SpacingType)
InputRpcModelEstimatorPointerType m_InputRpcEstimator
GenericRSResampleImageFilter Self
itk::SmartPointer< Self > Pointer
void SetOutputRpcGridSize(unsigned int gridSize)
ResamplerType::OriginType OriginType
otbGetObjectMemberMacro(Resampler, EdgePaddingValue, typename OutputImageType::PixelType)
bool m_RpcEstimationUpdated
OutputRpcModelEstimatorPointerType m_OutputRpcEstimator
itk::ImageBase< OutputImageType::ImageDimension > ImageBaseType
otbGetObjectMemberConstReferenceMacro(Resampler, OutputStartIndex, IndexType)
void SetInputImageMetadata(const ImageMetadata *imd)
OutputImageType::InternalPixelType OutputInternalPixelType
otbGetObjectMemberConstMacro(Resampler, Interpolator, const InterpolatorType *)
ResamplerType::TransformType TransformType
otbSetObjectMemberMacro(Resampler, EdgePaddingValue, typename OutputImageType::PixelType)
const SizeType & GetInputRpcGridSize() const
ResamplerType::InterpolatorType InterpolatorType
void SetInterpolator(InterpolatorType *interpolator)
std::string GetOutputProjectionRef() const
ResamplerType::SizeType SizeType
OutputRpcModelEstimatorType::Pointer OutputRpcModelEstimatorPointerType
void operator=(const Self &)=delete
otbGetObjectMemberConstReferenceMacro(Resampler, DisplacementFieldSpacing, SpacingType)
StreamingResampleImageFilter< InputImageType, OutputImageType > ResamplerType
void SetInputRpcGridSize(const SizeType &gridSize)
const ImageMetadata * GetInputImageMetadata()
otbGetObjectMemberConstReferenceMacro(Resampler, OutputSize, SizeType)
std::string GetInputProjectionRef() const
GenericRSTransform GenericRSTransformType
void SetOutputImageMetadata(const ImageMetadata *imd)
void SetOutputRpcGridSize(const SizeType &gridSize)
const ImageMetadata * GetOutputImageMetadata()
ResamplerType::Pointer ResamplerPointerType
otbSetObjectMemberMacro(Resampler, OutputSpacing, SpacingType)
ResamplerType::RegionType RegionType
GenericRSResampleImageFilter(const Self &)=delete
otbSetObjectMemberMacro(Resampler, OutputStartIndex, IndexType)
InputRpcModelEstimatorType::Pointer InputRpcModelEstimatorPointerType
bool m_EstimateOutputRpcModel
PhysicalToRPCSensorModelImageFilter< InputImageType > InputRpcModelEstimatorType
ResamplerPointerType m_Resampler
otbGetObjectMemberConstReferenceMacro(Resampler, OutputOrigin, OriginType)
PhysicalToRPCSensorModelImageFilter< OutputImageType > OutputRpcModelEstimatorType
TOutputImage OutputImageType
~GenericRSResampleImageFilter() override
void SetInputProjectionRef(const std::string &ref)
GenericRSTransformType::Pointer GenericRSTransformPointerType
TInputImage InputImageType
itk::SmartPointer< const Self > ConstPointer
ResamplerType::IndexType IndexType
ResamplerType::SpacingType SpacingType
OutputImageType::PointType OutputPointType
void SetInputRpcGridSize(unsigned int gridSize)
GenericRSTransformPointerType m_Transform
otbSetObjectMemberMacro(Resampler, OutputSize, SizeType)
void SetOutputOrigin(const OriginType &origin)
void SetDisplacementFilterNumberOfThreads(unsigned int nbThread)
bool m_EstimateInputRpcModel
This filter estimates a RPC sensor models from a physical model.
itk::SmartPointer< Self > Pointer
This class is a composite filter resampling an input image by setting a transform....
DisplacementFieldGeneratorType::SizeType SizeType
DisplacementFieldGeneratorType::RegionType RegionType
DisplacementFieldGeneratorType::OriginType OriginType
DisplacementFieldGeneratorType::TransformType TransformType
itk::InterpolateImageFunction< InputImageType, TInterpolatorPrecisionType > InterpolatorType
DisplacementFieldGeneratorType::SpacingType SpacingType
DisplacementFieldGeneratorType::IndexType IndexType
itk::SmartPointer< Self > Pointer
itk::ImageBase< 2 > ImageBaseType
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.