lsst.ip.isr
21.0.0-1-g763706f+3ed5b2ef09
include
lsst
ip
isr
isr.h
Go to the documentation of this file.
1
// -*- LSST-C++ -*-
2
3
/*
4
* LSST Data Management System
5
* Copyright 2016 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
34
#ifndef LSST_IP_ISR_ISR_H
35
#define LSST_IP_ISR_ISR_H
36
37
#include <memory>
38
#include <string>
39
#include <vector>
40
#include <cmath>
41
42
#include "
lsst/afw/math.h
"
43
#include "
lsst/afw/math/Statistics.h
"
44
#include "
lsst/afw/image.h
"
45
#include "
lsst/pex/exceptions/Exception.h
"
46
51
namespace
lsst
{
52
namespace
ip {
53
namespace
isr {
54
55
template
<
typename
ImageT,
typename
MaskT=lsst::afw::image::MaskPixel>
56
class
CountMaskedPixels
{
57
public
:
58
typedef
typename
lsst::afw::image::MaskedImage<ImageT>::x_iterator
x_iterator
;
59
CountMaskedPixels
() :
60
_count(0) {} ;
61
virtual
~CountMaskedPixels
() {};
62
63
// Clear the accumulator
64
void
reset
() { _count = 0; }
65
66
// Count pixels
67
void
apply
(
lsst::afw::image::MaskedImage<ImageT>
const
& image,
68
MaskT bitmask) {
69
reset
();
70
for
(
int
y
= 0;
y
!=
image
.getHeight(); ++
y
) {
71
for
(
x_iterator
ptr =
image
.row_begin(
y
); ptr !=
image
.row_end(
y
); ++ptr) {
72
if
( ((*ptr).mask() & bitmask) == bitmask ) {
73
_count += 1;
74
}
75
}
76
}
77
}
78
79
// Return the total counts
80
int
getCount
()
const
{
return
_count; }
81
82
private
:
83
int
_count;
84
};
85
92
template
<
typename
PixelT>
93
size_t
maskNans
(
94
afw::image::MaskedImage<PixelT>
const
& mi,
95
afw::image::MaskPixel
maskVal,
96
afw::image::MaskPixel
allow=0
97
);
98
99
100
template
<
typename
ImagePixelT,
typename
FunctionT>
101
void
fitOverscanImage
(
102
std::shared_ptr
<
lsst::afw::math::Function1<FunctionT>
> &overscanFunction,
103
lsst::afw::image::MaskedImage<ImagePixelT>
const
& overscan,
104
double
ssize=1.,
105
int
sigma=1
106
);
107
108
}}}
// namespace lsst::ip::isr
109
110
#endif // !defined(LSST_IP_ISR_ISR_H)
y
int y
std::shared_ptr
STL class.
lsst::afw::image::MaskedImage::MaskedImageIterator
lsst::ip::isr::CountMaskedPixels::reset
void reset()
Definition:
isr.h:64
Exception.h
lsst::ip::isr::CountMaskedPixels::CountMaskedPixels
CountMaskedPixels()
Definition:
isr.h:59
lsst::ip::isr::CountMaskedPixels::~CountMaskedPixels
virtual ~CountMaskedPixels()
Definition:
isr.h:61
lsst::afw::image::MaskedImage
image.h
image
afw::table::Key< afw::table::Array< ImagePixelT > > image
lsst::ip::isr::CountMaskedPixels::getCount
int getCount() const
Definition:
isr.h:80
lsst::ip::isr::maskNans
size_t maskNans(afw::image::MaskedImage< PixelT > const &mi, afw::image::MaskPixel maskVal, afw::image::MaskPixel allow=0)
Mask NANs in an image.
Definition:
Isr.cc:35
lsst::ip::isr::CountMaskedPixels::x_iterator
lsst::afw::image::MaskedImage< ImageT >::x_iterator x_iterator
Definition:
isr.h:58
math.h
lsst::ip::isr::CountMaskedPixels::apply
void apply(lsst::afw::image::MaskedImage< ImageT > const &image, MaskT bitmask)
Definition:
isr.h:67
std::int32_t
Statistics.h
lsst
Remove all non-astronomical counts from the Chunk Exposure's pixels.
lsst::ip::isr::fitOverscanImage
void fitOverscanImage(std::shared_ptr< lsst::afw::math::Function1< FunctionT > > &overscanFunction, lsst::afw::image::MaskedImage< ImagePixelT > const &overscan, double ssize=1., int sigma=1)
Definition:
Isr.cc:53
lsst::ip::isr::CountMaskedPixels
Definition:
isr.h:56
lsst::afw::math::Function1
Generated on Fri Dec 18 2020 01:48:21 for lsst.ip.isr by
1.8.18