示例#1
0
class ApplyColortermsTestCase(lsst.utils.tests.TestCase):
    def setUp(self):
        self.colorterm = Colorterm(primary="f1", secondary="f2", c0=2.0, c1=3.0)

    def testGetCorrectedMagnitudes(self):
        center = lsst.geom.SpherePoint(30, -30, lsst.geom.degrees)
        flux = 100
        refCat = make_fake_refcat(center, flux)

        expectMag = self.colorterm.transformMags((u.nJy*refCat['f1_flux']).to_value(u.ABmag),
                                                 (u.nJy*refCat['f2_flux']).to_value(u.ABmag))
        refMag, refMagErr = self.colorterm.getCorrectedMagnitudes(refCat)
        self.assertEqual(refMag, expectMag)
class ApplyColortermsTestCase(lsst.utils.tests.TestCase):
    def setUp(self):
        self.colorterm = Colorterm(primary="f1", secondary="f2", c0=2.0, c1=3.0)

    def testGetCorrectedMagnitudes(self):
        center = lsst.geom.SpherePoint(30, -30, lsst.geom.degrees)
        flux = 100
        refCat = make_fake_refcat(center, flux)

        expectMag = self.colorterm.transformMags((u.nJy*refCat['f1_flux']).to_value(u.ABmag),
                                                 (u.nJy*refCat['f2_flux']).to_value(u.ABmag))
        refMag, refMagErr = self.colorterm.getCorrectedMagnitudes(refCat, 'r')
        self.assertEqual(refMag, expectMag)
import lsst.afw.table as afwTable
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):
示例#4
0
"""Set color terms for MegaCam"""

from lsst.pipe.tasks.colorterms import Colorterm, ColortermDict

# 2018-09-04: Michael Wood-Vasey:
# The color terms should translate between the photometric reference catalog
# and the system transmission of MegaCam.
# I've added a set of color terms here for the PS1 reference catalog
# assuming that the PS1 catalog is on the AB system.
config.data = {
    "ps1*":
    ColortermDict(
        data={
            "u": Colorterm(primary="u", secondary="g", c0=0.0, c1=-0.241),
            "g": Colorterm(primary="g", secondary="r", c0=0.0, c1=-0.153),
            "r": Colorterm(primary="r", secondary="g", c0=0.0, c1=0.024),
            "i": Colorterm(primary="i", secondary="r", c0=0.0, c1=0.085),
            "z": Colorterm(primary="z", secondary="i", c0=0.0, c1=-0.074),
        }),
    "e2v":
    ColortermDict(
        data={
            "u": Colorterm(primary="u", secondary="g", c0=0.0, c1=-0.241),
            "g": Colorterm(primary="g", secondary="r", c0=0.0, c1=-0.153),
            "r": Colorterm(primary="r", secondary="g", c0=0.0, c1=0.024),
            "i": Colorterm(primary="i", secondary="r", c0=0.0, c1=0.085),
            "z": Colorterm(primary="z", secondary="i", c0=0.0, c1=-0.074),
        }),
}
示例#5
0
"""Set color terms for Suprime-Cam with MITLL detectors"""

from lsst.pipe.tasks.colorterms import Colorterm, ColortermDict

# 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)
config.data = {
    "sdss-*":
    ColortermDict(
        data={
            'g':
            Colorterm(primary="g", secondary="r", c0=-0.00569, c1=-0.0427),
            'r':
            Colorterm(primary="r", secondary="g", c0=0.00261, c1=0.0304),
            'i':
            Colorterm(
                primary="i", secondary="r", c0=0.00586, c1=0.0827, c2=-0.0118),
            'z':
            Colorterm(
                primary="z", secondary="i", c0=0.000329, c1=0.0608, c2=0.0219),
        }),
}
示例#6
0
"""Set color terms for HSC"""

from lsst.pipe.tasks.colorterms import Colorterm, ColortermDict

