PCL
pcl::AstrometricReprojection Class Reference

Astrometric image reprojection. More...

#include <AstrometricReprojection.h>

+ Inheritance diagram for pcl::AstrometricReprojection:

Public Member Functions

 AstrometricReprojection (const AstrometricReprojection &)=default
 
 AstrometricReprojection (PixelInterpolation &interpolation, const AstrometricMetadata &targetSolution, const AstrometricMetadata &sourceSolution, const ImageVariant &sourceImage, bool onTargetBounds=false)
 
void GetNewSizes (int &width, int &height) const override
 
bool OnTargetBounds () const
 
const ImageVariantSourceImage () const
 
const AstrometricMetadataSourceSolution () const
 
const DRectTargetRect () const
 
const AstrometricMetadataTargetSolution () const
 
size_type ZeroCount () const
 
- Public Member Functions inherited from pcl::InterpolatingGeometricTransformation
 InterpolatingGeometricTransformation (const InterpolatingGeometricTransformation &)=default
 
 InterpolatingGeometricTransformation (InterpolatingGeometricTransformation &&x)
 
 InterpolatingGeometricTransformation (PixelInterpolation &p)
 
void DisableUnclippedInterpolation (bool disable=true)
 
void EnableUnclippedInterpolation (bool enable=true)
 
PixelInterpolationInterpolation ()
 
const PixelInterpolationInterpolation () const
 
InterpolatingGeometricTransformationoperator= (const InterpolatingGeometricTransformation &)=default
 
InterpolatingGeometricTransformationoperator= (InterpolatingGeometricTransformation &&x)
 
void SetInterpolation (PixelInterpolation &p)
 
bool UsingUnclippedInterpolation () const
 
- Public Member Functions inherited from pcl::GeometricTransformation
 GeometricTransformation ()=default
 
 GeometricTransformation (const GeometricTransformation &)=default
 
 GeometricTransformation (GeometricTransformation &&)=default
 
 ~GeometricTransformation () override
 
GeometricTransformationoperator= (const GeometricTransformation &)=default
 
GeometricTransformationoperator= (GeometricTransformation &&)=default
 
- Public Member Functions inherited from pcl::ImageTransformation
 ImageTransformation ()=default
 
 ImageTransformation (const ImageTransformation &)=default
 
virtual ~ImageTransformation ()
 
template<class P >
GenericImage< P > & operator>> (GenericImage< P > &image) const
 
ImageVariantoperator>> (ImageVariant &image) const
 
- Public Member Functions inherited from pcl::ParallelProcess
 ParallelProcess ()=default
 
 ParallelProcess (const ParallelProcess &)=default
 
virtual ~ParallelProcess ()
 
void DisableParallelProcessing (bool disable=true) noexcept
 
void EnableParallelProcessing (bool enable=true, int maxProcessors=0) noexcept
 
bool IsParallelProcessingEnabled () const noexcept
 
int MaxProcessors () const noexcept
 
ParallelProcessoperator= (const ParallelProcess &)=default
 
void SetMaxProcessors (int maxProcessors) noexcept
 
void Swap (ParallelProcess &process) noexcept
 

Static Public Member Functions

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)
 
static bool TargetRectInsideSourceRect (const AstrometricMetadata &targetSolution, const AstrometricMetadata &sourceSolution, const DRect &targetRect, const DRect &sourceRect)
 
- Static Public Member Functions inherited from pcl::GeometricTransformation
template<class P >
static void ApplyGammaExponentCorrection (typename P::sample *samples, size_type length, double gamma, AbstractImage::ThreadData &threadData, int maxProcessors=PCL_MAX_PROCESSORS)
 
template<class P >
static void ApplyInverseGammaExponentCorrection (typename P::sample *samples, size_type length, double gamma, AbstractImage::ThreadData &threadData, int maxProcessors=PCL_MAX_PROCESSORS)
 
template<class P >
static void ApplyInverseSRGBGammaCorrection (typename P::sample *samples, size_type length, AbstractImage::ThreadData &threadData, int maxProcessors=PCL_MAX_PROCESSORS)
 
