Loading [MathJax]/extensions/tex2jax.js
LSSTApplications
20.0.0
LSSTDataManagementBasePackage
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Typedefs
a
b
c
d
e
f
i
k
m
p
r
s
t
v
w
Enumerations
Enumerator
e
f
h
i
l
m
n
o
p
r
s
t
v
x
y
Classes
Class List
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Enumerations
a
b
c
d
e
f
i
k
l
m
p
s
t
v
w
Enumerator
a
b
c
d
e
f
g
i
j
l
m
n
o
p
r
s
t
u
v
w
x
y
Properties
Related Functions
a
b
c
d
e
f
i
k
m
o
p
s
t
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Functions
d
l
p
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Typedefs
Macros
_
a
b
c
d
f
i
k
l
m
n
p
r
s
Examples
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
stack
1a1d771
Linux64
afw
20.0.0
include
lsst
afw
detection
FootprintSet.h
Go to the documentation of this file.
1
// -*- lsst-c++ -*-
2
/*
3
* LSST Data Management System
4
* Copyright 2008, 2009, 2010 LSST Corporation.
5
*
6
* This product includes software developed by the
7
* LSST Project (http://www.lsst.org/).
8
*
9
* This program is free software: you can redistribute it and/or modify
10
* it under the terms of the GNU General Public License as published by
11
* the Free Software Foundation, either version 3 of the License, or
12
* (at your option) any later version.
13
*
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU General Public License for more details.
18
*
19
* You should have received a copy of the LSST License Statement and
20
* the GNU General Public License along with this program. If not,
21
* see <http://www.lsstcorp.org/LegalNotices/>.
22
*/
23
24
#if !defined(LSST_DETECTION_FOOTPRINT_SET_H)
25
#define LSST_DETECTION_FOOTPRINT_SET_H
26
/*
27
* Represent a collections of footprints associated with image data
28
*/
29
#include <cstdint>
30
31
#include "
lsst/geom.h
"
32
#include "
lsst/afw/detection/Threshold.h
"
33
#include "
lsst/afw/detection/Footprint.h
"
34
#include "
lsst/afw/detection/FootprintCtrl.h
"
35
#include "
lsst/afw/image/MaskedImage.h
"
36
#include "
lsst/afw/table/Source.h
"
37
38
namespace
lsst
{
39
namespace
afw
{
40
namespace
detection {
41
48
typedef
std::uint64_t
FootprintIdPixel
;
49
53
class
FootprintSet
{
54
public
:
56
typedef
std::vector<std::shared_ptr<Footprint>
>
FootprintList
;
57
66
template
<
typename
ImagePixelT>
67
FootprintSet
(
image::Image<ImagePixelT>
const
& img,
Threshold
const
& threshold,
int
const
npixMin = 1,
68
bool
const
setPeaks =
true
);
69
77
template
<
typename
MaskPixelT>
78
FootprintSet
(
image::Mask<MaskPixelT>
const
& img,
Threshold
const
& threshold,
int
const
npixMin = 1);
79
98
template
<
typename
ImagePixelT,
typename
MaskPixelT>
99
FootprintSet
(
image::MaskedImage<ImagePixelT, MaskPixelT>
const
& img,
Threshold
const
& threshold,
100
std::string
const
& planeName =
""
,
int
const
npixMin = 1,
bool
const
setPeaks =
true
);
101
107
FootprintSet
(
lsst::geom::Box2I
region);
113
FootprintSet
(
FootprintSet
const
& rhs);
114
FootprintSet
(
FootprintSet
const
&
set
,
int
rGrow,
FootprintControl
const
& ctrl);
115
FootprintSet
(
FootprintSet
&& rhs);
116
~FootprintSet
();
128
FootprintSet
(
FootprintSet
const
&
set
,
int
rGrow,
bool
isotropic =
true
);
134
FootprintSet
(
FootprintSet
const
& footprints1,
FootprintSet
const
& footprints2,
bool
const
includePeaks);
135
137
FootprintSet
&
operator=
(
FootprintSet
const
& rhs);
138
FootprintSet
&
operator=
(
FootprintSet
&& rhs);
139
140
void
swap
(
FootprintSet
& rhs) noexcept {
141
using
std::swap
;
// See Meyers, Effective C++, Item 25
142
swap
(*_footprints, *rhs.getFootprints());
143
lsst::geom::Box2I
rhsRegion = rhs.getRegion();
144
rhs.setRegion(
getRegion
());
145
setRegion
(rhsRegion);
146
}
147
148
void
swapFootprintList
(
FootprintList
& rhs) noexcept {
149
using
std::swap
;
150
swap
(*_footprints, rhs);
151
}
152
156
std::shared_ptr<FootprintList>
getFootprints
() {
return
_footprints; }
157
161
void
setFootprints
(
std::shared_ptr<FootprintList>
footprints) { _footprints = footprints; }
162
166
std::shared_ptr<FootprintList const>
const
getFootprints
()
const
{
return
_footprints; }
167
176
void
makeSources
(
afw::table::SourceCatalog
& catalog)
const
;
177
185
void
setRegion
(
lsst::geom::Box2I
const
& region);
186
190
lsst::geom::Box2I
const
getRegion
()
const
{
return
_region; }
191
197
std::shared_ptr<image::Image<FootprintIdPixel>
>
insertIntoImage
()
const
;
198
199
template
<
typename
MaskPixelT>
200
void
setMask
(
image::Mask<MaskPixelT>
*
mask
,
201
std::string
const
& planeName
202
) {
203
for
(
auto
const
& foot : *_footprints) {
204
foot->getSpans()->setMask(*
mask
,
image::Mask<MaskPixelT>::getPlaneBitMask
(planeName));
205
}
206
}
207
208
template
<
typename
MaskPixelT>
209
void
setMask
(
std::shared_ptr
<
image::Mask<MaskPixelT>
>
mask
,
210
std::string
const
& planeName
211
) {
212
setMask
(
mask
.get(), planeName);
213
}
214
223
void
merge
(
FootprintSet
const
& rhs,
int
tGrow = 0,
int
rGrow = 0,
bool
isotropic =
true
);
224
231
template
<
typename
ImagePixelT,
typename
MaskPixelT>
232
void
makeHeavy
(
image::MaskedImage<ImagePixelT, MaskPixelT>
const
& mimg,
233
HeavyFootprintCtrl
const
* ctrl = NULL);
234
235
private
:
236
std::shared_ptr<FootprintList>
_footprints;
237
lsst::geom::Box2I
_region;
238
};
239
}
// namespace detection
240
}
// namespace afw
241
}
// namespace lsst
242
243
#endif
lsst::afw::detection::FootprintSet::FootprintSet
FootprintSet(image::MaskedImage< ImagePixelT, MaskPixelT > const &img, Threshold const &threshold, std::string const &planeName="", int const npixMin=1, bool const setPeaks=true)
Find a FootprintSet given a MaskedImage and a threshold.
lsst::afw::detection::FootprintSet::setMask
void setMask(std::shared_ptr< image::Mask< MaskPixelT >> mask, std::string const &planeName)
Definition:
FootprintSet.h:209
lsst::afw::detection::FootprintSet::operator=
FootprintSet & operator=(FootprintSet const &rhs)
Assignment operator.
lsst::afw::detection::FootprintSet::FootprintSet
FootprintSet(image::Mask< MaskPixelT > const &img, Threshold const &threshold, int const npixMin=1)
Find a FootprintSet given a Mask and a threshold.
lsst::afw::detection::FootprintSet::getRegion
lsst::geom::Box2I const getRegion() const
Return the corners of the MaskedImage.
Definition:
FootprintSet.h:190
lsst::afw::detection::FootprintSet::FootprintSet
FootprintSet(FootprintSet &&rhs)
lsst::afw::detection::FootprintSet::setMask
void setMask(image::Mask< MaskPixelT > *mask, std::string const &planeName)
Definition:
FootprintSet.h:200
std::string
STL class.
lsst::afw::detection::HeavyFootprintCtrl
A control object for HeavyFootprints.
Definition:
FootprintCtrl.h:99
std::shared_ptr
STL class.
lsst::afw::detection::FootprintSet::makeHeavy
void makeHeavy(image::MaskedImage< ImagePixelT, MaskPixelT > const &mimg, HeavyFootprintCtrl const *ctrl=NULL)
Convert all the Footprints in the FootprintSet to be HeavyFootprints.
lsst::afw::image::Mask
Represent a 2-dimensional array of bitmask pixels.
Definition:
Mask.h:77
Threshold.h
lsst::afw::detection::FootprintSet::setRegion
void setRegion(lsst::geom::Box2I const ®ion)
Set the corners of the FootprintSet's MaskedImage to region.
lsst::afw::detection::FootprintSet::operator=
FootprintSet & operator=(FootprintSet &&rhs)
lsst::afw::detection::FootprintSet::FootprintSet
FootprintSet(FootprintSet const &footprints1, FootprintSet const &footprints2, bool const includePeaks)
Return the FootprintSet corresponding to the merge of two input FootprintSets.
lsst::afw::detection::FootprintSet::FootprintSet
FootprintSet(FootprintSet const &rhs)
Copy constructor.
MaskedImage.h
std::vector
STL class.
lsst::afw::detection::FootprintSet::FootprintSet
FootprintSet(lsst::geom::Box2I region)
Construct an empty FootprintSet given a region that its footprints would have lived in.
lsst::afw
Definition:
imageAlgorithm.dox:1
lsst::afw::detection::FootprintSet::~FootprintSet
~FootprintSet()
lsst::afw::detection::FootprintSet::FootprintSet
FootprintSet(FootprintSet const &set, int rGrow, FootprintControl const &ctrl)
lsst::afw::detection::FootprintSet::FootprintSet
FootprintSet(image::Image< ImagePixelT > const &img, Threshold const &threshold, int const npixMin=1, bool const setPeaks=true)
Find a FootprintSet given an Image and a threshold.
lsst::afw::detection::FootprintSet::FootprintList
std::vector< std::shared_ptr< Footprint > > FootprintList
The FootprintSet's set of Footprints.
Definition:
FootprintSet.h:56
geom.h
mask
afw::table::Key< afw::table::Array< MaskPixelT > > mask
Definition:
HeavyFootprint.cc:217
lsst::afw::detection::FootprintSet::getFootprints
std::shared_ptr< FootprintList > getFootprints()
: Return the Footprints of detected objects
Definition:
FootprintSet.h:156
lsst::afw::detection::FootprintSet::makeSources
void makeSources(afw::table::SourceCatalog &catalog) const
Add a new record corresponding to each footprint to a SourceCatalog.
lsst::afw::detection::FootprintControl
A Control Object for Footprints, controlling e.g.
Definition:
FootprintCtrl.h:34
lsst::afw::detection::FootprintSet::insertIntoImage
std::shared_ptr< image::Image< FootprintIdPixel > > insertIntoImage() const
Return an Image with pixels set to the Footprints in the FootprintSet.
lsst::afw::detection::FootprintSet
A set of Footprints, associated with a MaskedImage.
Definition:
FootprintSet.h:53
lsst::afw::image::MaskedImage
A class to manipulate images, masks, and variance as a single object.
Definition:
MaskedImage.h:73
lsst::afw::detection::FootprintSet::swapFootprintList
void swapFootprintList(FootprintList &rhs) noexcept
Definition:
FootprintSet.h:148
lsst::afw::table._source.SourceCatalog
Definition:
_source.py:33
lsst::afw::detection::Threshold
A Threshold is used to pass a threshold value to detection algorithms.
Definition:
Threshold.h:43
lsst::afw::detection::FootprintSet::swap
void swap(FootprintSet &rhs) noexcept
Definition:
FootprintSet.h:140
lsst::afw::detection::FootprintSet::FootprintSet
FootprintSet(FootprintSet const &set, int rGrow, bool isotropic=true)
Grow all the Footprints in the input FootprintSet, returning a new FootprintSet.
Footprint.h
std::uint64_t
Source.h
lsst
A base class for image defects.
Definition:
imageAlgorithm.dox:1
std::swap
T swap(T... args)
FootprintCtrl.h
lsst::geom::Box2I
An integer coordinate rectangle.
Definition:
Box.h:55
lsst::afw::detection::FootprintSet::merge
void merge(FootprintSet const &rhs, int tGrow=0, int rGrow=0, bool isotropic=true)
Merge a FootprintSet into *this.
lsst::afw::image::Image< ImagePixelT >
lsst::afw::detection::FootprintIdPixel
std::uint64_t FootprintIdPixel
Pixel type for FootprintSet::insertIntoImage()
Definition:
FootprintSet.h:48
lsst::afw::detection::FootprintSet::setFootprints
void setFootprints(std::shared_ptr< FootprintList > footprints)
: Set the Footprints of detected objects
Definition:
FootprintSet.h:161
set
daf::base::PropertySet * set
Definition:
fits.cc:912
lsst::afw::detection::FootprintSet::getFootprints
std::shared_ptr< FootprintList const > const getFootprints() const
Retun the Footprints of detected objects.
Definition:
FootprintSet.h:166
Generated on Wed Jun 24 2020 18:09:58 for LSSTApplications by
1.8.18