def sdssColorterms(self): """ Return the SDSS to HSC color terms """ colorterms = ColortermLibrary() colorterms.data = {} colorterms.data['sdss*'] = lsst.pipe.tasks.colorterms.ColortermDict() colorterms.data['sdss*'].data = {} colorterms.data['sdss*'].data[ 'g'] = lsst.pipe.tasks.colorterms.Colorterm() colorterms.data['sdss*'].data['g'].primary = 'g' colorterms.data['sdss*'].data['g'].secondary = 'r' colorterms.data['sdss*'].data['g'].c0 = -0.00816446 colorterms.data['sdss*'].data['g'].c1 = -0.08366937 colorterms.data['sdss*'].data['g'].c2 = -0.00726883 colorterms.data['sdss*'].data[ 'r'] = lsst.pipe.tasks.colorterms.Colorterm() colorterms.data['sdss*'].data['r'].primary = 'r' colorterms.data['sdss*'].data['r'].secondary = 'i' colorterms.data['sdss*'].data['r'].c0 = 0.0013181 colorterms.data['sdss*'].data['r'].c1 = 0.01284177 colorterms.data['sdss*'].data['r'].c2 = -0.03068248 colorterms.data['sdss*'].data[ 'i'] = lsst.pipe.tasks.colorterms.Colorterm() colorterms.data['sdss*'].data['i'].primary = 'i' colorterms.data['sdss*'].data['i'].secondary = 'z' colorterms.data['sdss*'].data['i'].c0 = 0.00130204 colorterms.data['sdss*'].data['i'].c1 = -0.16922042 colorterms.data['sdss*'].data['i'].c2 = -0.01374245 return colorterms
def runDataRef(self, dataRefList, camera, butler, tract, debug): colorterms = ColortermLibrary() name = os.path.join(os.environ["OBS_SUBARU_DIR"], "config", camera, "colorterms.py") if os.path.exists(name): colorterms.load(name) filters = list() for dataRef in dataRefList: if dataRef.dataId['filter'] not in filters: filters.append(dataRef.dataId['filter']) if len(filters) != 1: self.log.fatal("There are %d filters in input frames" % len(filters)) return None ct = colorterms.getColorterm(butler.mapper.filters[filters[0]], self.config.photoCatName) return self.run(dataRefList, ct, debug)
import astropy.units as u import lsst.utils.tests import lsst.afw.geom import lsst.pipe.base as pipeBase from lsst.meas.algorithms import (LoadReferenceObjectsTask, getRefFluxField, ReferenceObjectLoader) from lsst.pipe.tasks.loadReferenceCatalog import LoadReferenceCatalogConfig, LoadReferenceCatalogTask from lsst.pipe.tasks.colorterms import Colorterm, ColortermDict, ColortermLibrary synthTerms = ColortermLibrary( data={ "synth*": ColortermDict( data={ "filter1": Colorterm(primary="ref1", secondary="ref2", c0=0.0, c1=0.01), "filter2": Colorterm(primary="ref2", secondary="ref3", c0=0.0, c1=-0.01), }) }) _synthFlux = 100.0 _synthCenter = lsst.geom.SpherePoint(30, -30, lsst.geom.degrees) def setup_module(module): lsst.utils.tests.init() class TrivialLoader(ReferenceObjectLoader):
# From the last page of http://www.naoj.org/staff/nakata/suprime/illustration/colorterm_report_ver3.pdf # Transformation for griz band between SDSS and SC (estimated with GS83 SEDs) hamamatsu = ColortermLibrary( data={ "ham*": ColortermDict( data={ "g": Colorterm(primary="g", secondary="r", c0=-0.00928, c1=-0.0824), "r": Colorterm(primary="r", secondary="i", c0=-0.00282, c1=-0.0498, c2=-0.0149), "i": Colorterm(primary="i", secondary="z", c0=0.00186, c1=-0.140, c2=-0.0196), "z": Colorterm(primary="z", secondary="i", c0=-4.03e-4, c1=0.0967, c2=0.0210), }) })
import lsst.afw.image as afwImage import lsst.utils.tests from lsst.utils import getPackageDir from lsst.log import Log from lsst.pipe.tasks.photoCal import PhotoCalTask, PhotoCalConfig from lsst.pipe.tasks.colorterms import Colorterm, ColortermDict, ColortermLibrary RefCatDir = os.path.join(getPackageDir("pipe_tasks"), "tests", "data", "sdssrefcat") # Quiet down meas_astrom logging, so we can see PhotoCal logs better Log.getLogger("LoadIndexedReferenceObjectsTask").setLevel(Log.WARN) testColorterms = ColortermLibrary(data={ "test*": ColortermDict(data={ "g": Colorterm(primary="g", secondary="r", c0=0.00, c1=0.00), "r": Colorterm(primary="r", secondary="i", c0=0.00, c1=0.00, c2=0.00), "i": Colorterm(primary="i", secondary="z", c0=1.00, c1=0.00, c2=0.00), "z": Colorterm(primary="z", secondary="i", c0=0.00, c1=0.00, c2=0.00), }) }) def setup_module(module): lsst.utils.tests.init() class PhotoCalTest(unittest.TestCase): def setUp(self): # Load sample input from disk testDir = os.path.dirname(__file__)
from lsst.pipe.tasks.colorterms import ColortermLibrary # This file is to test that Config validation works when colorterms are # requested but no ColortermLibrary is provided. config.applyColorTerms = True # Have to override the fact that the default HSC jointcal config provides # a ColortermLibrary. config.colorterms = ColortermLibrary()
from lsst.pipe.tasks.colorterms import ColortermLibrary, ColortermDict, Colorterm # this test needs the ps1 r-band colorterm config.applyColorTerms = True # The values in this library were taken from obs_subaru as of stack version 19.0 config.colorterms = ColortermLibrary(data={ "ps1*": ColortermDict(data={ 'r': Colorterm(primary="r", secondary="i", c0=-0.000144, c1=0.001369, c2=-0.008380), }) })
from lsst.pipe.tasks.colorterms import ColortermLibrary, ColortermDict, Colorterm # this test needs the sdss r-band colorterm config.applyColorTerms = True # The values in this library were taken from obs_subaru as of stack version 16.0 config.colorterms = ColortermLibrary( data={ "sdss*": ColortermDict( data={ 'r': Colorterm(primary="r", secondary="i", c0=0.00231810, c1=0.01284177, c2=-0.03068248) }) })