52 #ifndef __PCL_AstrometricReprojection_h
53 #define __PCL_AstrometricReprojection_h
58 #include <pcl/Diagnostics.h>
121 bool onTargetBounds =
false )
123 , m_targetSolution( targetSolution )
124 , m_sourceSolution( sourceSolution )
125 , m_sourceImage( sourceImage )
126 , m_onTargetBounds( onTargetBounds )
142 return m_targetSolution;
152 return m_sourceSolution;
160 return m_sourceImage;
170 return m_onTargetBounds;
179 if ( !m_targetRect.IsRect() )
180 m_targetRect = TargetRect( m_targetSolution, m_sourceSolution, m_sourceSolution.Bounds() );
198 const Rect& sourceRect );
217 const DRect& sourceRect );
236 const DRect& targetRect,
237 const DRect& sourceRect );
262 bool m_onTargetBounds =
false;
263 mutable DRect m_targetRect = 0;
273 friend class PCL_AstrometricReprojectionEngine;
Astrometric image reprojection.
void Apply(pcl::DImage &) const override
void Apply(pcl::UInt16Image &) const override
static bool TargetRectInsideSourceRect(const AstrometricMetadata &targetSolution, const AstrometricMetadata &sourceSolution, const DRect &targetRect, const DRect &sourceRect)
void Apply(pcl::UInt32Image &) const override
size_type ZeroCount() const
void Apply(pcl::Image &) const override
void Apply(pcl::UInt8Image &) const override
bool OnTargetBounds() const
void GetNewSizes(int &width, int &height) const override
const AstrometricMetadata & SourceSolution() const
const AstrometricMetadata & TargetSolution() const
static bool TargetPointInsideSourceRect(const AstrometricMetadata &targetSolution, const AstrometricMetadata &sourceSolution, const DPoint &targetPt, const DRect &sourceRect)
static DRect TargetRect(const AstrometricMetadata &targetSolution, const AstrometricMetadata &sourceSolution, const Rect &sourceRect)
const ImageVariant & SourceImage() const
AstrometricReprojection(PixelInterpolation &interpolation, const AstrometricMetadata &targetSolution, const AstrometricMetadata &sourceSolution, const ImageVariant &sourceImage, bool onTargetBounds=false)
const DRect & TargetRect() const
AstrometricReprojection(const AstrometricReprojection &)=default
Implements a generic, two-dimensional, shared or local image.
A generic point in the two-dimensional space.
A generic rectangle in the two-dimensional space.
Acts like a union for all types of images in PCL, with optional class-wide ownership of transported i...
A process using multiple concurrent execution threads.
Abstract root base class for all pixel interpolation algorithms.