template<class P >
static void ApplySRGBGammaCorrection (typename P::sample *samples, size_type length, AbstractImage::ThreadData &threadData, int maxProcessors=PCL_MAX_PROCESSORS)
 

Protected Member Functions

void Apply (pcl::DImage &) const override
 
void Apply (pcl::Image &) const override
 
void Apply (pcl::UInt16Image &) const override
 
void Apply (pcl::UInt32Image &) const override
 
void Apply (pcl::UInt8Image &) const override
 
- Protected Member Functions inherited from pcl::ImageTransformation
virtual void Apply (pcl::ComplexImage &image) const
 
virtual void Apply (pcl::DComplexImage &image) const
 

Detailed Description

TODO: Write a detailed description for AstrometricReprojection

Definition at line 75 of file AstrometricReprojection.h.

Constructor & Destructor Documentation

◆ AstrometricReprojection() [1/2]

pcl::AstrometricReprojection::AstrometricReprojection ( PixelInterpolation interpolation,
const AstrometricMetadata targetSolution,
const AstrometricMetadata sourceSolution,
const ImageVariant sourceImage,
bool  onTargetBounds = false 
)
inline

Constructs a new AstrometricReprojection object.

Parameters
interpolationReference to a pixel interpolation for reprojection of source pixels.
targetSolutionThe astrometric solution of the target image. This object provides image-to-celestial coordinate transformations for reverse projection of interpolated source pixels on a target image.
sourceSolutionThe astrometric solution of the source image. This object provides celestial-to-image coordinate transformations for interpolation of source image pixels.
sourceImageThe source image that will be reprojected.
onTargetBoundsIf true, the reprojection will be calculated for the entire target image bounds. If false, the reprojection will be calculated exclusively within the reprojected rectangular region in target solution coordinates. The default value is false.

Setting onTargetBounds=true can be useful to accelerate reprojections performed on entire images, avoiding the performance penalty caused by the calculation of reprojected regions, when one knows in advance that the target solution is contained by the source solution. However, with onTargetBounds=false (default value), partial reprojections can be significantly accelerated by avoiding unnecessary calculations for pixels outside reprojected regions. This is typically the case of mosaic frame reprojections.

All objects specified in a call to this constructor must remain valid while this instance exists.

Definition at line 117 of file AstrometricReprojection.h.

◆ AstrometricReprojection() [2/2]

pcl::AstrometricReprojection::AstrometricReprojection ( const AstrometricReprojection )
default

Copy constructor.

Member Function Documentation

◆ Apply() [1/5]

void pcl::AstrometricReprojection::Apply ( pcl::DImage image) const
overrideprotectedvirtual

Applies this transformation to a 64-bit floating point image.

Reimplemented from pcl::ImageTransformation.

◆ Apply() [2/5]

void pcl::AstrometricReprojection::Apply ( pcl::Image image) const
overrideprotectedvirtual

Applies this transformation to a 32-bit floating point image.

Reimplemented from pcl::ImageTransformation.

◆ Apply() [3/5]

void pcl::AstrometricReprojection::Apply ( pcl::UInt16Image image) const
overrideprotectedvirtual

Applies this transformation to a 16-bit unsigned integer image.

Reimplemented from pcl::ImageTransformation.

◆ Apply() [4/5]

void pcl::AstrometricReprojection::Apply ( pcl::UInt32Image image) const
overrideprotectedvirtual

Applies this transformation to a 32-bit unsigned integer image.

Reimplemented from pcl::ImageTransformation.

◆ Apply() [5/5]

void pcl::AstrometricReprojection::Apply ( pcl::UInt8Image image) const
overrideprotectedvirtual

Applies this transformation to an 8-bit unsigned integer image.

Reimplemented from pcl::ImageTransformation.

◆ GetNewSizes()

void pcl::AstrometricReprojection::GetNewSizes ( int &  width,
int &  height 
) const
inlineoverridevirtual

