Exemple #1
0
 def testGenericRun(self):
     """Test the normal workflow of each ap_pipe step.
     """
     task = ApPipeTask(self.butler, config=self.config)
     with self.mockPatchSubtasks(task) as subtasks:
         task.runDataRef(self.inputRef)
         subtasks.ccdProcessor.runDataRef.assert_called_once()
         subtasks.differencer.runDataRef.assert_called_once()
         subtasks.associator.run.assert_called_once()
Exemple #2
0
    def testReuseExistingOutput(self):
        """Test reuse keyword to ApPipeTask.runDataRef.
        """
        task = ApPipeTask(self.butler, config=self.config)

        self.checkReuseExistingOutput(task, ['ccdProcessor'])
        self.checkReuseExistingOutput(task, ['ccdProcessor', 'differencer'])
Exemple #3
0
    def testCalexpRun(self):
        """Test the calexp template workflow of each ap_pipe step.
        """
        calexpConfigFile = os.path.join(lsst.utils.getPackageDir('ap_pipe'),
                                        'config', 'calexpTemplates.py')
        calexpConfig = self._makeDefaultConfig()
        calexpConfig.load(calexpConfigFile)
        calexpConfig.differencer.doSelectSources = False  # Workaround for DM-18394

        task = ApPipeTask(self.butler, config=calexpConfig)
        with self.mockPatchSubtasks(task) as subtasks:
            # We use the same dataId here for both template and science
            # in difference imaging. This is OK because everything is a mock
            # and we aren't actually doing any image processing.
            task.runDataRef(self.inputRef, templateIds=[self.dataId])
            self.assertEqual(subtasks.ccdProcessor.runDataRef.call_count, 2)
            subtasks.differencer.runDataRef.assert_called_once()
            subtasks.associator.run.assert_called_once()
Exemple #4
0
#!/usr/bin/env python
#
# This file is part of ap_pipe.
#
# Developed for the LSST Data Management System.
# This product includes software developed by the LSST Project
# (http://www.lsst.org).
# See the COPYRIGHT file at the top-level directory of this distribution
# for details of code ownership.
#
# 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 GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#

from lsst.ap.pipe import ApPipeTask

if __name__ == '__main__':
    ApPipeTask.parseAndRun()
Exemple #5
0
 def _makeDefaultConfig(cls):
     config = ApPipeTask.ConfigClass()
     config.load(os.path.join(cls.datadir, "config", "apPipe.py"))
     config.ppdb.db_url = "sqlite://"
     config.ppdb.isolation_level = "READ_UNCOMMITTED"
     return config