IFS Calibration Functions¶
Summary¶
| Function | |
|---|---|
| ifs_argon | |
| ifs_backgrounds | |
| ifs_backgrounds | |
| ifs_darks | |
| ifs_flats | |
| ifs_iter_filters_times | |
| ifs_iter_options | |
| ifs_iter_times | |
| ifs_iter_waveplate | |
| ifs_narrowband | |
| ifs_updatedarks | |
| ifs_xenon |
Functions¶
ifs_argon
PRO ifs_argon, inttimes=inttimes, nexps=nexps, estimateonly=estimateonly, filts=filts, ;allfilts=allfilts, pausebetween=pausebetween, _extra=_extra
NAME:
ifs_argon
PURPOSE:
Take argon lamp flats.
EXPLANATION:
See above.
Calling SEQUENCE:
ifs_argon,[inttimes], options (see below)
INPUT/OUTPUT:
inttimes - optional scalar or array of integration times.
Defaults to 600 s. If /allfilts are set, array
must be of length 5 (Y,J,H,K1,K2), else of length 2
(K1,K2)
nexps - integer number of exposuresor array of same size as
inttimes. Defaults to 3
/estimateonly - Flag to only estimate script duration,
without actualy running
/allfilts - Do all filters (defaults to just k band)
pausebetween = # of seconds to pause between filters, to let
persistent afterglow decay away. Default is 120 s
OPTIONAL OUTPUT:
None.
EXAMPLE:
DEPENDENCIES:
ifs_iter_filters_times
NOTES:
For argon, kfirst defaults to True, because the K exposure
times are so much longer. If you do them after the bright H
lines, you can have problems with afterimages, so do K first.
REVISION HISTORY
Written by Marshall Perrin
Integrated with gpilib 09/24/2012 - ds
Added pause between filters 2012-10-18 - MP
2012-12-10 MP: Added filts keyword, updated defaults based on 2012-10-24 tests.
2012-12-10 MP: inttimes now a named keyword instead of positional argument.
ifs_backgrounds
PRO ifs_backgrounds, inttimes=inttimes, nexps=nexps, filts=filts, polarim=polarim, undisp=undisp, estimateonly=estimateonly
NAME:
ifs_backgrounds
PURPOSE:
A script for taking thermal background ("room") images, in
either spectral or polarimetric mode in K band
EXPLANATION:
See above.
Calling SEQUENCE:
ifs_backgrounds,[inttimes=inttimes], [filts=filts], options (see below)
INPUT/OUTPUT:
filts - Array of filters to use (defaults to [K1, K2])
inttimes - Array of integration times (in s). Must be same
size as filts or scalar. (defaults to 10 s if not set)
nexps - integer number of exposures (defaults to 3)
/estimateonly - Flag to only estimate script duration,
without actualy running
/polarim - Take data in polarimetry mode (Wollaston prism). Default is spectral mode.
/undisp - Take data in undispersed mode (no prism). Default
is spectral mode.
OPTIONAL OUTPUT:
None
EXAMPLE:
DEPENDENCIES:
ifs_iter_filters_times
NOTES:
REVISION HISTORY
Written by Marshall Perrin
Integrated with gpilib 09/24/2012 - ds
2012-12-10 MP: merged API changes from ifs_xenon for consistency
ifs_backgrounds
PRO ifs_backgrounds, inttimes=inttimes, nexps=nexps, estimateonly=estimateonly, filts=filts, ;allfilts=allfilts, pausebetween=pausebetween, _extra=_extra
NAME:
ifs_backgrounds
PURPOSE:
Take thermal background emission (room "skies") for subtraction from Ar/Xe images.
EXPLANATION:
See above.
Default behavior is to take all 5 filters, in order YJHK1K1,
taking 3 exposures for each filter, with exposure times between
1.5-15 s per filter based on October 2012 test data, and it pauses
60 s between filters to allow decay of any persistent afterglow.
But almost all of this can be changed using keywords if desired.
Calling SEQUENCE:
ifs_backgrounds,[inttimes], options (see below)
INPUT/OUTPUT:
filts - optional array of filter names as strings.
This lets you specify not only which filters are to be
used, but their order as well.
inttimes - optional scalar or array of integration times.
Defaults to 1.5 s. If it is an array, must be of
the same size as the filts argument.
If /allfilts are set, array must be of length
5 (Y,J,H,K1,K2), else of length 2
(K1,K2)
nexps - integer number of exposures or array of same size as
inttimes. Defaults to 3
/estimateonly - Flag to only estimate script duration,
without actualy running
pausebetween = # of seconds to pause between filters, to let
persistent afterglow decay away. Default is 60 s
; OPTIONAL OUTPUT:
None.
EXAMPLE:
DEPENDENCIES:
ifs_iter_filters_times
NOTES:
REVISION HISTORY
Written by Marshall Perrin -
2012-12-10 MP: forked from ifs_xenon
ifs_darks
PRO ifs_darks, inttimes=inttimes, nexps=nexps0, estimateonly=estimateonly, maxinttime=maxinttime, mininttime=mininttime, nomove=nomove, _extra=_extra
NAME:
ifs_darks
PURPOSE:
Take ifs dark exposures with a preselected set of integration
times.
EXPLANATION:
Iterates through integration times, taking an adjustible
number of exposures at each inttime
Calling SEQUENCE:
ifs_darks, inttimes, options (see below)
INPUT/OUTPUT:
/estimateonly - Print out an estimate of actions, without
actually taking any exposures.
inttimes - array of integration times to use [defaults to a
sensible & fairly comprehensive set]
nexps - number of exposures to take for each. [defaults
to 10 for inttime<60, then 5 for inttime<200, then
3]. If scalar, the same number of exposures will
be taken for all integration times
maxinttime - maximum allowable exposure time. Used for
truncating the default list of inttimes, for instance
'maxinttime=120' will only take darks that are 120 s or less
in duration.
mininttime - Same thing, but minimum allowable time
instead. Useful for restarting partway through if
your first script call crashes for some reason.
OPTIONAL OUTPUT:
EXAMPLE:
DEPENDENCIES:
ifs_iter_times.pro
NOTES:
REVISION HISTORY
Written by Marshall Perrin
Integrated with gpilib 09/24/2012 - ds
ifs_flats
pro ifs_flats, filts=filts, inttimes=inttimes, nexps=nexps, estimateonly=estimateonly, kfirst=kfirst, skipk=skipk, honly=honly, konly=konly, polarim=polarim, undisp=undisp, pausebetween=pausebetween, _extra=_extra
NAME:
ifs_flats
PURPOSE:
A script for taking flat lamp images, in either spectral or polarimetric mode
EXPLANATION:
See above.
Calling SEQUENCE:
ifs_iter_filters_times, filts, inttimes,options (see below)
INPUT/OUTPUT:
filts - Array of filters to use (defaults to all if not set)
inttimes - Array of integration times (in s). Must be same
size as filts or scalar. (defaults to 10 s if not set)
nexps - integer number of exposures (defaults to 1) or array
of the same size as filts
/estimateonly - Flag to only estimate script duration,
without actualy running
/polarim - Take data in polarimetry mode (Wollaston
prism). Default is spectral mode.
/undisp - Take data in undispersed mode (no prism). Default
is spectral mode
/honly - H band only
/konly - K band only
/skipk - Do only Y, J, H
/kfirst - Reverse the order to start with the K bands, then
H, then J, then Y
pausebetween = # of seconds to pause between filters, to let
persistent afterglow decay away. Default is 120 s
OPTIONAL OUTPUT:
EXAMPLE:
DEPENDENCIES:
ifs_iter_times_filters.pro
NOTES:
REVISION HISTORY
Written by Marshall Perrin
Integrated with gpilib 09/24/2012 - ds
Added pause between filters 2012-10-18 - MP
ifs_iter_filters_times
pro ifs_iter_filters_times, filts=filts, inttimes=inttimes, nexps=nexps, estimateonly=estimateonly, returnestimate=returnestimate, kfirst=kfirst, skipk=skipk, honly=honly, konly=konly, gds_keywords=gds_keywords, pausebetween=pausebetween, _extra=_extra
NAME:
ifs_iter_filters_times
PURPOSE:
Take ifs exposures with a preselected set of filters.
EXPLANATION:
See above.
Calling SEQUENCE:
ifs_iter_filters_times, filts, inttimes,options (see below)
INPUT/OUTPUT:
filts - Array of filters to use (defaults to all if not set)
inttimes - Array of integration times (in s). Must be same
size as filts or scalar. (defaults to 10 s if not set)
nexps - integer number of exposures (defaults to 1) or array
of the same size as filts
/estimateonly - Flag to only estimate script duration,
without actualy running
gds_keywords - IDL structure containing GDS keywords to be
set. This is the same format as an IDL _extra
structure, and is used to pass arguments in
to gds_set_keywords via that mechanism
For example: {GCALLAMP: 'Ar', OBSTYPE:'ARC', OBSCLASS:'dayCal', GCALDIFF:'IR', GCALFILT:''}
/honly - H band only
/konly - K band only
/skipk - Do only Y, J, H
/kfirst - Reverse the order to start with the K bands, then
H, then J, then Y
pausebetween = # of seconds to pause between filters, to let
persistent afterglow decay away. Default is 0 s
OPTIONAL OUTPUT:
returnestimate - Estimated script runtime.
EXAMPLE:
ifs_iter_filters_times,filts = ['Y','J','H'],inttimes = $
[1.5,1.5,6], gds_keywords = {GCALLAMP: 'Ar', OBSTYPE:'ARC',$
OBSCLASS:'dayCal', GCALDIFF:'IR', GCALFILT:''}
DEPENDENCIES:
ifs_iter_times.pro
NOTES:
REVISION HISTORY
Written by Marshall Perrin
Integrated with gpilib 09/24/2012 - ds
ifs_iter_options
pro ifs_iter_options, intTime=intTime, samplingMode=samplingMode, numReads=numReads, numCoadds=numCoadds, numGroups=numGroups, startX=startX, startY=startY, endX=endX, endY=endY, estimateonly=estimateonly, returnestimate=returnestimate, gds_keywords=gds_keywords
NAME:
ifs_iter_options
PURPOSE:
Take ifs observations for a series of exposure times &
observations configurations
EXPLANATION:
See above.
Calling SEQUENCE:
ifs_iter_options, options (see below)
INPUT/OUTPUT:
See tlc_observe for discussion of all of the input parameters
/estimateonly - Flag to only estimate duration, without actualy running
gds_keywords - IDL structure containing GDS keywords to be
set. This is the same format as an IDL _extra
structure, and is used to pass arguments in
to gds_set_keywords via that mechanism
OPTIONAL OUTPUT:
returnestimate - Estimated script runtime.
EXAMPLE:
DEPENDENCIES:
tlc_observe.pro
NOTES:
Observations will be taken in the current configuration. No
mechanisms will be moved by this script.
REVISION HISTORY
Written 10/03/2012 - ds
12.6.12 - fixed timeout bug - ds
ifs_iter_times
pro ifs_iter_times, times, estimateonly=estimateonly, returnestimate=returnestimate, gds_keywords=gds_keywords, _extra=_extra
NAME:
ifs_iter_times
PURPOSE:
Take ifs observations for a series of exposure times
EXPLANATION:
See above.
Calling SEQUENCE:
ifs_iter_times, times,options (see below)
INPUT/OUTPUT:
times - Array of integration times (in s).
/estimateonly - Flag to only estimate duration, without actualy running
gds_keywords - IDL structure containing GDS keywords to be
set. This is the same format as an IDL _extra
structure, and is used to pass arguments in
to gds_set_keywords via that mechanism
OPTIONAL OUTPUT:
returnestimate - Estimated script runtime or actual run time
EXAMPLE:
DEPENDENCIES:
tlc_observe.pro
NOTES:
Observations will be taken in the current configuration. No
mechanisms will be moved by this script.
All extra kewyords will be passed directly to tlc_observe.
REVISION HISTORY
Written by Marshall Perrin
Integrated with gpilib 09/24/2012 - ds
ifs_iter_waveplate
pro ifs_iter_waveplate, start=start, stop=stop, step=step, test=test, wait=wait, _extra=_extra
NAME:
ifs_iter_waveplate
PURPOSE:
Take a series of exposures while rotating the GPI half wave plate
EXPLANATION:
See above.
Calling SEQUENCE:
ifs_iter_waveplate, options (see below)
INPUT/OUTPUT:
start - starting angle
stop - ending angle
step - angle step size
wait - wait time (s) between rotations
OPTIONAL OUTPUT:
None
EXAMPLE:
DEPENDENCIES:
tlc_observe
NOTES:
REVISION HISTORY
Written by Marshall Perrin
Integrated with gpilib 09/24/2012 - ds
ifs_narrowband
PRO ifs_narrowband, wavelen, inttime=inttime, nexps=nexps, estimateonly=estimateonly, itime=itime, ;allfilts=allfilts, pausebetween=pausebetween, _extra=_extra
NAME:
ifs_narrowband
PURPOSE:
Take narrowband filtere lamp flats.
and write filter wavelen to header.
EXPLANATION:
See above.
Calling SEQUENCE:
ifs_narrowband, wavelen_of_filter, inttime=120, nexp=3, /estimateonly
INPUT/OUTPUT:
nexps - integer number of exposures or array of same size as
inttimes. Defaults to 3
/estimateonly - Flag to only estimate script duration,
without actualy running
; OPTIONAL OUTPUT:
None.
EXAMPLE:
DEPENDENCIES:
ifs_iter_filters_times
NOTES:
REVISION HISTORY
Written by Marshall Perrin
2012-12-10 MP: forked from ifs_xenon
ifs_updatedarks
pro ifs_updatedarks, datestr=datestr, exptime=exptime, mtchs=mtchs
NAME:
ifs_updatedarks
PURPOSE:
Take ifs darks for any integration times/observation
configurations on a specific day that don't have darks yet or
whose darks are too old.
EXPLANATION:
See above.
Calling SEQUENCE:
ifs_updatedarks,[datestr=datestr,exptime=exptime,mtchs=mtchs]
INPUT/OUTPUT:
datestr - Date to consider (YYMMDD). Defaults to today.
exptime - Expiration time in days (defaults to 30). Set to 0
for no expiration date.
OPTIONAL OUTPUT:
mtchs - Info structure containing all of the sequences found
in the day's Detector directory.
EXAMPLE:
DEPENDENCIES:
ifs_iter_options.pro
gpicaldatabase class
gpi_get_keyword
NOTES:
Lyot stop will be moved to blank if any sequences are commanded.
REVISION HISTORY
Written 10/03/2012 - ds
ifs_xenon
PRO ifs_xenon, inttimes=inttimes, nexps=nexps, estimateonly=estimateonly, filts=filts, ;allfilts=allfilts, pausebetween=pausebetween, _extra=_extra
NAME:
ifs_xenon
PURPOSE:
Take xenon lamp flats.
EXPLANATION:
See above.
Default behavior is to take all 5 filters, in order YJHK1K1,
taking 3 exposures for each filter, with exposure times between
1.5-15 s per filter based on October 2012 test data, and it pauses
60 s between filters to allow decay of any persistent afterglow.
But almost all of this can be changed using keywords if desired.
Calling SEQUENCE:
ifs_xenon,[inttimes], options (see below)
INPUT/OUTPUT:
filts - optional array of filter names as strings.
This lets you specify not only which filters are to be
used, but their order as well.
inttimes - optional scalar or array of integration times.
Defaults to 1.5 s. If it is an array, must be of
the same size as the filts argument.
If /allfilts are set, array must be of length
5 (Y,J,H,K1,K2), else of length 2
(K1,K2)
nexps - integer number of exposures or array of same size as
inttimes. Defaults to 3
/estimateonly - Flag to only estimate script duration,
without actualy running
pausebetween = # of seconds to pause between filters, to let
persistent afterglow decay away. Default is 60 s
OPTIONAL OUTPUT:
None.
EXAMPLE:
DEPENDENCIES:
ifs_iter_filters_times
NOTES:
REVISION HISTORY
Written by Marshall Perrin
Integrated with gpilib 09/24/2012 - ds
Added pause between filters 2012-10-18 - MP
2012-12-10 MP: Added filts keyword, updated defaults based on 2012-10-24 tests.
2012-12-10 MP: inttimes now a named keyword instead of positional argument.