2 from fnmatch
import fnmatch
6 __all__ = [
"getAndVersion",
"setAstrometryConfigFromEups",
"setPhotocalConfigFromEups",
"setConfigFromEups", ]
10 """Return a cached eups instance""" 13 except AttributeError:
14 getEups._eups = Eups()
19 """Return the version of astrometry_net_data in use""" 20 return getEups().findSetupVersion(
"astrometry_net_data")[0]
24 """Set the astrometry configuration according to the astrometry_net_data being used 26 The menu is a dict mapping the astrometry_net_data version to a dict of configuration 27 values to apply. The menu key may also be a glob. For example: 28 menu = { "ps1*": {}, # No changes 29 "ps1-without-y": { "solver.filterMap": {"y": "z"} }, # No y-band in this specific version 30 "sdss*": { "solver.filterMap": {"y": "z"} }, # No y-band, use z instead 31 "2mass*": { "solver.filterMap": {"y": "J"} }, # No y-band, use J instead 37 selected = menu[version]
40 matchList = [key
for key
in menu
if fnmatch(version, key)]
41 if len(matchList) > 1:
42 raise RuntimeError(
"Multiple menu keys match astrometry_net_data version %s: %s" %
44 if len(matchList) == 0:
45 raise RuntimeError(
"No menu key matches astrometry_net_data version %s" % version)
46 selected = menu[matchList.pop()]
47 for name, value
in selected.items():
52 """Set the photocal configuration according to the astrometry_net_data being used""" 57 """Set the astrometry and photocal configuration according to the astrometry_net_data being used 59 The 'astrometryMenu' is as defined for the 'menu' parameter for 'setAstrometryConfigFromEups'. 64 if astrometryMenu
is None:
65 raise RuntimeError(
"No astrometryMenu provided for astrometryConfig")
def setPhotocalConfigFromEups(config)
def setAstrometryConfigFromEups(config, menu)
def setDottedAttr(item, name, value)
def setConfigFromEups(photocalConfig=None, astrometryConfig=None, astrometryMenu=None)