def parse_args(self, *args, **kwargs): """Parse arguments Checks that the "--calibId" provided works. """ namespace = ArgumentParser.parse_args(self, *args, **kwargs) keys = namespace.butler.getKeys(self.calibName) parsed = {} for name, value in namespace.calibId.items(): if name not in keys: self.error("%s is not a relevant calib identifier key (%s)" % (name, keys)) parsed[name] = keys[name](value) namespace.calibId = parsed return namespace
# 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/>. # from __future__ import absolute_import, division import sys import traceback from lsst.pipe.base import ArgumentParser from lsst.obs.lsstSim.processCalibLsstSim import ProcessCalibLsstSimTask as TaskClass if __name__ == "__main__": parser = ArgumentParser(name="argumentParser") namespace = parser.parse_args(config=TaskClass.ConfigClass()) sensorDataRefLists = {} typeMap = {'0': 'bias', '1': 'dark', '2': 'flat_u', '3': 'flat_g', '4': 'flat_r', '5': 'flat_i', '6': 'flat_z', '7': 'flat_y'} types = [] for dr in namespace.dataRefList: tdict = eval(dr.dataId.__repr__()) types.append(typeMap[str(tdict['visit'])[4]]) del tdict['visit'] dstr = tdict.__repr__() if dstr in sensorDataRefLists: sensorDataRefLists[dstr].append(dr) else: sensorDataRefLists[dstr] = [] sensorDataRefLists[dstr].append(dr)