35 #ifndef LSST_AFW_MATH_WARPEXPOSURE_H
36 #define LSST_AFW_MATH_WARPEXPOSURE_H
129 this->_params[0] = fracPos;
139 virtual std::string
toString(std::string
const& =
"")
const;
185 this->_params[0] = fracPos;
195 virtual std::string
toString(std::string
const& =
"")
const;
245 std::string
const &maskWarpingKernelName =
"",
252 int interpLength = 0,
258 _maskWarpingKernelPtr(),
260 _interpLength(interpLength),
261 _growFullMask(growFullMask)
263 setMaskWarpingKernelName(maskWarpingKernelName);
301 ) { _interpLength = interpLength; };
311 void setWarpingKernelName(
320 void setWarpingKernel(
332 bool hasMaskWarpingKernel()
const {
return static_cast<bool>(_maskWarpingKernelPtr); }
337 void setMaskWarpingKernelName(
338 std::string
const &maskWarpingKernelName
347 void setMaskWarpingKernel(
361 ) { _growFullMask = growFullMask; }
370 void _testWarpingKernels(
388 template<typename DestExposureT, typename SrcExposureT>
390 DestExposureT &destExposure,
391 SrcExposureT const &srcExposure,
394 WarpingControl const &control,
395 typename DestExposureT::MaskedImageT::SinglePixel padValue =
396 lsst::afw::math::
edgePixel<typename DestExposureT::MaskedImageT>(
397 typename lsst::afw::
image::detail::image_traits<
398 typename DestExposureT::MaskedImageT>::image_category())
442 template<typename DestImageT, typename SrcImageT>
444 DestImageT &destImage,
445 lsst::afw::
image::
Wcs const &destWcs,
446 SrcImageT const &srcImage,
447 lsst::afw::
image::
Wcs const &srcWcs,
448 WarpingControl const &control,
449 typename DestImageT::SinglePixel padValue = lsst::afw::math::
edgePixel<DestImageT>(
450 typename lsst::afw::
image::detail::image_traits<DestImageT>::image_category())
458 template<typename DestImageT, typename SrcImageT>
460 DestImageT &destImage,
461 SrcImageT const &srcImage,
462 lsst::afw::geom::XYTransform const &xyTransform,
463 WarpingControl const &control,
465 typename DestImageT::SinglePixel padValue = lsst::afw::math::
edgePixel<DestImageT>(
466 typename lsst::afw::
image::detail::image_traits<DestImageT>::image_category())
475 template<typename DestImageT, typename SrcImageT>
477 DestImageT &destImage,
478 SrcImageT const &srcImage,
479 lsst::afw::geom::LinearTransform const &linearTransform,
480 lsst::afw::geom::
Point2D const ¢erPosition,
481 WarpingControl const &control,
482 typename DestImageT::SinglePixel padValue = lsst::afw::math::
edgePixel<DestImageT>(
483 typename lsst::afw::
image::detail::image_traits<DestImageT>::image_category())
488 template <
typename A,
typename B>
491 template <
typename A>
497 #endif // !defined(LSST_AFW_MATH_WARPEXPOSURE_H)
virtual ~BilinearFunction1()
An include file to include the header files for lsst::afw::geom.
Declare the Kernel class and subclasses.
boost::shared_ptr< SeparableKernel > makeWarpingKernel(std::string name)
Return a warping kernel given its name.
table::Key< std::string > name
1-dimensional Lanczos function
Include files required for standard LSST Exception handling.
A kernel described by a pair of functions: func(x, y) = colFunc(x) * rowFunc(y)
Define a collection of useful Functions.
Parameters to control convolution.
LanczosWarpingKernel(int order)
Implementation of the WCS standard for a any projection.
void setCacheSize(int cacheSize)
set the cache size for the interpolation kernel(s)
int warpCenteredImage(DestImageT &destImage, SrcImageT const &srcImage, lsst::afw::geom::LinearTransform const &linearTransform, lsst::afw::geom::Point2D const ¢erPosition, WarpingControl const &control, typename DestImageT::SinglePixel padValue=lsst::afw::math::edgePixel< DestImageT >(typename lsst::afw::image::detail::image_traits< DestImageT >::image_category()))
Warp an image with a LinearTranform about a specified point.
tbl::Key< int > cacheSize
int warpImage(DestImageT &destImage, lsst::afw::image::Wcs const &destWcs, SrcImageT const &srcImage, lsst::afw::image::Wcs const &srcWcs, WarpingControl const &control, typename DestImageT::SinglePixel padValue=lsst::afw::math::edgePixel< DestImageT >(typename lsst::afw::image::detail::image_traits< DestImageT >::image_category()))
Warp an Image or MaskedImage to a new Wcs.
table::Key< table::Array< Kernel::Pixel > > image
int getOrder() const
get the order of the kernel
int getInterpLength() const
get the interpolation length (pixels)
int warpExposure(DestExposureT &destExposure, SrcExposureT const &srcExposure, WarpingControl const &control, typename DestExposureT::MaskedImageT::SinglePixel padValue=lsst::afw::math::edgePixel< typename DestExposureT::MaskedImageT >(typename lsst::afw::image::detail::image_traits< typename DestExposureT::MaskedImageT >::image_category()))
Warp (remap) one exposure to another.
virtual ~WarpingControl()
void setInterpLength(int interpLength)
set the interpolation length
void setGrowFullMask(lsst::afw::image::MaskPixel growFullMask)
set mask bits to grow to full width of image/variance kernel
1-dimensional bilinear interpolation function.
virtual ~LanczosWarpingKernel()
bool isSameObject(A const &, B const &)
A Function taking one argument.
boost::shared_ptr< Function1< Kernel::Pixel > > Function1Ptr
SeparableKernel()
Construct an empty spatially invariant SeparableKernel of size 0x0.
ImageT::SinglePixel edgePixel(lsst::afw::image::detail::Image_tag)
Return an off-the-edge pixel appropriate for a given Image type.
virtual ~NearestFunction1()
virtual ~BilinearWarpingKernel()
Bilinear warping: fast; good for undersampled data.
Convolve and convolveAtAPoint functions for Image and Kernel.
virtual std::string toString(std::string const &prefix="") const
Return a string representation of the kernel.
tbl::Key< std::string > warpingKernelName
boost::shared_ptr< Function1< Kernel::Pixel > > Function1Ptr
virtual ~NearestWarpingKernel()
int getCacheSize() const
get the cache size for the interpolation kernel(s)
virtual void setKernelParameter(unsigned int ind, double value) const
Set one kernel parameter.
Nearest neighbor warping: fast; good for undersampled data.
Define the basic Function classes.
virtual Function1Ptr clone() const
Return a pointer to a deep copy of this function.
afw::table::Key< double > b
Lanczos warping: accurate but slow and can introduce ringing artifacts.
Point< double, 2 > Point2D
1-dimensional nearest neighbor interpolation function.
lsst::afw::image::MaskPixel getGrowFullMask() const
get mask bits to grow to full width of image/variance kernel
WarpingControl(std::string const &warpingKernelName, std::string const &maskWarpingKernelName="", int cacheSize=0, int interpLength=0, lsst::afw::image::MaskPixel growFullMask=0)
Construct a WarpingControl object.
virtual boost::shared_ptr< Kernel > clone() const
Return a pointer to a deep copy of this kernel.
Kernels are used for convolution with MaskedImages and (eventually) Images.
Definition of default types for Masks and Variance Images.
virtual Function1Ptr clone() const
Return a pointer to a deep copy of this function.