User input: The SIC interpretor

IMAGER, like all GILDAS programs, uses the SIC command language as a user interface. SIC is fully described at https://www.iram.fr/IRAMFR/GILDAS.

In short, SIC is a pwerful command line interpretor, with structured programming ( FOR NEXT loops, IF ELSE ELSEIF ENDIF, BEGIN END constructs for procedures and ancillary data files, @ control to execute procedures, etc.....) and a syntax ressembling that of FORTRAN for the command lines. HELP provides help on each command and language (a logically connected set of commands).

Command syntax is the following

[LANG\]COMM [ARG1 [ARG2 [...]]] [/OPT1 [ARG11 [...]] [/OPTn [...]]
Where LANG\ is the language name, COMM the command name, /OPT1 and /OPTn are option names, ARGs are the arguments of command and options, and brackets indicate optional fields. Arguments are positional (order matters), while options can be given in any order. In the HELP description, arguments that appear in upper case should in general be taken from a list of specified keywords. Arguments appearing in lower case can take any value.

SIC heavily uses variables. Variables are strongly typed named entities which must be declared before use through the DEFINE command. They can be created by the user, or pre-defined by the program. Array variables are allowed, up to 7 dimensions. Variables may be of type Character to hold strings. Mathematical (arithmetic and logical) operations on numeric variables are supported. Variables can also be Structures, an ensemble of variables. In particular, data files can be imported as Structures that contain all the header information as variables, and an N-dimensional array of values ( DEFINE IMAGE command). Contents of variable is modified by command LET.

SIC also allows the creation of Widgets, that can be used to assign variables and launch actions (commands or scripts) whose behaviour is controlled by these variables, providing a more intuitive GUI (Graphics User Interface).

This document assumes you are reasonably familiar with SIC, mastering the basic syntax, and understanding the use of Variables. Please refer to the SIC documentation for more information. The SIC version used inside IMAGER has minor differences compared to that described by the manuals, but its internal HELP is up-to-date.