LSSTApplications
20.0.0
LSSTDataManagementBasePackage
stack
1a1d771
Linux64
afw
20.0.0
include
lsst
afw
image
ImageUtils.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
25
/*
26
* Image utility functions
27
*/
28
#ifndef LSST_AFW_IMAGE_IMAGEUTILS_H
29
#define LSST_AFW_IMAGE_IMAGEUTILS_H
30
31
#include <cmath>
32
33
namespace
lsst
{
34
namespace
afw
{
35
namespace
image
{
36
enum
xOrY
{
X
,
Y
};
37
44
const
double
PixelZeroPos
= 0.0;
45
55
inline
double
indexToPosition
(
double
ind
56
) {
57
return
ind +
PixelZeroPos
;
58
}
59
69
inline
int
positionToIndex
(
double
pos
70
) {
71
return
static_cast<
int
>
(
std::floor
(pos + 0.5 -
PixelZeroPos
));
72
}
73
85
inline
int
positionToIndex
(
double
&residual,
86
double
pos
87
) {
88
double
fullIndex = pos -
PixelZeroPos
;
89
double
roundedIndex =
std::floor
(fullIndex + 0.5);
90
residual = fullIndex - roundedIndex;
91
return
static_cast<
int
>
(roundedIndex);
92
}
98
inline
std::pair<int, double>
positionToIndex
(
double
const
pos,
99
bool
100
) {
101
double
residual;
// fractional part of index
102
int
const
ind =
positionToIndex
(residual, pos);
// integral part
103
104
return
std::pair<int, double>
(ind, residual);
105
}
106
}
// namespace image
107
}
// namespace afw
108
}
// namespace lsst
109
110
#endif // LSST_AFW_IMAGE_IMAGEUTILS_H
lsst::afw::image
Backwards-compatibility support for depersisting the old Calib (FluxMag0/FluxMag0Err) objects.
Definition:
imageAlgorithm.dox:1
std::floor
T floor(T... args)
lsst::afw::image::positionToIndex
int positionToIndex(double pos)
Convert image position to nearest integer index.
Definition:
ImageUtils.h:69
std::pair
lsst::afw::image::PixelZeroPos
const double PixelZeroPos
position of center of pixel 0
Definition:
ImageUtils.h:44
lsst::afw
Definition:
imageAlgorithm.dox:1
lsst::afw::image::indexToPosition
double indexToPosition(double ind)
Convert image index to image position.
Definition:
ImageUtils.h:55
lsst::afw::image::X
@ X
Definition:
ImageUtils.h:36
lsst::afw::image::Y
@ Y
Definition:
ImageUtils.h:36
lsst
A base class for image defects.
Definition:
imageAlgorithm.dox:1
lsst::afw::image::xOrY
xOrY
Definition:
ImageUtils.h:36
Generated on Wed Jun 24 2020 18:09:59 for LSSTApplications by
1.8.18