lsst.meas.algorithms
g4a7591d645+ff8a1bd350
Toggle main menu visibility
Loading...
Searching...
No Matches
include
lsst
meas
algorithms
KernelPsf.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
#ifndef LSST_MEAS_ALGORITHMS_KernelPsf_h_INCLUDED
24
#define LSST_MEAS_ALGORITHMS_KernelPsf_h_INCLUDED
25
26
#include "
lsst/geom/Box.h
"
27
#include "
lsst/meas/algorithms/ImagePsf.h
"
28
29
namespace
lsst
{
30
namespace
meas
{
31
namespace
algorithms
{
32
36
class
KernelPsf
:
public
afw::table::io::PersistableFacade
<KernelPsf>,
public
ImagePsf
{
37
public
:
48
explicit
KernelPsf
(
afw::math::Kernel
const
& kernel,
49
geom::Point2D
const
& averagePosition =
geom::Point2D
());
50
52
std::shared_ptr<afw::math::Kernel const>
getKernel
()
const
{
return
_kernel; }
53
55
geom::Point2D
getAveragePosition
()
const override
;
56
58
std::shared_ptr<afw::detection::Psf>
clone
()
const override
;
59
61
std::shared_ptr<afw::detection::Psf>
resized
(
int
width,
int
height)
const override
;
62
64
bool
isPersistable
() const noexcept override;
65
66
protected:
68
explicit
KernelPsf
(
std
::shared_ptr<
afw
::
math
::Kernel> kernel,
geom
::
Point2D
const& averagePosition =
geom
::
Point2D
());
69
70
// Name to use persist this object as (should be overridden by derived classes).
71
std
::
string
getPersistenceName
() const override;
72
73
// Python module used in persistence to ensure factory is loaded.
74
std
::
string
getPythonModule
() const override;
75
76
// Output persistence implementation (should be overridden by derived classes if they add data members).
77
void
write
(
OutputArchiveHandle
& handle) const override;
78
79
// For access to protected ctor; avoids unnecessary copies when loading
80
template <typename T, typename K>
81
friend class
KernelPsfFactory
;
82
83
private:
84
std
::shared_ptr<
Image
>
85
doComputeKernelImage
(
geom
::
Point2D
const& position,
afw
::
image
::Color const& color) const override;
86
87
geom
::
Box2I
doComputeBBox
(
geom
::
Point2D
const& position,
afw
::
image
::Color const& color) const override;
88
89
std
::shared_ptr<
afw
::
math
::Kernel> _kernel;
90
geom
::
Point2D
_averagePosition;
91
};
92
93
}
// namespace algorithms
94
}
// namespace meas
95
}
// namespace lsst
96
97
#endif
// !LSST_MEAS_ALGORITHMS_KernelPsf_h_INCLUDED
Box.h
ImagePsf.h
lsst::afw::detection::Psf::Image
image::Image< Pixel > Image
lsst::afw::math::Kernel
lsst::afw::table::io::PersistableFacade
lsst::afw::detection::Psf::OutputArchiveHandle
io::OutputArchiveHandle OutputArchiveHandle
lsst::geom::Box2I
lsst::meas::algorithms::ImagePsf::ImagePsf
ImagePsf(bool isFixed=false)
Definition
ImagePsf.h:42
lsst::meas::algorithms::KernelPsf
A Psf defined by a Kernel.
Definition
KernelPsf.h:36
lsst::meas::algorithms::KernelPsf::KernelPsf
KernelPsf(afw::math::Kernel const &kernel, geom::Point2D const &averagePosition=geom::Point2D())
Construct a KernelPsf with a clone of the given kernel.
Definition
KernelPsf.cc:33
lsst::meas::algorithms::KernelPsf::isPersistable
bool isPersistable() const noexcept override
Whether this object is persistable; just delegates to the kernel.
Definition
KernelPsf.cc:66
lsst::meas::algorithms::KernelPsf::doComputeBBox
geom::Box2I doComputeBBox(geom::Point2D const &position, afw::image::Color const &color) const override
Definition
KernelPsf.cc:29
lsst::meas::algorithms::KernelPsf::doComputeKernelImage
std::shared_ptr< Image > doComputeKernelImage(geom::Point2D const &position, afw::image::Color const &color) const override
Definition
KernelPsf.cc:23
lsst::meas::algorithms::KernelPsf::KernelPsfFactory
friend class KernelPsfFactory
Definition
KernelPsf.h:81
lsst::meas::algorithms::KernelPsf::clone
std::shared_ptr< afw::detection::Psf > clone() const override
Polymorphic deep copy.
Definition
KernelPsf.cc:41
lsst::meas::algorithms::KernelPsf::resized
std::shared_ptr< afw::detection::Psf > resized(int width, int height) const override
Return a clone with specified kernel dimensions.
Definition
KernelPsf.cc:43
lsst::meas::algorithms::KernelPsf::getPersistenceName
std::string getPersistenceName() const override
Definition
KernelPsf.cc:68
lsst::meas::algorithms::KernelPsf::getPythonModule
std::string getPythonModule() const override
Definition
KernelPsf.cc:70
lsst::meas::algorithms::KernelPsf::write
void write(OutputArchiveHandle &handle) const override
Definition
KernelPsf.cc:72
lsst::meas::algorithms::KernelPsf::getKernel
std::shared_ptr< afw::math::Kernel const > getKernel() const
Return the Kernel used to define this Psf.
Definition
KernelPsf.h:52
lsst::meas::algorithms::KernelPsf::getAveragePosition
geom::Point2D getAveragePosition() const override
Return average position of stars; used as default position.
Definition
KernelPsf.cc:47
lsst::afw::image
lsst::afw::math
lsst::afw
lsst::geom
lsst::geom::Point2D
Point< double, 2 > Point2D
lsst::meas::algorithms
Definition
mainpage.dox:13
lsst::meas
lsst
std
STL namespace.
std::shared_ptr
Generated on
for lsst.meas.algorithms by
1.17.0