def makeObjectMap(files): '''create a dictionary with keys of the objects, and the values are lists of all the frames of that object ''' result = defaultdict(list) for frame in iter(files): result[getObjectName(pyfits.getheader(frame))].append(frame) return result
def parseHeader(self, header): '''parse a FITS header, and if the image is an object frame add the information to the summary return true if an object, false otherwise''' if fitsHeader.getFrameType(header) == 'object': targetName = fitsHeader.getObjectName(header) filterName = fitsHeader.getFilter(header) self.addObservation(targetName, filterName) return True else: return False
def recordObservation(fitsHeader,fname=''): '''record the information contained in the header to the online database and optionally the filename passed as fname''' objName = getObjectName(fitsHeader) obj = obsDB.obj_get_or_add(objName) logger.info(obj) objid = obj['obj_id'] ffilter = fitsHeader['FILTER'] exptime = fitsHeader['EXPTIME'] temp = fitsHeader['CCD-TEMP'] utdate = dateRegex.match(fitsHeader['DATE-OBS']).group(1) obsDB.newObservation(objid,utdate,ffilter,exptime,temp,fname=os.path.realpath(fname)) return