LSSTApplications
10.0-2-g4f67435,11.0.rc2+1,11.0.rc2+12,11.0.rc2+3,11.0.rc2+4,11.0.rc2+5,11.0.rc2+6,11.0.rc2+7,11.0.rc2+8
LSSTDataManagementBasePackage
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
home
lsstsw
stack
Linux64
meas_astrom
11.0.rc2+12
python
lsst
meas
astrom
sip
sourceMatchStatistics.py
Go to the documentation of this file.
1
#
2
# LSST Data Management System
3
# Copyright 2008, 2009, 2010 LSST Corporation.
4
#
5
# This product includes software developed by the
6
# LSST Project (http://www.lsst.org/).
7
#
8
# This program is free software: you can redistribute it and/or modify
9
# it under the terms of the GNU General Public License as published by
10
# the Free Software Foundation, either version 3 of the License, or
11
# (at your option) any later version.
12
#
13
# This program is distributed in the hope that it will be useful,
14
# but WITHOUT ANY WARRANTY; without even the implied warranty of
15
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
# GNU General Public License for more details.
17
#
18
# You should have received a copy of the LSST License Statement and
19
# the GNU General Public License along with this program. If not,
20
# see <http://www.lsstcorp.org/LegalNotices/>.
21
#
22
23
24
import
numpy
as
np
25
26
def
sourceMatchStatistics
(matchList, log=None):
27
""" Compute statistics on the accuracy of a wcs solution, using a precomputed list
28
of matches between an image and a catalogue
29
30
Input:
31
matchList is a lsst::afw::detection::SourceMatch object
32
33
Output:
34
A dictionary storing the following quanities
35
meanOfDiffInPixels Average distance between image and catalogue position (in pixels)
36
rmsOfDiffInPixels Root mean square of distribution of distances
37
quartilesOfDiffInPixels An array of 5 values giving the boundaries of the quartiles of the
38
distribution.
39
"""
40
41
size = len(matchList)
42
if
size == 0:
43
raise
ValueError(
"matchList contains no elements"
)
44
45
dist = np.zeros(size)
46
i = 0
47
for
match
in
matchList:
48
catObj = match.first
49
srcObj = match.second
50
51
cx = catObj.getXAstrom()
52
cy = catObj.getYAstrom()
53
54
sx = srcObj.getXAstrom()
55
sy = srcObj.getYAstrom()
56
57
dist[i] = np.hypot(cx-sx, cy-sy)
58
i = i+1
59
60
dist.sort()
61
62
quartiles = []
63
for
f
in
(0.25, 0.50, 0.75):
64
i = int(f*size + 0.5)
65
if
i >= size:
66
i = size - 1
67
quartiles.append(dist[i])
68
69
values = {}
70
values[
'diffInPixels_Q25'
] = quartiles[0]
71
values[
'diffInPixels_Q50'
] = quartiles[1]
72
values[
'diffInPixels_Q75'
] = quartiles[2]
73
values[
'diffInPixels_mean'
] = dist.mean()
74
values[
'diffInPixels_std'
] = dist.std()
75
76
return
values
77
lsst::meas::astrom::sip.sourceMatchStatistics.sourceMatchStatistics
def sourceMatchStatistics
Definition:
sourceMatchStatistics.py:26
Generated on Wed Sep 16 2015 13:35:32 for LSSTApplications by
1.8.5