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
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