def cutFootprints(self, rc): """ This primitive will create and append multiple HDU to the output AD object. Each HDU correspond to a rectangular cut containing a slit from a MOS Flat exposure or a XD flat exposure as in the Gnirs case. :param logLevel: Verbosity setting for log messages to the screen. :type logLevel: integer from 0-6, 0=nothing to screen, 6=everything to screen. OR the message level as a string (i.e., 'critical', 'status', 'fullinfo'...) """ # Instantiate the log log = logutils.get_logger(__name__) # Log the standard "starting primitive" debug message log.debug(gt.log_message("primitive", "cutFootprints", "starting")) # Initialize the list of output AstroData objects adoutput_list = [] # Loop over each input AstroData object in the input list for ad in rc.get_inputs_as_astrodata(): # Call the user level function # Check that the input ad has the TRACEFP extension, # otherwise, create it. if ad['TRACEFP'] == None: ad = trace_footprints(ad) log.stdinfo("Cutting_footprints for: %s"%ad.filename) try: adout = cut_footprints(ad) except: log.error("Error in cut_slits with file: %s"%ad.filename) # DO NOT add this input ad to the adoutput_lis continue # Change the filename adout.filename = gt.filename_updater(adinput=ad, suffix=rc["suffix"], strip=True) # Append the output AstroData object to the list of output # AstroData objects. adoutput_list.append(adout) # Report the list of output AstroData objects to the reduction # context rc.report_output(adoutput_list) yield rc
def traceFootprints(self, rc): """ This primitive will create and append a 'TRACEFP' Bintable HDU to the AD object. The content of this HDU is the footprints information from the espectroscopic flat in the SCI array. :param logLevel: Verbosity setting for log messages to the screen. :type logLevel: integer from 0-6, 0=nothing to screen, 6=everything to screen. OR the message level as a string (i.e., 'critical', 'status', 'fullinfo'...) """ # Instantiate the log log = logutils.get_logger(__name__) # Log the standard "starting primitive" debug message log.debug(gt.log_message("primitive", "", "starting")) # Initialize the list of output AstroData objects adoutput_list = [] # Loop over each input AstroData object in the input list for ad in rc.get_inputs_as_astrodata(): # Check whether this primitive has been run previously if ad.phu_get_key_value("TRACEFP"): log.warning("%s has already been processed by traceSlits" \ % (ad.filename)) # Append the input AstroData object to the list of output # AstroData objects without further processing adoutput_list.append(ad) continue # Call the user level function try: adout = trace_footprints(ad, function=rc["function"], order=rc["order"], trace_threshold=rc["trace_threshold"]) except: log.warning("Error in traceFootprints with file: %s" % ad.filename) # Change the filename adout.filename = gt.filename_updater(adinput=ad, suffix=rc["suffix"], strip=True) # Append the output AstroData object to the list of output # AstroData objects. adoutput_list.append(adout) # Report the list of output AstroData objects to the reduction # context rc.report_output(adoutput_list) yield rc
def traceFootprints(self, rc): """ This primitive will create and append a 'TRACEFP' Bintable HDU to the AD object. The content of this HDU is the footprints information from the espectroscopic flat in the SCI array. :param logLevel: Verbosity setting for log messages to the screen. :type logLevel: integer from 0-6, 0=nothing to screen, 6=everything to screen. OR the message level as a string (i.e., 'critical', 'status', 'fullinfo'...) """ # Instantiate the log log = logutils.get_logger(__name__) # Log the standard "starting primitive" debug message log.debug(gt.log_message("primitive", "", "starting")) # Initialize the list of output AstroData objects adoutput_list = [] # Loop over each input AstroData object in the input list for ad in rc.get_inputs_as_astrodata(): # Check whether this primitive has been run previously if ad.phu_get_key_value("TRACEFP"): log.warning("%s has already been processed by traceSlits" \ % (ad.filename)) # Append the input AstroData object to the list of output # AstroData objects without further processing adoutput_list.append(ad) continue # Call the user level function try: adout = trace_footprints(ad,function=rc["function"], order=rc["order"], trace_threshold=rc["trace_threshold"]) except: log.warning("Error in traceFootprints with file: %s"%ad.filename) # Change the filename adout.filename = gt.filename_updater(adinput=ad, suffix=rc["suffix"], strip=True) # Append the output AstroData object to the list of output # AstroData objects. adoutput_list.append(adout) # Report the list of output AstroData objects to the reduction # context rc.report_output(adoutput_list) yield rc
def cutFootprints(self, rc): """ This primitive will create and append multiple HDU to the output AD object. Each HDU correspond to a rectangular cut containing a slit from a MOS Flat exposure or a XD flat exposure as in the Gnirs case. :param logLevel: Verbosity setting for log messages to the screen. :type logLevel: integer from 0-6, 0=nothing to screen, 6=everything to screen. OR the message level as a string (i.e., 'critical', 'status', 'fullinfo'...) """ # Instantiate the log log = logutils.get_logger(__name__) # Log the standard "starting primitive" debug message log.debug(gt.log_message("primitive", "cutFootprints", "starting")) # Initialize the list of output AstroData objects adoutput_list = [] # Loop over each input AstroData object in the input list for ad in rc.get_inputs_as_astrodata(): # Call the user level function # Check that the input ad has the TRACEFP extension, # otherwise, create it. if ad['TRACEFP'] == None: ad = trace_footprints(ad) log.stdinfo("Cutting_footprints for: %s" % ad.filename) try: adout = cut_footprints(ad) except: log.error("Error in cut_slits with file: %s" % ad.filename) # DO NOT add this input ad to the adoutput_lis continue # Change the filename adout.filename = gt.filename_updater(adinput=ad, suffix=rc["suffix"], strip=True) # Append the output AstroData object to the list of output # AstroData objects. adoutput_list.append(adout) # Report the list of output AstroData objects to the reduction # context rc.report_output(adoutput_list) yield rc