The "Automated Functions" view is designed as a container for a series of functions that mimic the idea of a script. These functions will run automatically without any or very little interaction from the user. It is important to remember that these are NOT tcl scripts running within LOIS. It is more like a LOUI macro.
Dither Function
Introduction
The first function that is implemented within this view is the dither function:
The dithering is composed of three independent actions; TCS offset, filter move, and an exposure. The input is a pattern file:
"TYC 2531-01739-1" 2.0 0.0 30.0 U "first dither (0,30) - U" "TYC 2531-01739-1" 2.0 30.0 0.0 B "second dither (30,0) - B" "TYC 2531-01739-1" 2.0 0.0 -30.0 V "third dither (0,-30) - V" "TYC 2531-01739-1" 2.0 -30.0 0.0 R "fourth dither (-30,0) - R" "TYC 2531-01739-1" 2.0 30.0 30.0 I "fifth dither (30,30) - I" "TYC 2531-01739-1" 2.0 0.0 0.0 OPEN "origin"
Each input line is composed of
- object title - string composed of any valid ASCII character surrounded by double quotation (")
- exposure time - float/double (seconds)
- offset 1 (xi) - float/double (arc-seconds)
- offset 2 (eta) - float/double (arc-seconds)
- filter name - string that has to match the display filter name (no spaces allowed)
- comment - string composed of any valid ASCII character surrounded by double quotation (") - optional
The input is not fixed width and is validated when loaded. The validation checks for correct number of parameters, correct numerical format and correct filter names. The offset command is an absolute TCS offset command in TPLANE mode. Both parameters are in arc-seconds with a maximum allowed value that is set in the configuration file:
<tcs-dither-limit>900.0</tcs-dither-limit>
By default a pattern will run only once and if it needs to be repeated, the loop count can be increased.
Operation
The initial action is to "Load Pattern File" which will present a dialog box for selecting the input file. The default extension is *.txt but the dialog box allows selection of other types even though they are dimmed. The "Execute" button will be enabled after the input has been processed and validated.
Pressing the "Execute" button starts the process and there will be no further interaction with the user unless the user wishes to abort the process. The offset and filter move commands are asynchronous and are issued concurrently. Both commands have to be completed before the exposure command is initiated. The process checks for the TCS in position flag and the AOS settled flag to determine that the offset command is completed. The filter move command completion is based on the responses from the OMS cards. The exposure is initiated via the following LOIS command:
single start {test=false} {sub=0} {oscan=32} {trigger=soft} {etime=2.0} {nexp=1} {title=TYC 2531-01739-1} {comment1=first dither (0,30) - U}
eTime
, title
, and comment1
are from the input line. All other parameters are either set by default or are read from LOIS cache. The default settings are:
{test=false} {sub=0} {oscan=32} {trigger=soft} {nexp=1}
setamp
, sub
, rbin
, cbin
, oscan
, trigger
, etime
, nexp
, and frame
are taken from LOIS cache. To make sure that the exposure command is correct, it is important to take a test image so that the cache values are updated to the desired ones. After the exposure is complete and readout has started, the action will proceed to the next row and the appropriate row in the table is highlighted. There will be a message in place of the iteration number when the pattern is complete.
The process can only be aborted by pressing the abort button within the view. Using other abort buttons or stop series buttons will have unforeseen results. The abort stops the loop but it may not stop the last exposure. Depending on where LOIS is in the exposure process, LOIS may decide to finish the exposure but the file will not be written to disk.
Notes
Dither function may be used without any dithering. For instance, it can be used for taking exposures at different filters on the same object while guiding. If ALL the offset values in the pattern file are zero, the code will not send any offset command to the TCS. In this special case, the guide state will not change. By default guiding will turn off when an offset command is received by the TCS and there is no offset guiding is available at this time.
Another special case is when exposure time is set to 0. In this case the command will not be sent to LOIS. This can be used for resetting the system back to an initial state by issuing 0 offsets and moving the filter wheels without any exposure.
The filter moves are synchronous and the secondary filter wheel will always be homed.
On rare occasions, a filter move fails and the system gets into an unknown state. The code has no way to recover or even acknowledge this failure. It is imperative to monitor the progress and use the Abort button if necessary.
After a pattern file has run, the execute button will not be re-enabled. If for some reason the user needs to run the same pattern file, it will have to be loaded again.
Slew/Dither Function
Introduction
This function is a generic implementation of a slew or dither pattern. The format of the input file will determine the command issued to the TCS.
The action, whether it is a slew or dither, is composed of three independent actions; TCS command, filter move, and an exposure. The input is a pattern file:
#title=true ra=true dec=true exposureTime=true numExposures=true filter=true muRA=true muDec=true epoch=true dRA=true dDec=true rotatorPA=true rotatorFrame=true xi=true eta=true comment=true # "Vega - Alpha Lyrae" 18:36:56.336 +38:47:01.28 10.0 3 V 10 5 2000 2 1 0.0 Target 30 60 "Comment 1" "Vega - Alpha Lyrae" 18:36:56.3 +38:47:1.3 20.0 3 R 10 5 2000 2 1 0.0 Fixed 10 20 "Comment 2"
Each input line may be composed of
- object title - string composed of any valid ASCII character surrounded by double quotation (")
- Right Ascension (hh:mm:ss.sss)
- Declination (+dd:mm:ss.ss)
- exposure time - float/double (seconds)
- number of exposures - integer
- filter name - string that has to match the display filter name (no spaces allowed)
- Proper Motion in RA - float/double (mas/yr)
- Proper Motion in DEC - float/double (mas/yr)
- epoch - float/double
- differential track rate in RA - float/double (arc-seconds/hour)
- differential track rate in DEC - float/double (arc-seconds/hour)
- rotator Position Angle - float/double (degrees)
- rotator Frame - literal string (Fixed or Target)
- offset 1 (xi) - float/double (arc-seconds)
- offset 2 (eta) - float/double (arc-seconds)
- comment - string composed of any valid ASCII character surrounded by double quotation (") - optional
The input is not fixed width and there is some validation when loaded. The first 2 lines are meta data and have to be present in the exact form stated above. The boolean value (true or false) for each parameter tells the loading function what to expect and what to validate. All the input files have to follow the format indicated by the meta data.
The validation checks for correct number of parameters, correct numerical format and correct filter names. Obviously not all combination of parameters are legal. For instance if both RA/DEC and Xi/Eta are present, the slew command will take precedence and the offset command will not be issued.
The offset command is an absolute TCS offset command in TPLANE mode. Both parameters are in arc-seconds with a maximum allowed value that is set in the configuration file:
<tcs-dither-limit>900.0</tcs-dither-limit>
By default a pattern will run only once and if it needs to be repeated, the loop count can be increased.
Operation
The initial action is to "Load Pattern File" which will present a dialog box for selecting the input file. The default extension is *.txt but the dialog box allows selection of other types even though they are dimmed. The "Execute" button will be enabled after the input has been processed and validated.
Pressing the "Execute" button starts the process and there will be no further interaction with the user unless the user wishes to abort the process. The TCS (slew or offset) and filter move commands are asynchronous and are issued concurrently. Both commands have to be completed before the exposure command is initiated. The process checks for the TCS in position flag, the AOS settled flag and the DOME in position flag to determine that the TCS move command is completed. The filter move command completion is based on the responses from the OMS cards. The exposure is initiated via the following LOIS command:
single start {test=false} {sub=0} {oscan=32} {trigger=soft} {etime=2.0} {nexp=1} {title=TYC 2531-01739-1} {comment1=first dither (0,30) - U}
eTime
, nexp, title
, and comment1
are read from the input line. All other parameters are either set by default or are read from LOIS cache. The default settings are:
{test=false} {sub=0} {oscan=32} {trigger=soft} {nexp=1} {title=current science target name}
setamp
, sub
, rbin
, cbin
, oscan
, trigger
, etime
, nexp
, and frame
are taken from LOIS cache. If title is not provided in the input line, the current science target name will be used. And if there is no science target has been issued prior to executing the macro, UNKNOWN is used for title. To make sure that the exposure command is correct, it is important to take a test image so that the cache values are updated to the desired ones. After the exposure is complete and readout has started, the action will proceed to the next row and the appropriate row in the table is highlighted. There will be a message in place of the iteration number when the pattern is complete.
The process can only be aborted by pressing the abort button within the view. Using other abort buttons or stop series buttons will have unforeseen results. The abort stops the loop but it may not stop the last exposure. Depending on where LOIS is in the exposure process, LOIS may decide to finish the exposure but the file will not be written to disk.
Notes for special cases
The function may be used without any slewing or dithering. For instance, it can be used for taking exposures at different filters on the same object while guiding. In this special case, the guide state will not change. By default guiding will turn off when an offset command is received by the TCS and there is no guided offsets are available at this time.
Another special case is when exposure time is set to 0. In this case the command will not be sent to LOIS. This can be used for resetting the system back to an initial state by issuing 0 offsets and moving the filter wheels without any exposure.
The filter moves are synchronous and the secondary filter wheel will always be homed.
On rare occasions, a filter move fails and the system gets into an unknown state. The code has no way to recover or even acknowledge this failure. It is imperative to monitor the progress and use the Abort button if necessary.
After a pattern file has run, the execute button will not be re-enabled. If for some reason the user needs to run the same pattern file, it will have to be loaded again.