lsst.ip.isr
g77367d4607+311602a9c2
Toggle main menu visibility
Loading...
Searching...
No Matches
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
25
/*
26
* Implementation of the templated Instrument Signature Removal
27
* stage of the nightly LSST Image Processing Pipeline.
28
*/
29
30
#ifndef LSST_IP_ISR_ISR_H
31
#define LSST_IP_ISR_ISR_H
32
33
#include <memory>
34
#include <string>
35
#include <vector>
36
#include <cmath>
37
38
#include "
lsst/afw/math.h
"
39
#include "
lsst/afw/math/Statistics.h
"
40
#include "
lsst/afw/image.h
"
41
#include "
lsst/pex/exceptions/Exception.h
"
42
43
namespace
lsst
{
44
namespace
ip
{
45
namespace
isr
{
46
50
template
<
typename
ImageT,
typename
MaskT=lsst::afw::image::MaskPixel>
51
class
CountMaskedPixels
{
52
public
:
53
typedef
typename
lsst::afw::image::MaskedImage<ImageT>::x_iterator
x_iterator
;
54
CountMaskedPixels
() :
55
_count(0) {} ;
56
virtual
~CountMaskedPixels
() {};
57
58
// Clear the accumulator
59
void
reset
() { _count = 0; }
60
61
// Count pixels
62
void
apply
(
lsst::afw::image::MaskedImage<ImageT>
const
&
image
,
63
MaskT bitmask) {
64
reset
();
65
for
(
int
y = 0; y !=
image
.getHeight(); ++y) {
66
for
(
x_iterator
ptr =
image
.row_begin(y); ptr !=
image
.row_end(y); ++ptr) {
67
if
( ((*ptr).mask() & bitmask) == bitmask ) {
68
_count += 1;
69
}
70
}
71
}
72
}
73
74
// Return the total counts
75
int
getCount
()
const
{
return
_count; }
76
77
private
:
78
int
_count;
79
};
80
87
template
<
typename
PixelT>
88
size_t
maskNans
(
89
afw::image::MaskedImage<PixelT>
const
& mi,
90
afw::image::MaskPixel
maskVal,
91
afw::image::MaskPixel
allow=0
92
);
93
94
95
template
<
typename
ImagePixelT>
96
std::vector<double>
fitOverscanImage
(
97
lsst::afw::image::MaskedImage<ImagePixelT>
const
& overscan,
98
std::vector<std::string>
badPixelMask,
99
bool
isTransposed
100
);
101
102
template
<
typename
ImagePixelT>
103
std::vector<double>
fitOverscanImageMean
(
104
lsst::afw::image::MaskedImage<ImagePixelT>
const
& overscan,
105
std::vector<std::string>
badPixelMask,
106
bool
isTransposed
107
);
108
109
110
}}}
// namespace lsst::ip::isr
111
112
#endif
// !defined(LSST_IP_ISR_ISR_H)
Exception.h
Statistics.h
lsst::afw::image::MaskedImage
lsst::afw::image::MaskedImage::x_iterator
MaskedImageIterator< typename Image::x_iterator, typename Mask::x_iterator, typename Variance::x_iterator > x_iterator
lsst::ip::isr::CountMaskedPixels::apply
void apply(lsst::afw::image::MaskedImage< ImageT > const &image, MaskT bitmask)
Definition
isr.h:62
lsst::ip::isr::CountMaskedPixels::getCount
int getCount() const
Definition
isr.h:75
lsst::ip::isr::CountMaskedPixels::CountMaskedPixels
CountMaskedPixels()
Definition
isr.h:54
lsst::ip::isr::CountMaskedPixels::reset
void reset()
Definition
isr.h:59
lsst::ip::isr::CountMaskedPixels::x_iterator
lsst::afw::image::MaskedImage< ImageT >::x_iterator x_iterator
Definition
isr.h:53
lsst::ip::isr::CountMaskedPixels::~CountMaskedPixels
virtual ~CountMaskedPixels()
Definition
isr.h:56
image.h
math.h
lsst::afw::image
lsst::afw::image::MaskPixel
std::int32_t MaskPixel
lsst::ip::isr
Definition
applyLookupTable.h:34
lsst::ip::isr::fitOverscanImageMean
std::vector< double > fitOverscanImageMean(lsst::afw::image::MaskedImage< ImagePixelT > const &overscan, std::vector< std::string > badPixelMask, bool isTransposed)
Definition
Isr.cc:99
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::fitOverscanImage
std::vector< double > fitOverscanImage(lsst::afw::image::MaskedImage< ImagePixelT > const &overscan, std::vector< std::string > badPixelMask, bool isTransposed)
Definition
Isr.cc:53
lsst::ip
Definition
applyLookupTable.h:33
lsst
std::vector
Generated on
for lsst.ip.isr by
1.17.0