def run(self,*args,**kwargs): if len(args) == 0 : raise qlexceptions.ParameterException("Missing input parameter") if not self.is_compatible(type(args[0])): raise qlexceptions.ParameterException("Incompatible input. Was expecting %s got %s"%(type(self.__inpType__),type(args[0]))) input_frame=args[0] #- this must be flat field applied before sky subtraction in the pipeline if "SkyFile" in kwargs: from desispec.io.sky import read_sky skyfile=kwargs["SkyFile"] #- Read sky model file itself from an argument log.info("Using given sky file %s for subtraction"%skyfile) skymodel=read_sky(skyfile) else: if "Outskyfile" in kwargs: outskyfile=kwargs["Outskyfile"] else: outskyfile=None log.info("No sky file given. Computing sky first") from desispec.quicklook.quicksky import compute_sky fibermap=input_frame.fibermap skymodel=compute_sky(input_frame,fibermap) if outskyfile is not None: from desispec.io.sky import write_sky log.info("writing an output sky model file %s "%outskyfile) write_sky(outputfile,skymodel,input_frame.meta) #- now do the subtraction return self.run_pa(input_frame,skymodel)
def run_pa(self,input_frame,outputfile,fibermap=None): #- input frame should be already fiberflat fielded from desispec.io.sky import write_sky from desispec.quicklook.quicksky import compute_sky skymodel=compute_sky(input_frame,fibermap) write_sky(outputfile,skymodel,input_frame.meta) log.info("Sky Model file wrtten. Exiting the pipeline for this configuration") sys.exit(0)
def run_pa(self,input_frame,fiberflat,outputfile): from desispec.fiberflat import apply_fiberflat from desispec.sky import compute_sky from desispec.io.sky import write_sky #- First apply fiberflat to sky fibers apply_fiberflat(input_frame,fiberflat) #- calculate the model skymodel=compute_sky(input_frame) write_sky(outputfile,skymodel,input_frame.meta) log.info("Sky Model file wrtten. Exiting pipeline for this configuration") sys.exit(0)
def run_pa(self, input_frame, outputfile, fibermap=None, apply_resolution=False ): #- input frame should be already fiberflat fielded from desispec.io.sky import write_sky from desispec.quicklook.quicksky import compute_sky skymodel = compute_sky(input_frame, fibermap, apply_resolution=apply_resolution) write_sky(outputfile, skymodel, input_frame.meta) # SEE ABOVE COMMENT!!!! log.debug( "Sky Model file wrtten. Exiting the pipeline for this configuration" ) sys.exit(0)