LSSTApplications  19.0.0-14-gb0260a2+72efe9b372,20.0.0+7927753e06,20.0.0+8829bf0056,20.0.0+995114c5d2,20.0.0+b6f4b2abd1,20.0.0+bddc4f4cbe,20.0.0-1-g253301a+8829bf0056,20.0.0-1-g2b7511a+0d71a2d77f,20.0.0-1-g5b95a8c+7461dd0434,20.0.0-12-g321c96ea+23efe4bbff,20.0.0-16-gfab17e72e+fdf35455f6,20.0.0-2-g0070d88+ba3ffc8f0b,20.0.0-2-g4dae9ad+ee58a624b3,20.0.0-2-g61b8584+5d3db074ba,20.0.0-2-gb780d76+d529cf1a41,20.0.0-2-ged6426c+226a441f5f,20.0.0-2-gf072044+8829bf0056,20.0.0-2-gf1f7952+ee58a624b3,20.0.0-20-geae50cf+e37fec0aee,20.0.0-25-g3dcad98+544a109665,20.0.0-25-g5eafb0f+ee58a624b3,20.0.0-27-g64178ef+f1f297b00a,20.0.0-3-g4cc78c6+e0676b0dc8,20.0.0-3-g8f21e14+4fd2c12c9a,20.0.0-3-gbd60e8c+187b78b4b8,20.0.0-3-gbecbe05+48431fa087,20.0.0-38-ge4adf513+a12e1f8e37,20.0.0-4-g97dc21a+544a109665,20.0.0-4-gb4befbc+087873070b,20.0.0-4-gf910f65+5d3db074ba,20.0.0-5-gdfe0fee+199202a608,20.0.0-5-gfbfe500+d529cf1a41,20.0.0-6-g64f541c+d529cf1a41,20.0.0-6-g9a5b7a1+a1cd37312e,20.0.0-68-ga3f3dda+5fca18c6a4,20.0.0-9-g4aef684+e18322736b,w.2020.45
LSSTDataManagementBasePackage
ingestCuratedCalibs.py
Go to the documentation of this file.
1 from .ingestCalibs import IngestCalibsTask, IngestCalibsConfig
2 from .read_curated_calibs import read_all
3 from lsst.pipe.base import InputOnlyArgumentParser
4 
5 import tempfile
6 import shutil
7 import os
8 
9 
11  """Argument parser to support ingesting human curated calibration
12  products in a standardized text file format into the repository"""
13 
14  def __init__(self, *args, **kwargs):
15  InputOnlyArgumentParser.__init__(self, *args, **kwargs)
16  self.add_argument("-n", "--dry-run", dest="dryrun", action="store_true",
17  default=False, help="Don't perform any action?")
18  self.add_argument("--create", action="store_true", help="Create new registry?")
19  self.add_argument("--ignore-ingested", dest="ignoreIngested", action="store_true",
20  help="Don't register files that have already been registered")
21  self.add_argument("root", help="Root directory to scan for calibs.")
22 
23 
25  def setDefaults(self):
26  if "filter" in self.register.columns:
27  self.parse.defaults["filter"] = "NONE"
28 
29 
31  """Task that generates registry for human curated calibration products
32  in a standardized text file format"""
33  ArgumentParser = IngestCuratedCalibsArgumentParser
34  _DefaultName = "ingestCuratedCalibs"
35  ConfigClass = IngestCuratedCalibsConfig
36 
37  def run(self, args):
38  """Ingest all defect files and add them to the registry"""
39 
40  try:
41  camera = args.butler.get('camera')
42  temp_dir = tempfile.mkdtemp()
43  calibs, calib_type = read_all(args.root, camera)
44  file_names = []
45  for d in calibs:
46  for s in calibs[d]:
47  file_name = f'{calib_type}_{d}_{s.isoformat()}.fits'
48  full_file_name = os.path.join(temp_dir, file_name)
49  self.log.info('%s written for sensor: %s and calibDate: %s' %
50  (calib_type, d, s.isoformat()))
51  calibs[d][s].writeFits(full_file_name)
52  file_names.append(full_file_name)
53  args.files = file_names
54  args.mode = 'move'
55  args.validity = None # Validity range is determined from the files
56  IngestCalibsTask.run(self, args)
57  finally:
58  shutil.rmtree(temp_dir)
lsst.pipe.tasks.ingestCalibs.IngestCalibsTask
Definition: ingestCalibs.py:231
lsst.pipe.tasks.ingestCalibs.IngestCalibsConfig.register
register
Definition: ingestCalibs.py:226
lsst::log.log.logContinued.info
def info(fmt, *args)
Definition: logContinued.py:201
lsst.pipe.base.argumentParser.InputOnlyArgumentParser
Definition: argumentParser.py:917
lsst.pipe.tasks.ingestCuratedCalibs.IngestCuratedCalibsArgumentParser
Definition: ingestCuratedCalibs.py:10
lsst.pipe.tasks.ingestCuratedCalibs.IngestCuratedCalibsConfig.setDefaults
def setDefaults(self)
Definition: ingestCuratedCalibs.py:25
lsst.pipe.tasks.ingestCalibs.IngestCalibsConfig.parse
parse
Definition: ingestCalibs.py:225
lsst.pipe.tasks.ingestCuratedCalibs.IngestCuratedCalibsArgumentParser.__init__
def __init__(self, *args, **kwargs)
Definition: ingestCuratedCalibs.py:14
lsst.pipe.tasks.ingestCuratedCalibs.IngestCuratedCalibsTask.run
def run(self, args)
Definition: ingestCuratedCalibs.py:37
lsst.pipe.base.task.Task.log
log
Definition: task.py:161
lsst.pipe.tasks.ingestCuratedCalibs.IngestCuratedCalibsTask
Definition: ingestCuratedCalibs.py:30
lsst.pipe.tasks.read_curated_calibs.read_all
def read_all(root, camera)
Definition: read_curated_calibs.py:92
lsst.pipe.tasks.ingestCalibs.IngestCalibsConfig
Definition: ingestCalibs.py:223
lsst.pipe.tasks.ingestCuratedCalibs.IngestCuratedCalibsConfig
Definition: ingestCuratedCalibs.py:24
lsst.pipe.base
Definition: __init__.py:1