LSSTApplications
18.1.0
LSSTDataManagementBasePackage
stack
Linux64
afw
18.1.0
include
lsst
afw
image
python
indexing.h
Go to the documentation of this file.
1
// This file is part of afw.
2
//
3
// Developed for the LSST Data Management System.
4
// This product includes software developed by the LSST Project
5
// (http://www.lsst.org).
6
// See the COPYRIGHT file at the top-level directory of this distribution
7
// for details of code ownership.
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 GNU General Public License
20
// along with this program. If not, see <http://www.gnu.org/licenses/>.
21
22
#ifndef LSST_AFW_IMAGE_PYTHON_INDEXING_H
23
#define LSST_AFW_IMAGE_PYTHON_INDEXING_H
24
25
#include "pybind11/pybind11.h"
26
#include "
lsst/afw/geom/Box.h
"
27
28
namespace
lsst
{
namespace
afw
{
namespace
image
{
namespace
python {
29
30
inline
void
checkBounds
(
geom::Point2I
const
& index,
geom::Box2I
const
&
bbox
) {
31
if
(!bbox.
contains
(index)) {
32
std::string
msg = (
boost::format
(
"Index (%d, %d) outside image bounds (%d, %d) to (%d, %d)."
)
33
% index.getX() % index.getY() % bbox.
getMinX
() % bbox.
getMinY
()
34
% bbox.
getMaxX
() % bbox.
getMaxY
()).
str
();
35
if
(index.getX() < 0 || index.getY() < 0) {
36
msg +=
" Note that negative indices are only interpreted as relative to the upper bound "
37
"when LOCAL coordinates are used."
;
38
}
39
PyErr_SetString(PyExc_IndexError, msg.
c_str
());
40
throw
pybind11::error_already_set();
41
}
42
}
43
44
}}}}
// namespace lsst::afw::image::python
45
46
#endif
47
Box.h
lsst::geom::Point< int, 2 >
lsst::afw
Definition:
imageAlgorithm.dox:1
lsst.synpipe.compareModel.str
str
Definition:
compareModel.py:112
std::string
STL class.
lsst
A base class for image defects.
Definition:
imageAlgorithm.dox:1
lsst::geom::Box2I::getMaxY
int getMaxY() const noexcept
Definition:
Box.h:149
lsst.pex.config.history.format
def format(config, name=None, writeSourceLine=True, prefix="", verbose=False)
Definition:
history.py:168
bbox
table::Box2IKey bbox
Definition:
Detector.cc:169
lsst::geom::Box2I::getMaxX
int getMaxX() const noexcept
Definition:
Box.h:148
lsst::afw::image::python::checkBounds
void checkBounds(geom::Point2I const &index, geom::Box2I const &bbox)
Definition:
indexing.h:30
lsst::geom::Box2I::getMinX
int getMinX() const noexcept
Definition:
Box.h:144
lsst::geom::Box2I::contains
bool contains(Point2I const &point) const noexcept
Return true if the box contains the point.
Definition:
Box.cc:117
std::string::c_str
T c_str(T... args)
lsst::afw::image
Backwards-compatibility support for depersisting the old Calib (FluxMag0/FluxMag0Err) objects...
Definition:
imageAlgorithm.dox:1
lsst::geom::Box2I
An integer coordinate rectangle.
Definition:
Box.h:54
lsst::geom::Box2I::getMinY
int getMinY() const noexcept
Definition:
Box.h:145
Generated on Thu Aug 8 2019 20:20:02 for LSSTApplications by
1.8.13