Required Adjustments
The prior interface of XIMAGE has been replaced with one based on Tcl, giving the user the opportunity to use all the capabilities of Tcl (looping, etc.) within XIMAGE scripts. The goal for this version was to make the transition to the Tcl version as painless as possible for the user, however, there are some minor adjustments that are unavoidable.Shell spawning no longer uses syntax: $command
-
Tcl variables use the dollar sign ($) to signify that they
should be evaluated, conflicting with the dollar sign's meaning
in the prior version of XIMAGE. A command, syscall, exists as
a replacement (e.g. syscall ls). A shortcut of preceding
the command with '\$' may also be used (e.g. \$ ls).
The info command becomes iminfo
-
An important Tcl command uses the name info, so the prior
XIMAGE info command had to be renamed to iminfo.
The alias command's behavior has changed
-
The alias command now only has an effect in the current
session. Usage: alias <newcmd> <oldcmd>. If
the alias is intended for every XIMAGE session, edit
~/.ximagerc to contain the appropriate alias commands.
CFITSIO expression syntax must be quoted with {} curly braces
-
Tcl uses brackets [ ] to specify commands within a command to be
evaluated. To prevent the brackets from a CFITSIO
expression being mishandled, quote the argument containing them
with curly braces. In Tcl, curly braces do not allow any
evaluation inside them, while double-quotes do allow evaluation
read rp1002.evt[EVENTS][regfilter("smcirc.reg")]
becomes
read {rp1002.evt[EVENTS][regfilter("smcirc.reg")]}
Minor Differences
There are some additional differences that are important to be aware of. They do not require any adjustment on the user's part, however, as backwards-compatibility has been preserved.Delimiting with slashes no longer necessary
-
The prior syntax of XIMAGE was command/qualifier=value.
The new parser no longer requires the slashes to be present
(i.e. "command qualifier=value"), however, continued
use of the prior syntax will work as the slashes are automatically
stripped by the parser.
The parser is now case-sensitive
-
The prior XIMAGE parser
could not handle filenames with uppercase letters or it
would lose the case given for labelling.
This limitation no longer exists.
An alternative to the %1% syntax for script arguments is available
-
Although, existing scripts which use the %1% method
will work as they always did, Tcl provides a much nicer
way of performing these tasks. Writing a proc is recommended.
For example:
proc smthout {file sigma} {
read $file
smooth sig=$sigma
write
}
Essentially this makes a custom command in XIMAGE to perform the desired task. Note: a file containing a proc must be sourced (i.e. "source file.tcl"). For custom commands to be available in every XIMAGE session, place the .tcl files in a directory called ~/.ximage
Please send reports of errors to : xanprob@athena.gsfc.nasa.gov
HEASARC Home | Observatories | Archive | Calibration | Software | Tools | Students/Teachers/Public
Last modified: Wednesday, 29-Mar-2006 14:32:09 EST