config.data = {
    "hsc*":
    ColortermDict(
        data={
            'g': Colorterm(primary="g", secondary="g"),
            'r': Colorterm(primary="r", secondary="r"),
            'i': Colorterm(primary="i", secondary="i"),
            'z': Colorterm(primary="z", secondary="z"),
            'y': Colorterm(primary="y", secondary="y"),
        }),
    "sdss*":
    ColortermDict(
        data={
            'g':
            Colorterm(primary="g",
                      secondary="r",
                      c0=-0.00816446,
                      c1=-0.08366937,
                      c2=-0.00726883),
            'r':
            Colorterm(primary="r",
                      secondary="i",
                      c0=0.00231810,
                      c1=0.01284177,
                      c2=-0.03068248),
            'r2':
            Colorterm(primary="r",
示例#7
0
"""Set color terms for HSC"""

from lsst.pipe.tasks.colorterms import Colorterm, ColortermDict

config.data = {
    "hsc*":
    ColortermDict(
        data={
            'g': Colorterm(primary="g", secondary="g"),
            'r': Colorterm(primary="r", secondary="r"),
            'i': Colorterm(primary="i", secondary="i"),
            'z': Colorterm(primary="z", secondary="z"),
            'y': Colorterm(primary="y", secondary="y"),
        }),
    "sdss*":
    ColortermDict(
        data={
            'g':
            Colorterm(primary="g",
                      secondary="r",
                      c0=-0.00816446,
                      c1=-0.08366937,
                      c2=-0.00726883),
            'r':
            Colorterm(primary="r",
                      secondary="i",
                      c0=0.00231810,
                      c1=0.01284177,
                      c2=-0.03068248),
            'r2':
            Colorterm(primary="r",
示例#8
0
from lsst.pipe.tasks.colorterms import Colorterm, ColortermDict

config.data = {
    "hsc*":
    ColortermDict(
        data={
            # Names used by Exposure.getFilter() in Gen2.
            'g': Colorterm(primary="g", secondary="g"),
            'r': Colorterm(primary="r", secondary="r"),
            'i': Colorterm(primary="i", secondary="i"),
            'z': Colorterm(primary="z", secondary="z"),
            'y': Colorterm(primary="y", secondary="y"),
            # Names used by data IDs in both Gen2 and Gen3, and
            # Exposure.getFilter() in Gen3 (data is the same).
            'HSC-G': Colorterm(primary="g", secondary="g"),
            'HSC-R': Colorterm(primary="r", secondary="r"),
            'HSC-I': Colorterm(primary="i", secondary="i"),
            'HSC-Z': Colorterm(primary="z", secondary="z"),
            'HSC-Y': Colorterm(primary="y", secondary="y"),
        }),
    "sdss*":
    ColortermDict(
        data={
            # Names used by Exposure.getFilter() in Gen2.
            'g':
            Colorterm(primary="g",
                      secondary="r",
                      c0=-0.009777,
                      c1=-0.077235,
                      c2=-0.013121),
            'r':
示例#9
0
from lsst.pipe.tasks.colorterms import Colorterm, ColortermDict

config.data = {
    "ps1*":
    ColortermDict(
        data={
            "L":
            Colorterm(
                primary="g", secondary="r", c0=0.247, c1=-0.3516, c2=-0.1765),
            "R":
            Colorterm(
                primary="r", secondary="i", c0=0.09538, c1=-0.1455,
                c2=0.08284),
            "G":
            Colorterm(
                primary="g", secondary="r", c0=0.1872, c1=-0.3178,
                c2=-0.06752),
            "B":
            Colorterm(
                primary="g", secondary="r", c0=-0.0578, c1=0.283, c2=-0.007889)
        })
}
示例#10
0
"""Set color terms for HSC"""

from lsst.pipe.tasks.colorterms import Colorterm, ColortermDict

config.data = {
    "hsc*":
    ColortermDict(
        data={
            'g': Colorterm(primary="g", secondary="g"),
            'r': Colorterm(primary="r", secondary="r"),
            'i': Colorterm(primary="i", secondary="i"),
            'z': Colorterm(primary="z", secondary="z"),
            'y': Colorterm(primary="y", secondary="y"),
        }),
    "sdss*":
    ColortermDict(
        data={
            'g':
            Colorterm(primary="g",
                      secondary="r",
                      c0=-0.00816446,
                      c1=-0.08366937,
                      c2=-0.00726883),
            'r':
            Colorterm(primary="r",
                      secondary="i",
                      c0=0.00231810,
                      c1=0.01284177,
                      c2=-0.03068248),
            'i':
            Colorterm(primary="i",
示例#11
0
"""Set color terms for MegaCam"""

from lsst.pipe.tasks.colorterms import Colorterm, ColortermDict

# 2018-09-04: Michael Wood-Vasey:
# The color terms should translate between the photometric reference catalog
# and the system transmission of MegaCam.
# I've added a set of color terms here for the PS1 reference catalog
# assuming that the PS1 catalog is on the AB system.
config.data = {
    "ps1*":
    ColortermDict(
        data={
            "u.MP9301": Colorterm(
                primary="u", secondary="g", c0=0.0, c1=-0.241),
            "g.MP9401": Colorterm(
                primary="g", secondary="r", c0=0.0, c1=-0.153),
            "r.MP9601": Colorterm(primary="r", secondary="g", c0=0.0,
                                  c1=0.024),
            "i.MP9701": Colorterm(primary="i", secondary="r", c0=0.0,
                                  c1=0.085),
            "z.MP9801": Colorterm(
                primary="z", secondary="i", c0=0.0, c1=-0.074),
        }),
    "e2v":
    ColortermDict(
        data={
            "u.MP9301": Colorterm(
                primary="u", secondary="g", c0=0.0, c1=-0.241),
            "g.MP9401": Colorterm(
                primary="g", secondary="r", c0=0.0, c1=-0.153),
示例#12
0
 def setUp(self):
     self.colorterm = Colorterm(primary="f1", secondary="f2", c0=2.0, c1=3.0)
示例#13
0
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)
            })
    })
 def setUp(self):
     self.colorterm = Colorterm(primary="f1", secondary="f2", c0=2.0, c1=3.0)
示例#15
0
import unittest
import pickle

import lsst.utils.tests
from lsst.pipe.tasks.colorterms import Colorterm, ColortermDict, ColortermLibrary, ColortermNotFoundError

# 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",
示例#16
0
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),
})
})
示例#17
0
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):
    """Minimal subclass of LoadReferenceObjectsTask"""
示例#18
0
            #         'i': Colorterm(primary="i", secondary="z", c0=0.000643, c1=-0.130078, c2=-0.006855),
            #         # 'i2': Colorterm(primary="i", secondary="z", c0=0.001625, c1=-0.200406, c2=-0.013666),
            #         'z': Colorterm(primary="z", secondary="y", c0=-0.005362, c1=-0.221551, c2=-0.308279),
            #         'y': Colorterm(primary="y", secondary="z", c0=-0.002055, c1=0.209680, c2=0.227296),
            #         'z2': Colorterm(primary="z2", secondary="z2"),
            #         'y2': Colorterm(primary="y2", secondary="y2"),
            #         'j': Colorterm(primary="j", secondary="j"),
            #         'h': Colorterm(primary="h", secondary="h"),
            #         'ks': Colorterm(primary="ks", secondary="ks"),

            # Names used by data IDs in both Gen2 and Gen3, and
            # Exposure.getFilter() in Gen3 (data is the same).
            'HSC-G':
            Colorterm(primary="g",
                      secondary="r",
                      c0=0.005728,
                      c1=0.061749,
                      c2=-0.001125),
            'HSC-R':
            Colorterm(primary="r",
                      secondary="i",
                      c0=-0.000144,
                      c1=0.001369,
                      c2=-0.008380),
            # 'HSC-R2': Colorterm(primary="r", secondary="i", c0=-0.000032, c1=-0.002866, c2=-0.012638),
            'HSC-I':
            Colorterm(primary="i",
                      secondary="z",
                      c0=0.000643,
                      c1=-0.130078,
                      c2=-0.006855),
示例#19
0
#ZAB − ZV = 0.502 (D2)
#YAB − YV = 0.600 (D3)
#JAB − JV = 0.916 (D4)
#HAB − HV = 1.366 (D5)
#KsAB − KsV = 1.827 (D6)

colorterms = config.photoCal.colorterms
from lsst.pipe.tasks.colorterms import ColortermDict, Colorterm
if 'vista' in ref_cat:
    colorterms.data["ps1*"] = ColortermDict(
        data={
            #####HSC COLOUR TERMS FROM obs_subaru
            'HSC-G':
            Colorterm(primary="g",
                      secondary="r",
                      c0=0.00730066,
                      c1=0.06508481,
                      c2=-0.01510570),
            'HSC-R':
            Colorterm(primary="r",
                      secondary="i",
                      c0=0.00279757,
                      c1=0.02093734,
                      c2=-0.01877566),
            'HSC-I':
            Colorterm(primary="i",
                      secondary="z",
                      c0=0.00166891,
                      c1=-0.13944659,
                      c2=-0.03034094),
            'HSC-Z':
示例#20
0
"""Set color terms for Suprime-Cam with Hamamatsu detectors"""

from lsst.pipe.tasks.colorterms import Colorterm, ColortermDict

config.data = {
    "sdss-*":
    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),
            'B':
            Colorterm(primary="g",
                      secondary="r",
                      c0=0.02461907,
                      c1=0.20098328,
                      c2=0.00858468),
            'V':
            Colorterm(primary="g",
                      secondary="r",