mxlib
c++ tools for analyzing astronomical data and other tasks by Jared R. Males. [git repo]
Loading...
Searching...
No Matches
imageTransforms.hpp File Reference

Image interpolation and transformation. More...

Image interpolation and transformation.

Author
Jared R. Males

Definition in file imageTransforms.hpp.

#include <cstddef>
#include <cmath>
#include <iostream>
#include <limits>
#include "eigenImage.hpp"

Go to the source code of this file.

Classes

struct  mx::improc::bilinearTransform< _arithT >
 Transformation by bi-linear interpolation. More...
struct  mx::improc::cubicConvolTransform< _arithT >
 Transformation by cubic convolution interpolation. More...

Namespaces

namespace  mx
 The mxlib c++ namespace.

Typedefs

typedef bilinearTransform< float > mx::improc::bilinearTransf
 Typedef for bilinearTransform with single precision.
typedef bilinearTransform< double > mx::improc::bilinearTransd
 Typedef for bilinearTransform with double precision.
typedef cubicConvolTransform< float > mx::improc::cubicConvolTransf
 Typedef for cubicConvolTransform with single precision.
typedef cubicConvolTransform< double > mx::improc::cubicConvolTransd
 Typedef for cubicConvolTransform with double precision.

Functions

template<typename transformT, typename arrT, typename arrT2, typename floatT>
void mx::improc::imageRotate (arrT &transim, const arrT2 &im, floatT dq, transformT trans)
 Rotate an image represented as an eigen array.
template<typename outputArrT, typename inputArrT>
void mx::improc::imageShiftWP (outputArrT &out, inputArrT &in, int dx, int dy, bool wrap=true)
 Shift an image by whole pixels with (optional) wrapping.
template<typename outputArrT, typename inputArrT, typename scaleArrT>
void mx::improc::imageShiftWPScale (outputArrT &out, inputArrT &in, scaleArrT &scale, int dx, int dy)
 Shift an image by whole pixels, wrapping around, with a scaling image applied to the shifted image.
template<typename arrOutT, typename arrInT, typename floatT1, typename floatT2, typename transformT>
void mx::improc::imageShift (arrOutT &transim, const arrInT &im, floatT1 dx, floatT2 dy, transformT trans)
 Shift an image.
template<typename arrOutT, typename arrInT, typename transformT>
void mx::improc::imageMagnify (arrOutT &transim, const arrInT &im, transformT trans)
 Magnify an image.
template<typename arrOutT, typename arrInT>
void mx::improc::imageMagnify (arrOutT &transim, const arrInT &im)
 Magnify an image with the cubic convolution interpolator.
template<typename imageOutT, typename imageInT>
int mx::improc::imageRebinSum (imageOutT &imout, const imageInT &imin, bool mean=false)
 Re-bin an image using the sum, reducing its size while conserving the total flux.
template<typename imageOutT, typename imageInT>
int mx::improc::imageRebinSum (imageOutT &imout, int &xMax, int &yMax, typename imageOutT::Scalar &pMax, const imageInT &imin, bool mean=false)
template<typename imageOutT, typename imageInT>
int mx::improc::imageRebinMean (imageOutT &imout, const imageInT &imin)
 Re-bin an image using the mean.
template<typename imageOutT, typename imageInT>
int mx::improc::imageRebinMean (imageOutT &imout, int &xMax, int &yMax, typename imageOutT::Scalar &pMax, const imageInT &imin, bool mean=false)
 Re-bin an image using the mean. Records the value and position of the re-binned max pixel.
template<typename imageOutT, typename imageInT>
int mx::improc::imageRebinMeanReject (imageOutT &imout, const imageInT &imin)
 Re-bin an image, takes the mean with a min/max rejection.
template<typename imageOutT, typename imageInT>
int mx::improc::imageRebinMeanReject (imageOutT &imout, int &xMax, int &yMax, typename imageOutT::Scalar &pMax, const imageInT &imin)
template<typename imageOutT, typename imageInT>
void mx::improc::imageDownSample (imageOutT &imout, const imageInT &imin)
 Down-sample an image, reducing its size while conserving the total flux.