def __init__(self, runPath): self.runPath = runPath self.runDate, self.runID = ultracamutils.separateRunNameAndDate(runPath) self.comment = "" self.ra = 0 self.dec = 0 self.target = "unknown" self.expose = 0 self.num = 0 self.comment = ""
def __init__(self, runPath): self.runPath = runPath self.runDate, self.runID = ultracamutils.separateRunNameAndDate(runPath) self.comment = "" self.ra = 0 self.dec = 0 self.target = "unknown" self.expose = 0 self.num = 0 self.comment = "" self.windowInfo = [] self.powerCycle = False self.flags = ""
margins = 10 runInfo = ultraspecClasses.runInfo(arg.runname) found = runInfo.loadFromJSON(config.RUNINFO) if not found: debug.write("Could not get info for this run from the ultra.json file.", level = 1) xmlRead = runInfo.loadFromXML(config.ULTRASPECRAW) debug.write(runInfo, 2) runFilename = ultracamutils.addPaths(config.ULTRASPECRAW, arg.runname) debug.write("Opening the Ultraspec raw file at: " + runFilename, level = 2) runDate, runID = ultracamutils.separateRunNameAndDate(arg.runname) """ Check that the working folders and the output folders are there """ (runDate, runNumber) = ultracamutils.separateRunNameAndDate(arg.runname) workingFolder = ultracamutils.addPaths(config.WORKINGDIR, runDate) ultracamutils.createFolder(workingFolder) startFrame = arg.startframe if startFrame<1: debug.error("startframe cannot be less than 1") sys.exit() rdat = ultracam.Rdata(runFilename, startFrame, server=False)
if arg.numframes!=None: requestedNumFrames = arg.numframes if requestedNumFrames<(frameRange): frameRange = requestedNumFrames frameInfo = classes.FrameObject() channelTempCatalogs = {'r':[], 'g':[], 'b':[]} stackedImages = {'r':[], 'g':[], 'b':[]} """ Created a storage array for keeping the stacked images... """ for c in channelNames: stackedImageStore = classes.stackedImage() stackedImages[c] = stackedImageStore if (arg.fits): runDate = ultracamutils.separateRunNameAndDate(arg.runname)[0] newFolder = utils.addPaths('/tmp', runDate) subprocess.call(["mkdir", newFolder]) startTime = datetime.datetime.now() timeLeftString = "??:??" """ Run through all the frames in the .dat file. """ for frameIndex in range(1, frameRange + 1): currentTime = datetime.datetime.now() trueFrameNumber = startFrame + frameIndex - 1 wholeFrame = getNextFrame() completionPercent = (float(frameIndex) / float(frameRange) * 100.) if frameIndex>2: timePassed = ultracamutils.timedeltaTotalSeconds(currentTime - startTime) totalTime = timePassed * 100. / completionPercent
parser = argparse.ArgumentParser(description='Reads some meta data and builds the .html file for a particular run') parser.add_argument('runname', type=str, help='Ultracam run name [eg 2013-07-21/run010]') parser.add_argument('-d', '--debuglevel', default = 1, type=int, help='Debug level: 3 - verbose, 2 - normal, 1 - warnings only') parser.add_argument('-c', '--configfile', default='ucambuilder.conf', help='The config file, usually ucambuilder.conf') parser.add_argument('-v', '--version', default='primary', help="Optional version string.") arg = parser.parse_args() config = ultracamutils.readConfigFile(arg.configfile) debug = classes.debugObject(config.DEBUG) debug.toggleTimeLog() if (arg.debuglevel!=None): debug.setLevel(arg.debuglevel); templateLoader = jinja2.FileSystemLoader(searchpath="/") templateEnv = jinja2.Environment( loader=templateLoader ) date, runID = ultracamutils.separateRunNameAndDate(arg.runname) """ Get info about the run """ runDate, runID = ultracamutils.separateRunNameAndDate(arg.runname) runInfo = classes.runObject(runDate, runID) runInfo.version = arg.version runInfo.loadSelf(config) if runInfo.comment=="": runInfo.checkForComments(config.ULTRACAMRAW) debug.write("Run Info:\n----------------------", level = 2) debug.write(runInfo, level = 2) debug.write("----------------------", level = 2)