lsst.meas.algorithms
g4a7591d645+fa9daf83c6
Toggle main menu visibility
Loading...
Searching...
No Matches
include
lsst
meas
algorithms
Interp.h
Go to the documentation of this file.
1
// -*- LSST-C++ -*-
2
3
/*
4
* LSST Data Management System
5
* Copyright 2008-2015 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
#if !defined(LSST_MEAS_ALGORITHMS_INTERP_H)
26
#define LSST_MEAS_ALGORITHMS_INTERP_H
28
// Interpolate over defects in a MaskedImage
29
//
30
#include <limits>
31
#include <vector>
32
33
#include "
lsst/geom/Box.h
"
34
#include "
lsst/afw/image/Defect.h
"
35
#include "
lsst/afw/image/MaskedImage.h
"
36
37
namespace
lsst
{
38
namespace
afw
{
39
namespace
detection
{
40
41
class
Psf
;
42
}
43
}
// namespace afw
44
45
namespace
meas
{
46
namespace
algorithms
{
47
namespace
interp
{
51
double
const
lpc_1_c1
= 0.7737;
52
double
const
lpc_1_c2
= -0.2737;
57
double
const
lpc_1s2_c1
= 0.7358;
58
double
const
lpc_1s2_c2
= -0.2358;
59
/*
60
* Used to debias min(x, y)
61
*/
62
double
const
min2GaussianBias
= -0.5641895835;
63
64
template
<
typename
MaskedImageT>
65
std::pair<bool, typename MaskedImageT::Image::Pixel>
singlePixel
(
int
x,
int
y, MaskedImageT
const
&
image
,
66
bool
horizontal,
double
minval);
67
}
// namespace interp
68
72
class
Defect
:
public
afw::image::DefectBase
{
73
public
:
74
typedef
std::shared_ptr<Defect>
Ptr
;
75
76
enum
DefectPosition
{
77
LEFT
= 1,
78
NEAR_LEFT
,
79
WIDE_LEFT
,
80
MIDDLE
,
81
WIDE_NEAR_LEFT
,
82
WIDE
,
83
WIDE_NEAR_RIGHT
,
84
NEAR_RIGHT
,
85
WIDE_RIGHT
,
86
RIGHT
87
};
88
89
enum
{
WIDE_DEFECT
= 11 };
90
91
explicit
Defect
(
const
geom::BoxI
&bbox =
geom::BoxI
()
92
)
93
:
afw
::
image
::
DefectBase
(bbox), _pos(static_cast<
DefectPosition
>(0)), _type(0) {}
94
virtual
~Defect
() {}
95
96
void
classify
(
DefectPosition
pos,
97
unsigned
int
type
98
) {
99
_pos = pos;
100
_type = type;
101
}
102
103
unsigned
int
getType
()
const
{
return
_type; }
104
DefectPosition
getPos
()
const
{
return
_pos; }
105
private
:
106
DefectPosition
_pos;
107
unsigned
int
_type;
108
};
109
110
template
<
typename
MaskedImageT>
111
void
interpolateOverDefects
(MaskedImageT &image,
afw::detection::Psf
const
&psf,
112
std::vector<Defect::Ptr>
&badList,
double
fallbackValue = 0.0,
113
bool
useFallbackValueAtEdge =
false
);
114
115
}
// namespace algorithms
116
}
// namespace meas
117
}
// namespace lsst
118
119
#endif
Box.h
Defect.h
MaskedImage.h
lsst::afw::detection::Psf
lsst::afw::image::DefectBase
lsst::afw::image::DefectBase::DefectBase
DefectBase(const lsst::geom::Box2I &bbox)
lsst::meas::algorithms::Defect::getType
unsigned int getType() const
Return the defect's interpolation type.
Definition
Interp.h:103
lsst::meas::algorithms::Defect::classify
void classify(DefectPosition pos, unsigned int type)
Definition
Interp.h:96
lsst::meas::algorithms::Defect::WIDE_DEFECT
@ WIDE_DEFECT
Definition
Interp.h:89
lsst::meas::algorithms::Defect::Ptr
std::shared_ptr< Defect > Ptr
shared pointer to Defect
Definition
Interp.h:74
lsst::meas::algorithms::Defect::DefectPosition
DefectPosition
Definition
Interp.h:76
lsst::meas::algorithms::Defect::WIDE
@ WIDE
defect is in middle, and wide
Definition
Interp.h:82
lsst::meas::algorithms::Defect::NEAR_RIGHT
@ NEAR_RIGHT
defect is near right boundary
Definition
Interp.h:84
lsst::meas::algorithms::Defect::NEAR_LEFT
@ NEAR_LEFT
defect is near left boundary
Definition
Interp.h:78
lsst::meas::algorithms::Defect::WIDE_LEFT
@ WIDE_LEFT
defect is wide at left boundary
Definition
Interp.h:79
lsst::meas::algorithms::Defect::WIDE_RIGHT
@ WIDE_RIGHT
defect is wide at right boundary
Definition
Interp.h:85
lsst::meas::algorithms::Defect::MIDDLE
@ MIDDLE
defect is in middle of frame
Definition
Interp.h:80
lsst::meas::algorithms::Defect::WIDE_NEAR_LEFT
@ WIDE_NEAR_LEFT
defect is near left, and wide
Definition
Interp.h:81
lsst::meas::algorithms::Defect::RIGHT
@ RIGHT
defect is at right boundary
Definition
Interp.h:86
lsst::meas::algorithms::Defect::LEFT
@ LEFT
defect is at left boundary
Definition
Interp.h:77
lsst::meas::algorithms::Defect::WIDE_NEAR_RIGHT
@ WIDE_NEAR_RIGHT
defect is near right, and wide
Definition
Interp.h:83
lsst::meas::algorithms::Defect::~Defect
virtual ~Defect()
Definition
Interp.h:94
lsst::meas::algorithms::Defect::Defect
Defect(const geom::BoxI &bbox=geom::BoxI())
Definition
Interp.h:91
lsst::meas::algorithms::Defect::getPos
DefectPosition getPos() const
Return the position of the defect.
Definition
Interp.h:104
lsst::afw::detection
lsst::afw::image
lsst::afw
lsst::geom::BoxI
Box2I BoxI
lsst::meas::algorithms::interp
Definition
Interp.h:47
lsst::meas::algorithms::interp::min2GaussianBias
double const min2GaussianBias
Mean value of the minimum of two N(0,1) variates.
Definition
Interp.h:62
lsst::meas::algorithms::interp::lpc_1s2_c2
double const lpc_1s2_c2
Definition
Interp.h:58
lsst::meas::algorithms::interp::lpc_1_c1
double const lpc_1_c1
LPC coefficients for sigma = 1, S/N = infty.
Definition
Interp.h:51
lsst::meas::algorithms::interp::lpc_1s2_c1
double const lpc_1s2_c1
LPC coefficients for sigma = 1/sqrt(2), S/N = infty.
Definition
Interp.h:57
lsst::meas::algorithms::interp::lpc_1_c2
double const lpc_1_c2
Definition
Interp.h:52
lsst::meas::algorithms::interp::singlePixel
std::pair< bool, typename MaskedImageT::Image::Pixel > singlePixel(int x, int y, MaskedImageT const &image, bool horizontal, double minval)
Return a boolean status (true: interpolation is OK) and the interpolated value for a pixel,...
Definition
Interp.cc:2125
lsst::meas::algorithms
Definition
mainpage.dox:13
lsst::meas::algorithms::interpolateOverDefects
void interpolateOverDefects(MaskedImageT &image, afw::detection::Psf const &psf, std::vector< Defect::Ptr > &badList, double fallbackValue=0.0, bool useFallbackValueAtEdge=false)
Process a set of known bad pixels in an image.
Definition
Interp.cc:2047
lsst::meas
lsst
std::pair
std::shared_ptr
std::vector
Generated on
for lsst.meas.algorithms by
1.17.0