As an example of the use of the commands described above, we here include the tutorial procedure, executed as TUTORIAL/LONG.
The input images are wlc, the wavelength calibration frame, and obj, the object. The catalogue of laboratory wavelengths used is stored in the table lincat.
INIT/LONG GRAPH/LONG MAKE/DISPLAY ! WRITE/OUT Copy test images -DELETE lndemo_*.* -COPY MID_TEST:emhear.bdf lndemo_wlch.bdf -COPY MID_TEST:emth.bdf lndemo_wlcth.bdf -COPY MID_TEST:emstd.bdf lndemo_wstd.bdf -COPY MID_TEST:emmi0042.bdf lndemo_bias1.bdf -COPY MID_TEST:emmi0043.bdf lndemo_bias2.bdf -COPY MID_TEST:emmi0044.bdf lndemo_bias3.bdf -COPY MID_TEST:emmi0045.bdf lndemo_bias4.bdf -COPY MID_TEST:emmi0046.bdf lndemo_flat1.bdf -COPY MID_TEST:emmi0047.bdf lndemo_flat2.bdf -COPY MID_TEST:emmi0048.bdf lndemo_flat3.bdf -COPY MID_TEST:emmi0049.bdf lndemo_flat4.bdf -COPY MID_TEST:thorium.tbl lndemo_thorium.tbl -COPY MID_TEST:hear.tbl lndemo_hear.tbl -COPY MID_TEST:l745.tbl lndemo_l745.tbl -COPY MID_TEST:atmoexan.tbl lndemo_atmo.tbl ! WRITE/OUT "This tutorial shows how to calibrate long slit spectra" WRITE/OUT "The package assumes wavelengths increasing from" WRITE/OUT "left to rigth." WRITE/OUT "It is assumed that the images have been already" WRITE/OUT "rotated, corrected for pixel to pixel variation" WRITE/OUT "and the dark current has been subtracted." WRITE/OUT "Input data are:" WRITE/OUT "wlc.bdf - wavelength calibration image" WRITE/OUT "obj.bdf - object image" WRITE/OUT "lincat.tbl - line catalogue" ! WRITE/OUT "Combining flat and dark images" ! LOAD lndemo_flat1 CREATE/ICAT bias lndemo_bias*.bdf COMBINE/LONG bias lnbias MEDIAN STAT/IMA lnbias ! CREATE/ICAT flat lndemo_flat*.bdf SET/LONG TRIM=20,60,520,457 PREPARE/LONG flat.cat lndemo_ft CREATE/ICAT flat lndemo_ft*.bdf COMBINE/LONG flat lnff AVERAGE NORMALIZE/FLAT lnff lnflat 190. ! CREATE/ICAT lndemocat lndemo_w*.bdf READ/ICAT lndemocat LOAD lndemo_wlch WRITE/OUT "Extracting useful part of spectra with command PREPARE/LONG" SET/LONG TRIM = 0,60,0,457 PREPARE/LONG lndemocat.cat lndemo ! WLC: SET/GRAPH PMODE=1 XAXIS=AUTO YAXIS=AUTO SET/LONG WLC=lndemo1 LINCAT=lndemo_hear YWIDTH=10 THRES=30. SET/LONG YSTEP=10 WIDTH=8 TWODOPT=YES DCX=2,1 ! SESSDISP = "NO " SHOW/LONG wlc ! WRITE/OUT Search lines: WRITE/DESCR {WLC} STEP/D/2/1 -2. SEARCH/LONG ! search calibration lines PLOT/SEARCH ! WRITE/OUT "Identify some of the brightest lines:" WRITE/OUT WRITE/OUT " X = 379.30 922.50 " WRITE/OUT " WAV = 5015.680 5606.733" WAIT 2 IDENTIFY/LONG ! interactive line identification SET/LONG WLCMTD=IDENT TOL=0.3 CALIBRATE/TWICE ! wavelength calibration PLOT/IDENT ! display initial identifications ! WRITE/OUT Compute the dispersion coefficients by fitting a 2-D polynomial WRITE/OUT to the whole array PLOT/CALIBRATE ! display all identifications PLOT/RESIDUAL PLOT/DISTORTION 5015.680 ! SAVE/LONG ses1 WRITE/OUT "Now calibrating another arc spectrum in GUESS mode" SET/LONG WLCMTD=GUESS GUESS=ses1 WLC=lndemo2 LINCAT=lndemo_thorium SET/LONG WIDTH=4 THRES=3. TOL=0.1 ALPHA=0.2 LOAD {wlc} SEARCH/LONG CALIBRATE/LONG ! WRITE/OUT "Now demonstrating the three possible ways to apply the" WRITE/OUT "dispersion relation : " WRITE/OUT " - APPLY/DISPERSION involves no rebinning and outputs a table." WRITE/OUT " Input must be a 1D spectrum or a row of a long-slit spectrum" WRITE/OUT " - REBIN/LONG rebins row by row, taking coefficients from coerbr.tbl" WRITE/OUT " - RECTIFY/LONG applies the 2D polynomial dispersion relation" WRITE/OUT "Note: Rebin can be applied before or after extraction" ! !INIT/LONG ses1 ! APPLY/DISPERSION {wlc} wlct @100 PLOT/SPECTRUM wlct ! REBIN/LONG {wlc} wlcrb LOAD wlcrb PLOT wlcrb @100 ! RECTIFY/LONG {wlc} wlc2 LOAD wlc2 PLOT wlc2 @100 ! WRITE/OUT "Session is now saved, initialized, and loaded from session tables" SAVE/LONG mysess INIT/LONG SESSDISP = "NO " SHOW/LONG INIT/LONG mysess SESSDISP = "NO " SHOW/LONG ! WRITE/OUT "Now extracting a spectrum with two possible methods:" WRITE/OUT " - Simple rows average with EXTRACT/AVERAGE" WRITE/OUT " - Optimal extraction with EXTRACT/LONG" LOAD/IMA lndemo3 SET/LONG REBSTR=4600. REBEND=5800. REBSTP=2.00 REBIN/LONG lndemo3 ext8 SET/LONG LOWSKY = 189,198 UPPSKY = 204,215 SET/LONG GAIN=2. RON=5. THRES=3. RADIUS=2 SKYFIT/LONG ext8 stdsky LOAD stdsky COMPUTE/IMAGE ext7 = ext8 - stdsky SET/LONG OBJECT = 199,203 EXTRACT/AVERAGE ext7 stda PLOT stda EXTRACT/LONG ext8 stde stdsky PLOT stde ! WRITE/OUT "Now computing instrumental response" ! SET/LONG FLUXTAB=lndemo_l745 EXTAB=lndemo_atmo PLOT/FLUX EXTINCTION/LONG stde stdext RESPONSE/FILTER stdext INTEGRATE/LONG stdext RESPONSE/LONG fit=SPLINE PLOT/RESPONSE CALIBRATE/FLUX stdext stdcor CUTS stdcor 100.,500. PLOT stdcor