lsst.afw
g3a5ebb7d8a+28b83bf6a5
Toggle main menu visibility
Loading...
Searching...
No Matches
include
lsst
afw
image
ImagePca.h
Go to the documentation of this file.
1
// -*- lsst-c++ -*-
2
3
/*
4
* LSST Data Management System
5
* Copyright 2008, 2009, 2010 LSST Corporation.
6
*
7
* This product includes software developed by the
8
* LSST Project (http://www.lsst.org/).
9
*
10
* This program is free software: you can redistribute it and/or modify
11
* it under the terms of the GNU General Public License as published by
12
* the Free Software Foundation, either version 3 of the License, or
13
* (at your option) any later version.
14
*
15
* This program is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU General Public License for more details.
19
*
20
* You should have received a copy of the LSST License Statement and
21
* the GNU General Public License along with this program. If not,
22
* see <http://www.lsstcorp.org/LegalNotices/>.
23
*/
24
25
/*
26
* Support for PCA analysis of 2-D images
27
*/
28
#ifndef LSST_AFW_IMAGE_IMAGEPCA_H
29
#define LSST_AFW_IMAGE_IMAGEPCA_H
30
31
#include <vector>
32
#include <string>
33
#include <utility>
34
35
#include <memory>
36
37
#include "
lsst/pex/exceptions.h
"
38
#include "
lsst/afw/image/MaskedImage.h
"
39
40
namespace
lsst
{
41
namespace
afw
{
42
namespace
image
{
43
44
template
<
typename
ImageT>
45
class
ImagePca
{
46
public
:
47
using
ImageList
=
std::vector<std::shared_ptr<ImageT>
>;
48
54
explicit
ImagePca
(
bool
constantWeight =
true
);
55
virtual
~ImagePca
() =
default
;
56
57
ImagePca
(
ImagePca
const
&);
58
ImagePca
(
ImagePca
&&);
59
ImagePca
&
operator=
(
ImagePca
const
&);
60
ImagePca
&
operator=
(
ImagePca
&&);
61
70
void
addImage
(
std::shared_ptr<ImageT>
img,
double
flux = 0.0);
72
ImageList
getImageList
()
const
;
73
75
lsst::geom::Extent2I
const
getDimensions
()
const
{
return
_dimensions; }
76
80
std::shared_ptr<ImageT>
getMean
()
const
;
81
virtual
void
analyze
();
95
virtual
double
updateBadPixels
(
unsigned
long
mask,
int
const
ncomp);
96
98
std::vector<double>
const
&
getEigenValues
()
const
{
return
_eigenValues; }
100
ImageList
const
&
getEigenImages
()
const
{
return
_eigenImages; }
101
102
private
:
103
double
getFlux(
int
i)
const
{
return
_fluxList[i]; }
104
105
ImageList
_imageList;
// image to analyze
106
std::vector<double>
_fluxList;
// fluxes of images
107
lsst::geom::Extent2I
_dimensions;
// width/height of images on _imageList
108
109
bool
_constantWeight;
// should all stars have the same weight?
110
111
std::vector<double>
_eigenValues;
// Eigen values
112
ImageList
_eigenImages;
// Eigen images
113
};
114
125
template
<
typename
Image1T,
typename
Image2T>
126
double
innerProduct
(Image1T
const
& lhs, Image2T
const
& rhs,
int
const
border = 0);
127
}
// namespace image
128
}
// namespace afw
129
}
// namespace lsst
130
131
#endif
MaskedImage.h
lsst::afw::image::ImagePca::ImagePca
ImagePca(ImagePca const &)
lsst::afw::image::ImagePca::updateBadPixels
virtual double updateBadPixels(unsigned long mask, int const ncomp)
Update the bad pixels (i.e.
Definition
ImagePca.cc:385
lsst::afw::image::ImagePca::addImage
void addImage(std::shared_ptr< ImageT > img, double flux=0.0)
Add an image to the set to be analyzed.
Definition
ImagePca.cc:64
lsst::afw::image::ImagePca::getImageList
ImageList getImageList() const
Return the list of images being analyzed.
Definition
ImagePca.cc:85
lsst::afw::image::ImagePca::ImagePca
ImagePca(bool constantWeight=true)
ctor
Definition
ImagePca.cc:46
lsst::afw::image::ImagePca::getDimensions
lsst::geom::Extent2I const getDimensions() const
Return the dimension of the images being analyzed.
Definition
ImagePca.h:75
lsst::afw::image::ImagePca::operator=
ImagePca & operator=(ImagePca &&)
lsst::afw::image::ImagePca::ImagePca
ImagePca(ImagePca &&)
lsst::afw::image::ImagePca::~ImagePca
virtual ~ImagePca()=default
lsst::afw::image::ImagePca::getEigenImages
ImageList const & getEigenImages() const
Return Eigen images.
Definition
ImagePca.h:100
lsst::afw::image::ImagePca::getMean
std::shared_ptr< ImageT > getMean() const
Return the mean of the images in ImagePca's list.
Definition
ImagePca.cc:90
lsst::afw::image::ImagePca::ImageList
std::vector< std::shared_ptr< ImageT > > ImageList
Definition
ImagePca.h:47
lsst::afw::image::ImagePca::getEigenValues
std::vector< double > const & getEigenValues() const
Return Eigen values.
Definition
ImagePca.h:98
lsst::afw::image::ImagePca::operator=
ImagePca & operator=(ImagePca const &)
lsst::afw::image::ImagePca::analyze
virtual void analyze()
Definition
ImagePca.cc:122
exceptions.h
lsst::afw::image
Definition
imageAlgorithm.dox:1
lsst::afw::image::innerProduct
double innerProduct(Image1T const &lhs, Image2T const &rhs, int const border=0)
Calculate the inner product of two images.
Definition
ImagePca.cc:413
lsst::afw
Definition
imageAlgorithm.dox:1
lsst::geom::Extent2I
Extent< int, 2 > Extent2I
lsst
std::shared_ptr
std::vector
Generated on
for lsst.afw by
1.17.0