Пример #1
0
def makeDetectorCrosstalk(dataDict, force=False):
    """Generate and write CrosstalkCalib from dictionary.

    Parameters
    ----------
    dataDict : `dict`
        Dictionary from ``readFile`` containing crosstalk definition.
    """
    dataDict['coeffs'] = dataDict['coeffs'].transpose()

    decamCT = ipIsr.crosstalk.CrosstalkCalib.fromDict(dataDict)
    # Supply a date prior to all data, to ensure universal use.
    decamCT.updateMetadata(setDate=False, CALIBDATE='1970-01-01T00:00:00')

    detName = dataDict['DETECTOR_NAME']
    outDir = os.path.join(DecamMapper.getCrosstalkDir(), detName.lower())
    if os.path.exists(outDir):
        if not force:
            print("Output directory %r exists; use --force to replace" %
                  (outDir, ))
            sys.exit(1)
    else:
        os.makedirs(outDir)
    decamCT.writeText(f"{outDir}/1970-01-01T00:00:00.yaml")
Пример #2
0
        description="Convert a DECam crosstalk file into LSST CrosstalkCalibs."
    )
    parser.add_argument(dest="crosstalkInfile", help="DECam crosstalk file.")
    parser.add_argument("-v",
                        "--verbose",
                        action="store_true",
                        help="Print data about each detector.")
    parser.add_argument("-f",
                        "--force",
                        action="store_true",
                        help="Overwrite existing CrosstalkCalibs.")
    cmd = parser.parse_args()

    outDict = readFile(crosstalkInfile=cmd.crosstalkInfile)

    crosstalkDir = DecamMapper.getCrosstalkDir()
    if os.path.exists(crosstalkDir):
        if not cmd.force:
            print("Output directory %r exists; use --force to replace" %
                  (crosstalkDir, ))
            sys.exit(1)
        print("Replacing data in crosstalk directory %r" % (crosstalkDir, ))
    else:
        print("Creating crosstalk directory %r" % (crosstalkDir, ))
        os.makedirs(crosstalkDir)
    for detName in outDict:
        if cmd.verbose:
            print(
                f"{detName}: has crosstalk? {outDict[detName]['hasCrosstalk']}"
            )
            print(f"COEFF:\n{outDict[detName]['coeffs']}")