LSSTApplications
20.0.0
LSSTDataManagementBasePackage
stack
1a1d771
Linux64
ip_diffim
20.0.0
include
lsst
ip
diffim
FindSetBits.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
35
#ifndef LSST_IP_DIFFIM_FINDSETBITS_H
36
#define LSST_IP_DIFFIM_FINDSETBITS_H
37
38
#include "
lsst/afw/image.h
"
39
40
namespace
lsst
{
41
namespace
ip {
42
namespace
diffim {
43
44
52
template
<
typename
MaskT>
53
class
FindSetBits
{
54
public
:
55
typedef
typename
MaskT::x_iterator
x_iterator
;
56
57
FindSetBits
() :
58
_bits(0) {;}
59
virtual
~FindSetBits
() {} ;
60
61
// Clear the accumulators
62
void
reset
() { _bits = 0;}
63
64
// Return the bits set
65
typename
MaskT::Pixel
getBits
()
const
{
return
_bits; }
66
67
// Work your magic
68
void
apply
(MaskT
const
&
mask
) {
69
reset
();
70
for
(
int
y
= 0;
y
!=
mask
.getHeight(); ++
y
) {
71
for
(
x_iterator
ptr
=
mask
.row_begin(
y
),
end
=
mask
.row_end(
y
);
ptr
!=
end
; ++
ptr
) {
72
_bits |= (*ptr);
73
}
74
}
75
}
76
77
private
:
78
typename
MaskT::Pixel
_bits;
79
};
80
81
}}}
// end of namespace lsst::ip::diffim
82
83
84
#endif
y
int y
Definition:
SpanSet.cc:49
lsst::meas::modelfit::Pixel
float Pixel
Typedefs to be used for pixel values.
Definition:
common.h:37
lsst::ip::diffim::FindSetBits::apply
void apply(MaskT const &mask)
Definition:
FindSetBits.h:68
mask
afw::table::Key< afw::table::Array< MaskPixelT > > mask
Definition:
HeavyFootprint.cc:217
end
int end
Definition:
BoundedField.cc:105
lsst::ip::diffim::FindSetBits::FindSetBits
FindSetBits()
Definition:
FindSetBits.h:57
lsst::ip::diffim::FindSetBits::getBits
MaskT::Pixel getBits() const
Definition:
FindSetBits.h:65
ptr
uint64_t * ptr
Definition:
RangeSet.cc:88
image.h
lsst
A base class for image defects.
Definition:
imageAlgorithm.dox:1
lsst::ip::diffim::FindSetBits::~FindSetBits
virtual ~FindSetBits()
Definition:
FindSetBits.h:59
lsst::ip::diffim::FindSetBits::x_iterator
MaskT::x_iterator x_iterator
Definition:
FindSetBits.h:55
lsst::ip::diffim::FindSetBits
Class to accumulate Mask bits.
Definition:
FindSetBits.h:53
lsst::ip::diffim::FindSetBits::reset
void reset()
Definition:
FindSetBits.h:62
Generated on Wed Jun 24 2020 18:10:06 for LSSTApplications by
1.8.18