Namespace lsst::ip¶
-
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
-
template<typename
PixelT
, typenameBackgroundT
>
lsst::afw::image::MaskedImage<PixelT>convolveAndSubtract
(lsst::afw::image::MaskedImage<PixelT> const &templateImage, lsst::afw::image::MaskedImage<PixelT> const &scienceMaskedImage, lsst::afw::math::Kernel const &convolutionKernel, BackgroundT background, bool invert = true) Execute fundamental task of convolving template and subtracting it from science image.
- Note
This version accepts a MaskedImage for the template
- Parameters
templateImage
: MaskedImage to apply convolutionKernel toscienceMaskedImage
: MaskedImage from which convolved templateImage is subtractedconvolutionKernel
: Kernel to apply to templateImagebackground
: Background scalar or function to subtract after convolutioninvert
: Invert the output difference image
-
template<typename
PixelT
, typenameBackgroundT
>
lsst::afw::image::MaskedImage<PixelT>convolveAndSubtract
(lsst::afw::image::Image<PixelT> const &templateImage, lsst::afw::image::MaskedImage<PixelT> const &scienceMaskedImage, lsst::afw::math::Kernel const &convolutionKernel, BackgroundT background, bool invert = true) Execute fundamental task of convolving template and subtracting it from science image.
- Note
This version accepts an Image for the template, and is thus faster during convolution
- Parameters
templateImage
: Image to apply convolutionKernel toscienceMaskedImage
: MaskedImage from which convolved templateImage is subtractedconvolutionKernel
: Kernel to apply to templateImagebackground
: Background scalar or function to subtract after convolutioninvert
: Invert the output difference image
-
template<typename
PixelT
>
Eigen::MatrixXdimageToEigenMatrix
(lsst::afw::image::Image<PixelT> const &img) Turns a 2-d Image into a 2-d Eigen Matrix.
- Parameters
img
: Image whose pixel values are read into an Eigen::MatrixXd
Return a KernelCandidate pointer of the right sort.
- Parameters
xCenter
: X-center of candidateyCenter
: Y-center of candidatetemplateMaskedImage
: Template subimagescienceMaskedImage
: Science image subimageps
: PropertySet for creation of rating
Return a KernelCandidate pointer of the right sort.
- Parameters
source
: afw::table::SourceRecord used to construct the KernelCandidatetemplateMaskedImage
: Template subimagescienceMaskedImage
: Science image subimageps
: PropertySet for creation of rating
-
class
DipoleCentroidAlgorithm
: public lsst::meas::base::SimpleAlgorithm - #include <DipoleAlgorithms.h>
Intermediate base class for algorithms that compute a centroid.
Subclassed by lsst::ip::diffim::NaiveDipoleCentroid
-
class
DipoleFluxAlgorithm
: public lsst::meas::base::SimpleAlgorithm - #include <DipoleAlgorithms.h>
Intermediate base class for algorithms that compute a flux.
Subclassed by lsst::ip::diffim::NaiveDipoleFlux, lsst::ip::diffim::PsfDipoleFlux
-
class
DipoleFluxControl
Subclassed by lsst::ip::diffim::PsfDipoleFluxControl
-
template<typename
MaskT
>
classFindSetBits
- #include <FindSetBits.h>
Class to accumulate Mask bits.
- Note
Search through a Mask for any set bits.
-
template<typename
PixelT
>
classImageStatistics
- #include <ImageStatistics.h>
Class to calculate difference image statistics.
- Note
Find mean and unbiased variance of pixel residuals in units of sqrt(variance)
-
template<typename
_PixelT
>
classKernelCandidate
: public lsst::afw::math::SpatialCellImageCandidate - #include <KernelCandidate.h>
Class stored in SpatialCells for spatial Kernel fitting.
- Note
KernelCandidate is a single Kernel derived around a source. We’ll assign them to sets of SpatialCells; these sets will then be used to fit a spatial model to the Kernel.
-
template<typename
PixelT
>
classKernelCandidateDetection
- #include <KernelCandidateDetection.h>
Search through images for Footprints with no masked pixels.
- Note
Runs detection on the template; searches through both images for masked pixels
- Parameters
templateMaskedImage
: MaskedImage that will be convolved with kernelscienceMaskedImage
: MaskedImage to subtract convolved template fromps
: PropertySet for operations; in particular object detection
-
class
KernelSolution
Subclassed by lsst::ip::diffim::SpatialKernelSolution, lsst::ip::diffim::StaticKernelSolution< InputT >
-
class
NaiveDipoleCentroid
: public lsst::ip::diffim::DipoleCentroidAlgorithm - #include <DipoleAlgorithms.h>
Intermediate base class for algorithms that compute a centroid.
-
class
PsfDipoleFlux
: public lsst::ip::diffim::DipoleFluxAlgorithm - #include <DipoleAlgorithms.h>
Implementation of Psf dipole flux
-
class
PsfDipoleFluxControl
: public lsst::ip::diffim::DipoleFluxControl - #include <DipoleAlgorithms.h>
C++ control object for PSF dipole fluxes.
-
template<typename
InputT
>
classStaticKernelSolution
: public lsst::ip::diffim::KernelSolution Subclassed by lsst::ip::diffim::MaskedKernelSolution< InputT >, lsst::ip::diffim::RegularizedKernelSolution< InputT >
-
namespace
detail
Functions
-
lsst::afw::math::KernelList
-
namespace
isr
Functions
-
template<typename
PixelT
>
intapplyLookupTable
(afw::image::Image<PixelT> &image, ndarray::Array<PixelT, 1, 1> const &table, PixelT indOffset) Add the values in a lookup table to an image, e.g. for non-linearity correction
The algorithm is as follows: numOutOfRange = 0 For each i,j of the image: lookupInd = int(indOffset + image[i,j]) if lookupInd not in range [0, table.size() - 1]: set lookupInd to nearest edge and increment numOutOfRange image[i,j] += table[lookupInd] return numOutOfRange
- Return
the number of pixels whose values were out of range
- Parameters
[inout] image
: image to which to add the values; modified in place[in] table
: lookup table[in] indOffset
: scalar added to image value before truncating to lookup column
-
template<typename
PixelT
>
size_tmaskNans
(afw::image::MaskedImage<PixelT> const &mi, afw::image::MaskPixel maskVal, afw::image::MaskPixel allow = 0) - Parameters
mi
: Input imagemaskVal
: Bit mask value to give a NaNallow
: Retain NANs with this bit mask (0 to mask all NANs)
Mask NANs in an image
NANs in the image or variance that are not already masked by the ‘allow’ value are masked with the ‘maskVal’.
- Return
Number of pixels masked
-
template<typename
-
namespace