LSST Applications g180d380827+6621f76652,g2079a07aa2+86d27d4dc4,g2305ad1205+f5a9e323a1,g2bbee38e9b+c6a8a0fb72,g337abbeb29+c6a8a0fb72,g33d1c0ed96+c6a8a0fb72,g3a166c0a6a+c6a8a0fb72,g3ddfee87b4+9a10e1fe7b,g48712c4677+c9a099281a,g487adcacf7+f2e03ea30b,g50ff169b8f+96c6868917,g52b1c1532d+585e252eca,g591dd9f2cf+aead732c78,g64a986408d+eddffb812c,g858d7b2824+eddffb812c,g864b0138d7+aa38e45daa,g974c55ee3d+f37bf00e57,g99cad8db69+119519a52d,g9c22b2923f+e2510deafe,g9ddcbc5298+9a081db1e4,ga1e77700b3+03d07e1c1f,gb0e22166c9+60f28cb32d,gb23b769143+eddffb812c,gba4ed39666+c2a2e4ac27,gbb8dafda3b+27317ec8e9,gbd998247f1+585e252eca,gc120e1dc64+5817c176a8,gc28159a63d+c6a8a0fb72,gc3e9b769f7+6707aea8b4,gcf0d15dbbd+9a10e1fe7b,gdaeeff99f8+f9a426f77a,ge6526c86ff+6a2e01d432,ge79ae78c31+c6a8a0fb72,gee10cc3b42+585e252eca,gff1a9f87cc+eddffb812c,v27.0.0.rc1
LSST Data Management Base Package
Loading...
Searching...
No Matches
SingleGaussianPsf.h
Go to the documentation of this file.
1// -*- lsst-c++ -*-
2/*
3 * LSST Data Management System
4 * Copyright 2008-2013 LSST Corporation.
5 *
6 * This product includes software developed by the
7 * LSST Project (http://www.lsst.org/).
8 *
9 * This program is free software: you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation, either version 3 of the License, or
12 * (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the LSST License Statement and
20 * the GNU General Public License along with this program. If not,
21 * see <http://www.lsstcorp.org/LegalNotices/>.
22 */
23
24#ifndef LSST_MEAS_ALGORITHMS_SingleGaussianPsf_h_INCLUDED
25#define LSST_MEAS_ALGORITHMS_SingleGaussianPsf_h_INCLUDED
26
27#include "lsst/base.h"
29
30namespace lsst {
31namespace meas {
32namespace algorithms {
33
37class SingleGaussianPsf : public afw::table::io::PersistableFacade<SingleGaussianPsf>, public KernelPsf {
38public:
48 explicit SingleGaussianPsf(int width, int height, double sigma);
49
52
54 std::shared_ptr<afw::detection::Psf> resized(int width, int height) const override;
55
57 double getSigma() const { return _sigma; }
58
60 bool isPersistable() const noexcept override { return true; }
61
62protected:
64
65 void write(OutputArchiveHandle& handle) const override;
66
67private:
68 double _sigma;
69};
70
71} // namespace algorithms
72} // namespace meas
73} // namespace lsst
74
75#endif // !LSST_MEAS_ALGORITHMS_SingleGaussianPsf_h_INCLUDED
afw::table::Key< double > sigma
Basic LSST definitions.
An object passed to Persistable::write to allow it to persist itself.
A CRTP facade class for subclasses of Persistable.
A Psf defined by a Kernel.
Definition KernelPsf.h:36
Represent a PSF as a circularly symmetrical Gaussian.
bool isPersistable() const noexcept override
Whether the Psf is persistable; always true.
std::shared_ptr< afw::detection::Psf > clone() const override
Polymorphic deep copy; should usually unnecessary because Psfs are immutable.
std::shared_ptr< afw::detection::Psf > resized(int width, int height) const override
Return a clone with specified kernel dimensions.
void write(OutputArchiveHandle &handle) const override
Write the object to one or more catalogs.
std::string getPersistenceName() const override
Return the unique name used to persist this object and look up its factory.
double getSigma() const
Return the radius of the Gaussian.
SingleGaussianPsf(int width, int height, double sigma)
Constructor for a SingleGaussianPsf.