File BasisLists.h¶
Subroutines associated with generating, normalising, and regularising Basis functions.
- Author
Andrew Becker, University of Washington
-
namespace
lsst
Class for a simple mapping implementing a generic AstrometryTransform.
Remove all non-astronomical counts from the Chunk Exposure’s pixels.
Forward declarations for lsst::utils::Cache
For details on the Cache class, see the Cache.h file.
It uses a template rather than a pointer so that the derived classes can use the specifics of the transform. The class simplePolyMapping overloads a few routines.
A base class for image defects
Numeric constants used by the Integrate.h integrator routines.
Compute Image Statistics
- Note
Gauss-Kronrod-Patterson quadrature coefficients for use in quadpack routine qng. These coefficients were calculated with 101 decimal digit arithmetic by L. W. Fullerton, Bell Labs, Nov 1981.
- Note
The Statistics class itself can only handle lsst::afw::image::MaskedImage() types. The philosophy has been to handle other types by making them look like lsst::afw::image::MaskedImage() and reusing that code. Users should have no need to instantiate a Statistics object directly, but should use the overloaded makeStatistics() factory functions.
-
namespace
ip
-
namespace
diffim
Functions
-
lsst::afw::math::KernelList
makeDeltaFunctionBasisList
(int width, int height)¶ Build a set of Delta Function basis kernels.
- Note
Total number of basis functions is width*height
- Parameters
width
: Width of basis set (cols)height
: Height of basis set (rows)
-
Eigen::MatrixXd
makeRegularizationMatrix
(lsst::daf::base::PropertySet const &ps)¶ Build a regularization matrix for Delta function kernels.
- Note
Calls either makeForwardDifferenceMatrix or makeCentralDifferenceMatrix based on the PropertySet config.
- Parameters
ps
: PropertySet dictating which type of matrix to make
-
Eigen::MatrixXd
makeForwardDifferenceMatrix
(int width, int height, std::vector<int> const &orders, float borderPenalty, bool fitForBackground)¶ Build a forward difference regularization matrix for Delta function kernels.
- Parameters
width
: Width of basis set you want to regularizeheight
: Height of basis set you want to regularizeorders
: Which derivatives to penalize (1,2,3)borderPenalty
: Amount of penalty (if any) to apply to border pixels; > 0fitForBackground
: Fit for differential background?
-
Eigen::MatrixXd
makeCentralDifferenceMatrix
(int width, int height, int stencil, float borderPenalty, bool fitForBackground)¶ Build a central difference Laplacian regularization matrix for Delta function kernels.
- Parameters
width
: Width of basis set you want to regularizeheight
: Height of basis set you want to regularizestencil
: Which type of Laplacian approximation to useborderPenalty
: Amount of penalty (if any) to apply to border pixels; > 0fitForBackground
: Fit for differential background?
-
lsst::afw::math::KernelList
renormalizeKernelList
(lsst::afw::math::KernelList const &kernelListIn)¶ Renormalize a list of basis kernels.
- Note
Renormalization means make Ksum_0 = 1.0, Ksum_i = 0.0, K_i.dot.K_i = 1.0
- Note
Output list of shared pointers to FixedKernels
- Note
Images are checked for their current kernel sum. If it is larger than std::numeric_limits<double>::epsilon(), the kernel is first divided by the kernel sum, giving it a kSum of 1.0, and then the first (normalized) component is subtracted from it, giving it a kSum of 0.0.
- Parameters
kernelListIn
: input list of basis kernels
-
lsst::afw::math::KernelList
makeAlardLuptonBasisList
(int halfWidth, int nGauss, std::vector<double> const &sigGauss, std::vector<int> const °Gauss)¶ Build a set of Alard/Lupton basis kernels.
- Note
Should consider implementing as SeparableKernels for additional speed, but this will make the normalization a bit more complicated
- Parameters
halfWidth
: size is 2*N + 1nGauss
: number of gaussianssigGauss
: Widths of the Gaussian KernelsdegGauss
: Local spatial variation of bases
-
lsst::afw::math::KernelList
-
namespace