LSSTApplications
10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
home
lsstsw
stack
Linux64
ip_diffim
11.0+1
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
85
86
87
y
int y
Definition:
GaussianCentroid.cc:36
lsst::ip::diffim::FindSetBits::~FindSetBits
virtual ~FindSetBits()
Definition:
FindSetBits.h:59
lsst::ip::diffim::FindSetBits::apply
void apply(MaskT const &mask)
Definition:
FindSetBits.h:68
lsst::ip::diffim::FindSetBits::FindSetBits
FindSetBits()
Definition:
FindSetBits.h:57
lsst::ip::diffim::FindSetBits
Class to accumulate Mask bits.
Definition:
FindSetBits.h:53
lsst::ip::diffim::FindSetBits::reset
void reset()
Definition:
FindSetBits.h:62
lsst::ip::diffim::FindSetBits::getBits
MaskT::Pixel getBits() const
Definition:
FindSetBits.h:65
image.h
An include file to include the header files for lsst::afw::image.
lsst::ip::diffim::FindSetBits::_bits
MaskT::Pixel _bits
Definition:
FindSetBits.h:78
lsst::ip::diffim::FindSetBits::x_iterator
MaskT::x_iterator x_iterator
Definition:
FindSetBits.h:55
Generated on Thu Sep 24 2015 02:29:19 for LSSTApplications by
1.8.5