24 #ifndef LSST_MEAS_ALGORITHMS_PcaPsf_h_INCLUDED 25 #define LSST_MEAS_ALGORITHMS_PcaPsf_h_INCLUDED 29 namespace lsst {
namespace meas {
namespace algorithms {
60 virtual std::string getPersistenceName()
const {
return "PcaPsf"; }
64 template <
class Archive>
65 void serialize(Archive&,
unsigned int const) {
66 boost::serialization::void_cast_register<
PcaPsf,
75 namespace serialization {
77 template <
class Archive>
82 ar << make_nvp(
"kernel", kernel);
84 ar << make_nvp(
"averagePositionX", averagePosition.getX());
85 ar << make_nvp(
"averagePositionY", averagePosition.getY());
88 template <
class Archive>
93 ar >> make_nvp(
"kernel", kernel);
95 ar >> make_nvp(
"averagePositionX", x);
96 ar >> make_nvp(
"averagePositionY",
y);
103 #endif // !LSST_MEAS_ALGORITHMS_PcaPsf_h_INCLUDED virtual boost::shared_ptr< afw::detection::Psf > resized(int width, int height) const
Return a clone with specified kernel dimensions.
A Psf defined by a Kernel.
virtual boost::shared_ptr< afw::detection::Psf > clone() const
Polymorphic deep copy; should usually be unnecessary as Psfs are immutable.x.
friend class boost::serialization::access
Represent a PSF as a linear combination of PCA (== Karhunen-Loeve) basis functions.
void load_construct_data(Archive &ar, lsst::afw::math::DeltaFunctionKernel *k, unsigned int const file_version)
tbl::PointKey< double > averagePosition
PcaPsf(boost::shared_ptr< afw::math::LinearCombinationKernel > kernel, afw::geom::Point2D const &averagePosition=afw::geom::Point2D())
Constructor for a PcaPsf.
void save_construct_data(Archive &ar, lsst::afw::math::DeltaFunctionKernel const *k, unsigned int const file_version)
boost::shared_ptr< afw::math::LinearCombinationKernel const > getKernel() const
PcaPsf always has a LinearCombinationKernel, so we can override getKernel to make it more useful...
virtual afw::geom::Point2D getAveragePosition() const
Return average position of stars; used as default position.