Predicts transformed image dimensions.

Parameters
[in,out]widthReference to a variable whose value is a horizontal dimension in pixels (width). On output, it will receive the predicted horizontal dimension after the transformation.
[in,out]heightReference to a variable whose value is a vertical dimension in pixels (height). On output, it will receive the predicted vertical dimension after the transformation.
Note
This is a pure virtual member function that must be reimplemented in every derived class.

Implements pcl::GeometricTransformation.

Definition at line 241 of file AstrometricReprojection.h.

◆ OnTargetBounds()

bool pcl::AstrometricReprojection::OnTargetBounds ( ) const
inline

Returns true iff this astrometric reprojection has been constructed to calculate reprojections on entire target images. See the class constructor for more information on partial and complete reprojections.

Definition at line 168 of file AstrometricReprojection.h.

◆ SourceImage()

const ImageVariant& pcl::AstrometricReprojection::SourceImage ( ) const
inline

Returns a reference to the source image that will be reprojected.

Definition at line 158 of file AstrometricReprojection.h.

◆ SourceSolution()

const AstrometricMetadata& pcl::AstrometricReprojection::SourceSolution ( ) const
inline

Returns a reference to the astrometric solution of the source image. The returned object provides celestial-to-image coordinate transformations for interpolation of source image pixels.

Definition at line 150 of file AstrometricReprojection.h.

◆ TargetPointInsideSourceRect()

static bool pcl::AstrometricReprojection::TargetPointInsideSourceRect ( const AstrometricMetadata targetSolution,
const AstrometricMetadata sourceSolution,
const DPoint targetPt,
const DRect sourceRect 
)
static

Returns true iff the specified point in target solution coordinates lies inside the specified source solution coordinates after astrometric reprojection.

Parameters
targetSolutionThe target astrometric solution.
sourceSolutionThe source astrometric solution.
targetPtThe target point in target solution coordinates.
sourceRectThe source rectangular region in source solution coordinates.

◆ TargetRect() [1/2]

const DRect& pcl::AstrometricReprojection::TargetRect ( ) const
inline

Returns the rectangle in target solution coordinates that encloses the boundaries of the reprojected source solution.

Definition at line 177 of file AstrometricReprojection.h.

◆ TargetRect() [2/2]

static DRect pcl::AstrometricReprojection::TargetRect ( const AstrometricMetadata targetSolution,
const AstrometricMetadata sourceSolution,
const Rect sourceRect 
)
static

Returns a reprojected rectangle in source solution coordinates.

Parameters
targetSolutionThe target astrometric solution.
sourceSolutionThe source astrometric solution.
sourceRectThe source rectangular region.

This function throws an Error exception in the event of invalid coordinate transformations.

◆ TargetRectInsideSourceRect()

static bool pcl::AstrometricReprojection::TargetRectInsideSourceRect ( const AstrometricMetadata targetSolution,
const AstrometricMetadata sourceSolution,
const DRect targetRect,
const DRect sourceRect 
)
static

Returns true iff the specified rectangular region in target solution coordinates lies inside the specified source solution coordinates after astrometric reprojection.

Parameters
targetSolutionThe target astrometric solution.
sourceSolutionThe source astrometric solution.
targetRectThe target rectangular region in target solution coordinates.
sourceRectThe source rectangular region in source solution coordinates.

◆ TargetSolution()

const AstrometricMetadata& pcl::AstrometricReprojection::TargetSolution ( ) const
inline

Returns a reference to the astrometric solution of the target image. The returned object provides image-to-celestial coordinate transformations for reverse projection of interpolated source pixels on a target image.

Definition at line 140 of file AstrometricReprojection.h.

◆ ZeroCount()

size_type pcl::AstrometricReprojection::ZeroCount ( ) const
inline

Returns the total number of black (zero) source pixels reprojected in the last process execution. This is useful to detect reprojection of empty source image regions.

Returns zero if this instante has not yet been executed.

Definition at line 252 of file AstrometricReprojection.h.


The documentation for this class was generated from the following file: