コード例 #1
0
def run_repo_based_subtraction(science_file,
                               template_file,
                               repo_dir,
                               verbose=True):
    """Run a subtraction using the Butler"""
    science_fileroot = filename_to_fileroot(science_file)
    template_fileroot = filename_to_fileroot(template_file)
    args = [
        repo_dir,
        '--id',
        'fileroot={}'.format(science_fileroot),
        '--templateId',
        'fileroot={}'.format(template_fileroot),
        '--output',
        repo_dir,
        '--configfile',
        'diffimconfig.py',
        '--logdest',
        'wiyn_imageDifference.log',
        '--clobber-config',
        '--clobber-versions',
    ]
    from lsst.pipe.tasks.imageDifference import ImageDifferenceTask

    if verbose:
        print("Running ImageDifferenceTask.parseAndrun with args:")
        print(args)
    ImageDifferenceTask.parseAndRun(args=args)
コード例 #2
0
ファイル: worker_utils.py プロジェクト: menanteau/lsstdev
def diffImage(REPO,visit,ccdnum,**kw):

    try:
        import scipy.stats
    except ImportError:
        pass
    from lsst.pipe.tasks.imageDifference import ImageDifferenceTask

    template = find_templateID(visit)
    command = "{REPO} --id visit={EXPNUM}  ccdnum={CCDNUM} --templateId visit={TEMPLATE} --rerun A --config doAddCalexpBackground=False --configfile {configfile}"
    args = command.format(EXPNUM=visit,CCDNUM=ccdnum,REPO=REPO,TEMPLATE=template,**kw).split()
    ImageDifferenceTask.parseAndRun(args=args)
    print "Done imageDifference\n"
コード例 #3
0
    def __init__(self, db_file):
        """Create similar configuration for tasks ad in ap_pipe.
        """

        self.log = Log.getLogger("RunAssociation")
        self.apdbConfig = ApdbConfig()
        self.apdbConfig.db_url = "sqlite:///" + db_file
        self.apdbConfig.isolation_level = "READ_UNCOMMITTED"
        self.apdbConfig.dia_object_index = "baseline"
        self.apdbConfig.dia_object_columns = []
        self.apdbConfig.connection_timeout = 240
        self.apdbConfig.schema_file = _data_file_name("apdb-schema.yaml",
                                                      "dax_apdb")
        self.apdbConfig.column_map = _data_file_name(
            "apdb-ap-pipe-afw-map.yaml", "ap_association")
        self.apdbConfig.extra_schema_file = _data_file_name(
            "apdb-ap-pipe-schema-extra.yaml", "ap_association")

        self.apdb = Apdb(config=self.apdbConfig,
                         afw_schemas=dict(DiaObject=make_dia_object_schema(),
                                          DiaSource=make_dia_source_schema()))
        # apdb.makeSchema()
        self.differencerConfig = ImageDifferenceConfig()
        # Schema is different if we do decorrelation
        self.differencerConfig.doDecorrelation = True
        self.differencerSchema = ImageDifferenceTask(
            config=self.differencerConfig).schema
        self.diaSourceDpddifier = MapDiaSourceTask(
            inputSchema=self.differencerSchema)
        self.associator = AssociationTask()

        self.diffType = "deep"
コード例 #4
0
        task_args.append("--config")
        task_args.append("subtract.kernel.active.kernelSize=%d" % (kSize))
        task_args.append(
            "subtract.kernel.active.detectionConfig.fpGrowMin=%d" %
            (fpGrowPix - 1))
        task_args.append(
            "subtract.kernel.active.detectionConfig.fpGrowPix=%d" %
            (fpGrowPix))
        task_args.append(
            "subtract.kernel.active.detectionConfig.fpGrowMax=%d" %
            (fpGrowPix + 1))
        task_args.append("doDetection=False")
        task_args.append("doMeasurement=False")

        ## Hack around the lack of metadata being returned in cmdLineTask
        tmp = ImageDifferenceTask()
        parsedCmd = tmp._makeArgumentParser().parse_args(
            config=tmp.ConfigClass(),
            args=task_args,
            log=tmp.log,
            override=tmp.applyOverrides)
        task = ImageDifferenceTask(name=ImageDifferenceTask._DefaultName,
                                   config=parsedCmd.config,
                                   log=parsedCmd.log)
        results = task.run(parsedCmd.dataRefList[0])

        try:
            kSum = task.subtract.metadata.get("spatialKernelSum")
            cNum = task.subtract.metadata.get("spatialConditionNum")
        except Exception:
            kSums.append(np.inf)
コード例 #5
0
for kSize in kSizes:
    for gSize in gSizes:
        fpGrowPix = int(gSize * kSize / 2 + 0.5)  # this is a grow radius

        # Specializations for this test
        task_args = sys.argv[1:]
        task_args.append("--config")
        task_args.append("subtract.kernel.active.kernelSize=%d" % (kSize))
        task_args.append("subtract.kernel.active.detectionConfig.fpGrowMin=%d" % (fpGrowPix-1))
        task_args.append("subtract.kernel.active.detectionConfig.fpGrowPix=%d" % (fpGrowPix))
        task_args.append("subtract.kernel.active.detectionConfig.fpGrowMax=%d" % (fpGrowPix+1))
        task_args.append("doDetection=False")
        task_args.append("doMeasurement=False")

        ## Hack around the lack of metadata being returned in cmdLineTask
        tmp = ImageDifferenceTask()
        parsedCmd = tmp._makeArgumentParser().parse_args(config=tmp.ConfigClass(), args=task_args, log=tmp.log, override=tmp.applyOverrides)
        task = ImageDifferenceTask(name = ImageDifferenceTask._DefaultName, config=parsedCmd.config, log=parsedCmd.log)
        results = task.run(parsedCmd.dataRefList[0])

        try:
            kSum = task.subtract.metadata.get("spatialKernelSum")
            cNum = task.subtract.metadata.get("spatialConditionNum")
        except Exception:
            kSums.append(np.inf)
            cNums.append(np.inf)
        else:
            kSums.append(kSum)
            cNums.append(cNum)
        
fig = plt.figure()
コード例 #6
0
#!/usr/bin/env python
#
# LSST Data Management System
# Copyright 2008, 2009, 2010 LSST Corporation.
#
# This product includes software developed by the
# LSST Project (http://www.lsst.org/).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.    See the
# GNU General Public License for more details.
#
# You should have received a copy of the LSST License Statement and
# the GNU General Public License along with this program.  If not,
# see <http://www.lsstcorp.org/LegalNotices/>.
#
try:
    import scipy.stats
except ImportError:
    pass
from lsst.pipe.tasks.imageDifference import ImageDifferenceTask

ImageDifferenceTask.parseAndRun()
コード例 #7
0
#
# This product includes software developed by the
# LSST Project (http://www.lsst.org/).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.    See the
# GNU General Public License for more details.
#
# You should have received a copy of the LSST License Statement and
# the GNU General Public License along with this program.  If not,
# see <http://www.lsstcorp.org/LegalNotices/>.
#

# Workaround for a problem in the lsstimport module.  This module sets
# RTLD_GLOBAL for all LSST imports, which is necessary for RTTI, but
# causes scipy to fail when loading numpy.  Importing scipy beforehand
# avoids this problem.
try:
    import scipy.stats  # noqa see comment above
except ImportError:
    pass
from lsst.pipe.tasks.imageDifference import ImageDifferenceTask

ImageDifferenceTask.parseAndRun()