-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathenv.py
86 lines (76 loc) · 2.66 KB
/
env.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#! /usr/bin/env python
# -*- coding: utf-8 -*-
# Create Date : 2016-05-21 17:14
# Python Version : 2.7.10
# Git Repo : https://github.com/Jerry-Ma
# Email Address : jerry.ma.nk@gmail.com
"""
env.py
Paths to the astromatic executables and related directories
"""
import os
class AmConfig(object):
sexparam_default = [
# coord
'ALPHA_J2000', 'DELTA_J2000', 'X_IMAGE', 'Y_IMAGE',
'NUMBER', 'EXT_NUMBER',
# phot
'MAG_AUTO', 'MAGERR_AUTO', 'MAG_APER', 'MAGERR_APER',
'FLUX_AUTO', 'FLUXERR_AUTO', 'FLUX_APER', 'FLUXERR_APER',
'BACKGROUND', 'THRESHOLD',
# scamp
'XWIN_IMAGE', 'YWIN_IMAGE',
'ERRAWIN_IMAGE', 'ERRBWIN_IMAGE', 'ERRTHETAWIN_IMAGE',
'FLAGS', 'FLAGS_WEIGHT', 'FLAGS_WIN', # 'IMAFLAGS_ISO',
'FLUX_RADIUS',
# ref key
'X_WORLD', 'Y_WORLD',
'ERRA_WORLD', 'ERRB_WORLD', 'ERRTHETA_WORLD',
# PSF shape
'FWHM_WORLD', 'FWHM_IMAGE',
'A_IMAGE', 'B_IMAGE',
'THETA_IMAGE', 'ELLIPTICITY',
'CLASS_STAR'
]
sex_default = {
'FILTER_NAME': 'default.conv',
'STARNNW_NAME': 'default.nnw',
'WRITE_XML': 'N',
'BACKPHOTO_TYPE': 'LOCAL',
'PIXEL_SCALE': 0,
'HEADER_SUFFIX': '.none',
'GAIN_KEY': 'bug_of_sex_219',
'NTHREADS': 0,
}
scamp_default = {
'CHECKPLOT_RES': '1024',
'SAVE_REFCATALOG': 'Y',
'WRITE_XML': 'N',
}
swarp_default = {
'INTERPOLATE': 'N',
'FSCALASTRO_TYPE': 'FIXED',
'DELETE_TMPFILES': 'Y',
'NOPENFILES_MAX': '1000000',
'WRITE_XML': 'N',
}
scratch_dir = '/tmp'
path_prefix = '/usr'
def __init__(self, **kwargs):
"""populate properties, with optional overrides from kwargs"""
self.set_overrides(kwargs)
def get(self, prop):
return self.overrides.get(prop, getattr(self, prop))
def set_overrides(self, overrides):
self.overrides = overrides
self.share_dir = os.path.join(self.get('path_prefix'), 'share')
self.bin_dir = os.path.join(self.get('path_prefix'), 'bin')
for i in ['bin', 'share']:
for sname, lname in [('sex', 'sextractor'),
('scamp', 'scamp'),
('swarp', 'swarp')]:
if sname == 'sex' and i == 'bin':
lname = 'sex' # sextractor binary naming
setattr(self, '{0}{1}'.format(sname, i),
os.path.join(self.get('{0}_dir'.format(i)), lname))
am = AmConfig()