def test_addrm_slit(): """ This tests the add and remove methods for user-supplied slit fussing. """ # Check for files mstrace_file = os.path.join(os.getenv('PYPEIT_DEV'), 'Cooked', 'Trace', 'MasterTrace_KeckLRISr_400_8500_det1.fits') assert chk_for_files(mstrace_file) #tslits_dict, mstrace = traceslits.load_tslits(mstrace_file) # Instantiate _, traceSlits = instant_traceslits(mstrace_file) norig = traceSlits.tslits_dict['nslits'] traceSlits.slit_left = traceSlits.tslits_dict['slit_left'].copy() traceSlits.slit_righ = traceSlits.tslits_dict['slit_righ'].copy() # Add dummy slit # y_spec, left edge, right edge on image add_user_slits = [[1024, 140, 200]] traceSlits.slit_left, traceSlits.slit_righ = trace_slits.add_user_edges( traceSlits.slit_left, traceSlits.slit_righ, add_user_slits) # Test assert traceSlits.nslit == (norig + 1) xcen0 = np.median( (traceSlits.slit_left[:, 0] + traceSlits.slit_righ[:, 0]) / 2.) assert np.abs(xcen0 - 170) < 3 # Remove it rm_user_slits = [[1024, 170]] traceSlits.slit_left, traceSlits.slit_righ = trace_slits.rm_user_edges( traceSlits.slit_left, traceSlits.slit_righ, rm_user_slits) assert traceSlits.nslit == norig
def add_user_slits(self, user_slits): """ Add user-defined slit(s) Wrapper to trace_slits.add_user_edges() self.slit_left and self.slit_righ modified in place Args: user_slits (list): """ # Reset (if needed) -- For running after PyepIt took a first pass #self.reset_edgearr_ednum() # Add user input slits self.slit_left, self.slit_righ = trace_slits.add_user_edges(self.slit_left, self.slit_righ, user_slits) # Step self.steps.append(inspect.stack()[0][3])