LSSTApplications
18.1.0
LSSTDataManagementBasePackage
stack
Linux64
afw
18.1.0
include
lsst
afw
detection
FootprintMerge.h
Go to the documentation of this file.
1
// -*- lsst-c++ -*-
2
/*
3
* LSST Data Management System
4
* Copyright 2008-2014 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
#ifndef LSST_AFW_DETECTION_FOOTPRINTMERGE_H
25
#define LSST_AFW_DETECTION_FOOTPRINTMERGE_H
26
27
#include <vector>
28
#include <map>
29
30
#include "
lsst/afw/table/Source.h
"
31
32
namespace
lsst
{
33
namespace
afw
{
34
namespace
detection {
35
41
class
FootprintMerge;
42
56
class
FootprintMergeList
final {
57
public
:
70
FootprintMergeList
(
afw::table::Schema
&sourceSchema,
std::vector<std::string>
const
&filterList,
71
afw::table::Schema
const
&initialPeakSchema);
72
84
FootprintMergeList
(
afw::table::Schema
&sourceSchema,
std::vector<std::string>
const
&filterList);
85
86
~FootprintMergeList
();
87
FootprintMergeList
(
FootprintMergeList
const
&);
88
FootprintMergeList
(
FootprintMergeList
&&);
89
FootprintMergeList
&
operator=
(
FootprintMergeList
const
&);
90
FootprintMergeList
&
operator=
(
FootprintMergeList
&&);
91
93
afw::table::Schema
getPeakSchema
()
const
{
return
_peakTable->getSchema(); }
94
106
void
addCatalog
(
std::shared_ptr<afw::table::SourceTable>
sourceTable,
107
afw::table::SourceCatalog
const
&inputCat,
std::string
const
&
filter
,
108
float
minNewPeakDist = -1.,
bool
doMerge =
true
,
float
maxSamePeakDist = -1.);
109
113
void
clearCatalog
() { _mergeList.
clear
(); }
114
121
void
getFinalSources
(
afw::table::SourceCatalog
&outputCat);
122
123
private
:
124
typedef
afw::table::Key<afw::table::Flag>
FlagKey
;
125
126
struct
KeyTuple {
127
FlagKey
footprint
;
128
FlagKey peak;
129
};
130
131
typedef
std::vector<std::shared_ptr<FootprintMerge>
>
FootprintMergeVec
;
132
typedef
std::map<std::string, KeyTuple>
FilterMap
;
133
134
friend
class
FootprintMerge
;
135
136
void
_initialize(
afw::table::Schema
&sourceSchema,
std::vector<std::string>
const
&filterList);
137
138
FootprintMergeVec _mergeList;
139
FilterMap _filterMap;
140
afw::table::SchemaMapper
_peakSchemaMapper;
141
std::shared_ptr<PeakTable>
_peakTable;
142
};
143
}
// namespace detection
144
}
// namespace afw
145
}
// namespace lsst
146
147
#endif // !LSST_AFW_DETECTION_FOOTPRINTMERGE_H
lsst::afw::table::Schema
Defines the fields and offsets for a table.
Definition:
Schema.h:50
std::shared_ptr
lsst::afw::table::SchemaMapper
A mapping between the keys of two Schemas, used to copy data between them.
Definition:
SchemaMapper.h:21
lsst::afw::detection::FootprintMergeList
List of Merged Footprints.
Definition:
FootprintMerge.h:56
lsst::afw
Definition:
imageAlgorithm.dox:1
Source.h
std::map< std::string, KeyTuple >
filter
std::string
STL class.
lsst
A base class for image defects.
Definition:
imageAlgorithm.dox:1
lsst::afw::detection::FootprintMergeList::getFinalSources
void getFinalSources(afw::table::SourceCatalog &outputCat)
Get SourceCatalog with entries that contain the final Footprint and SourceRecord for each entry...
Definition:
FootprintMerge.cc:301
std::vector::clear
T clear(T... args)
lsst::afw::table.source.sourceContinued.SourceCatalog
Definition:
sourceContinued.py:33
lsst::afw::detection::FootprintMergeList::clearCatalog
void clearCatalog()
Clear entries in the current vector.
Definition:
FootprintMerge.h:113
footprint
lsst::afw::detection::FootprintMergeList::operator=
FootprintMergeList & operator=(FootprintMergeList const &)
std::vector< std::string >
lsst::afw::table::Key< afw::table::Flag >
lsst::afw::detection::FootprintMergeList::getPeakSchema
afw::table::Schema getPeakSchema() const
Return the schema for PeakRecords in the merged footprints.
Definition:
FootprintMerge.h:93
lsst::afw::detection::FootprintMergeList::addCatalog
void addCatalog(std::shared_ptr< afw::table::SourceTable > sourceTable, afw::table::SourceCatalog const &inputCat, std::string const &filter, float minNewPeakDist=-1., bool doMerge=true, float maxSamePeakDist=-1.)
Add objects from a SourceCatalog in the specified filter.
Definition:
FootprintMerge.cc:241
lsst::afw::detection::FootprintMerge
Definition:
FootprintMerge.cc:34
lsst::afw::detection::FootprintMergeList::~FootprintMergeList
~FootprintMergeList()
lsst::afw::detection::FootprintMergeList::FootprintMergeList
FootprintMergeList(afw::table::Schema &sourceSchema, std::vector< std::string > const &filterList, afw::table::Schema const &initialPeakSchema)
Initialize the merge with a custom initial peak schema.
Definition:
FootprintMerge.cc:206
Generated on Thu Aug 8 2019 20:19:59 for LSSTApplications by
1.8.13