def testSetVisitInfoMetadataMissingValues(self):
     """If a value is unknown then it should not be written to the metadata"""
     visitInfo = afwImage.VisitInfo()  # only rot type is known
     metadata = PropertyList()
     afwImage.setVisitInfoMetadata(metadata, visitInfo)
     self.assertEqual(metadata.getScalar("ROTTYPE"),
                      RotTypeEnumNameDict[afwImage.RotType.UNKNOWN])
     self.assertEqual(metadata.nameCount(), 1)
 def testStripVisitInfoKeywords(self):
     for argList in (self.data1, self.data2):
         visitInfo = afwImage.VisitInfo(*argList)
         metadata = PropertyList()
         afwImage.setVisitInfoMetadata(metadata, visitInfo)
         # add an extra keyword that will not be stripped
         metadata.set("EXTRA", 5)
         self.assertEqual(metadata.nameCount(), 21)
         afwImage.stripVisitInfoKeywords(metadata)
         self.assertEqual(metadata.nameCount(), 1)
 def testSetVisitInfoMetadata(self):
     for item in (self.data1, self.data2):
         visitInfo = afwImage.VisitInfo(
             item.exposureId,
             item.exposureTime,
             item.darkTime,
             item.date,
             item.ut1,
             item.era,
             item.boresightRaDec,
             item.boresightAzAlt,
             item.boresightAirmass,
             item.boresightRotAngle,
             item.rotType,
             item.observatory,
             item.weather,
         )
         metadata = PropertyList()
         afwImage.setVisitInfoMetadata(metadata, visitInfo)
         self.assertEqual(metadata.nameCount(), 20)
         self.assertEqual(metadata.getScalar("EXPID"), item.exposureId)
         self.assertEqual(metadata.getScalar("EXPTIME"), item.exposureTime)
         self.assertEqual(metadata.getScalar("DARKTIME"), item.darkTime)
         self.assertEqual(metadata.getScalar("DATE-AVG"),
                          item.date.toString(DateTime.TAI))
         self.assertEqual(metadata.getScalar("TIMESYS"), "TAI")
         self.assertEqual(metadata.getScalar("MJD-AVG-UT1"), item.ut1)
         self.assertEqual(metadata.getScalar("AVG-ERA"),
                          item.era.asDegrees())
         self.assertEqual(metadata.getScalar("BORE-RA"),
                          item.boresightRaDec[0].asDegrees())
         self.assertEqual(metadata.getScalar("BORE-DEC"),
                          item.boresightRaDec[1].asDegrees())
         self.assertEqual(metadata.getScalar("BORE-AZ"),
                          item.boresightAzAlt[0].asDegrees())
         self.assertEqual(metadata.getScalar("BORE-ALT"),
                          item.boresightAzAlt[1].asDegrees())
         self.assertEqual(metadata.getScalar("BORE-AIRMASS"),
                          item.boresightAirmass)
         self.assertEqual(metadata.getScalar("BORE-ROTANG"),
                          item.boresightRotAngle.asDegrees())
         self.assertEqual(metadata.getScalar("ROTTYPE"),
                          RotTypeEnumNameDict[item.rotType])
         self.assertEqual(metadata.getScalar("OBS-LONG"),
                          item.observatory.getLongitude().asDegrees())
         self.assertEqual(metadata.getScalar("OBS-LAT"),
                          item.observatory.getLatitude().asDegrees())
         self.assertEqual(metadata.getScalar("OBS-ELEV"),
                          item.observatory.getElevation())
         self.assertEqual(metadata.getScalar("AIRTEMP"),
                          item.weather.getAirTemperature())
         self.assertEqual(metadata.getScalar("AIRPRESS"),
                          item.weather.getAirPressure())
         self.assertEqual(metadata.getScalar("HUMIDITY"),
                          item.weather.getHumidity())
Beispiel #4
0
    def updateMetadata(self,
                       calibImage,
                       exposureTime,
                       darkTime=None,
                       **kwargs):
        """!Update the metadata from the VisitInfo

        \param calibImage       The image whose metadata is to be set
        \param exposureTime     The exposure time for the image
        \param darkTime         The time since the last read (default: exposureTime)
        """

        if darkTime is None:
            darkTime = exposureTime  # avoid warning messages when using calibration products

        visitInfo = afwImage.makeVisitInfo(exposureTime=exposureTime,
                                           darkTime=darkTime,
                                           **kwargs)
        md = calibImage.getMetadata()

        afwImage.setVisitInfoMetadata(md, visitInfo)