{+ { Name: { convert.icl { { Purpose: { Defines convert commands and help for ICL usage. { { Type of Module: { ICL procedure { { Invocation: { load $CONVERT_DIR/convert { { Description: { This procedure starts convert for use from UNIX ICL by defining { the convert commands needed to execute each application or to get { help about convert. It gives an initialisation message giving the { version number activated. { { Authors: { MJC: Malcolm J. Currie (STARLINK) { AJC: A J. Chipperfield (STARLINK) { {enter_new_authors_here} { { History: { 1992 September 10 (MJC): { Original version. { 1992 September 29 (MJC): { Added NDF2IRAF. { 1992 September 30 (MJC): { Added CONHELP and CONVERT help. { 1993 August 20 (MJC): { Added new applications for version 0.5, and full command names. { 1995 October 31 (AJC): { Added NDF2FITS and removed BDF2NDF, NDF2BDF, DIPSO2NDF, and { NDF2DIPSO. Added setup definitions for NDF automatic conversion. { Used modern-style initialisation message. { 1995 November 30 (AJC): { Added GIF, TIFF, and PGM conversions. { 1996 March 4 (MJC): { Some tidying, and reintegration with old version. { 1997 August 1 (MJC): { Added DA2NDF, FITS2NDF, and NDF2DA tasks and help. Added { automatic conversions for STREAM and GZIP. Added FITS synonym { file extensions. Some reordering of NDF_FORMATS_IN/OUT; also { write one format per line for clarity. Due to limited length { of SETENV token, there are no aliases for FITS in NDF_FORMATS_IN. { {enter_further_changes_here} { { Bugs: { {note_any_bugs_here} { {- { Define environment variables. { { The actual INSTALL_[BIN/HELP] directories get inserted at install time. { Define the CONVERT commands. { ============================ { { First define the commands. define ASCII2NDF $CONVERT_DIR/ascii2ndf define DA2NDF $CONVERT_DIR/da2ndf define DST2NDF $CONVERT_DIR/dst2ndf define FITS2NDF $CONVERT_DIR/fits2ndf define GASP2NDF $CONVERT_DIR/gasp2ndf defstring GIF2NDF SH $CONVERT_DIR/gif2ndf define IRAF2NDF $CONVERT_DIR/iraf2ndf define IRCAM2NDF $CONVERT_DIR/ircam2ndf define NDF2ASCII $CONVERT_DIR/ndf2ascii define NDF2DA $CONVERT_DIR/ndf2da define NDF2DST $CONVERT_DIR/ndf2dst define NDF2FITS $CONVERT_DIR/ndf2fits define NDF2GASP $CONVERT_DIR/ndf2gasp defstring NDF2GIF SH $CONVERT_DIR/ndf2gif define NDF2IRAF $CONVERT_DIR/ndf2iraf define NDF2PGM $CONVERT_DIR/ndf2pgm define NDF2TIFF $CONVERT_DIR/ndf2tiff define NDF2UNF $CONVERT_DIR/ndf2unf defstring TIFF2NDF SH $CONVERT_DIR/tiff2ndf define UNF2NDF $CONVERT_DIR/unf2ndf { Define the command for help. It must be run from the shell { as CONHELP doesn't work from ICL. defstring CONHELP SH $CONVERT_DIR/conhelp { Define CONVERT's help from ICL. defhelp CONVERT $CONVERT_HELP 0 defhelp ASCII2NDF $CONVERT_HELP ASCII2NDF defhelp DA2NDF $CONVERT_HELP DA2NDF defhelp DST2NDF $CONVERT_HELP DST2NDF defhelp FITS2NDF $CONVERT_HELP FITS2NDF defhelp GASP2NDF $CONVERT_HELP GASP2NDF defhelp GIF2NDF $CONVERT_HELP GIF2NDF defhelp IRAF2NDF $CONVERT_HELP IRAF2NDF defhelp IRCAM2NDF $CONVERT_HELP IRCAM2NDF defhelp NDF2ASCII $CONVERT_HELP NDF2ASCII defhelp NDF2DA $CONVERT_HELP NDF2DA defhelp NDF2DST $CONVERT_HELP NDF2DST defhelp NDF2FITS $CONVERT_HELP NDF2FITS defhelp NDF2GASP $CONVERT_HELP NDF2GASP defhelp NDF2GIF $CONVERT_HELP NDF2GIF defhelp NDF2IRAF $CONVERT_HELP NDF2IRAF defhelp NDF2PGM $CONVERT_HELP NDF2PGM defhelp NDF2TIFF $CONVERT_HELP NDF2TIFF defhelp NDF2UNF $CONVERT_HELP NDF2UNF defhelp TIFF2NDF $CONVERT_HELP TIFF2NDF defhelp UNF2NDF $CONVERT_HELP UNF2NDF { Now define the full-name commands. define CON_ASCII2NDF $CONVERT_DIR/ascii2ndf define CON_DA2NDF $CONVERT_DIR/da2ndf define CON_DST2NDF $CONVERT_DIR/dst2ndf define CON_FITS2NDF $CONVERT_DIR/fits2ndf define CON_GASP2NDF $CONVERT_DIR/gasp2ndf defstring CON_GIF2NDF SH $CONVERT_DIR/gif2ndf define CON_IRAF2NDF $CONVERT_DIR/iraf2ndf define CON_IRCAM2NDF $CONVERT_DIR/ircam2ndf define CON_NDF2ASCII $CONVERT_DIR/ndf2ascii define CON_NDF2DA $CONVERT_DIR/ndf2da define CON_NDF2DST $CONVERT_DIR/ndf2dst define CON_NDF2FITS $CONVERT_DIR/ndf2fits define CON_NDF2GASP $CONVERT_DIR/ndf2gasp defstring CON_NDF2GIF SH $CONVERT_DIR/ndf2gif define CON_NDF2IRAF $CONVERT_DIR/ndf2iraf define CON_NDF2PGM $CONVERT_DIR/ndf2pgm define CON_NDF2TIFF $CONVERT_DIR/ndf2tiff define CON_NDF2UNF $CONVERT_DIR/ndf2unf defstring CON_TIFF2NDF SH $CONVERT_DIR/tiff2ndf define CON_UNF2NDF $CONVERT_DIR/unf2ndf { Define the full-name commands for help. { defhelp CON_CONVERT $CONVERT_HELP 0 defhelp CON_ASCII2NDF $CONVERT_HELP ASCII2NDF defhelp CON_DA2NDF $CONVERT_HELP DA2NDF defhelp CON_DST2NDF $CONVERT_HELP DST2NDF defhelp CON_FITS2NDF $CONVERT_HELP FITS2NDF defhelp CON_GASP2NDF $CONVERT_HELP GASP2NDF defhelp CON_GIF2NDF $CONVERT_HELP GIF2NDF defhelp CON_IRAF2NDF $CONVERT_HELP IRAF2NDF defhelp CON_IRCAM2NDF $CONVERT_HELP IRCAM2NDF defhelp CON_NDF2ASCII $CONVERT_HELP NDF2ASCII defhelp CON_NDF2DA $CONVERT_HELP NDF2DA defhelp CON_NDF2DST $CONVERT_HELP NDF2DST defhelp CON_NDF2FITS $CONVERT_HELP NDF2FITS defhelp CON_NDF2GASP $CONVERT_HELP NDF2GASP defhelp CON_NDF2GIF $CONVERT_HELP NDF2GIF defhelp CON_NDF2IRAF $CONVERT_HELP NDF2IRAF defhelp CON_NDF2PGM $CONVERT_HELP NDF2PGM defhelp CON_NDF2TIFF $CONVERT_HELP NDF2TIFF defhelp CON_NDF2UNF $CONVERT_HELP NDF2UNF defhelp CON_TIFF2NDF $CONVERT_HELP TIFF2NDF defhelp CON_UNF2NDF $CONVERT_HELP UNF2NDF { Now set the environment variables for NDF automatic conversion. { Define input and output formats recognised. { =========================================== { Formats recognised when accessing pre-existing datasets. setenv NDF_FORMATS_IN ~ 'FITS(.fit),~ FIGARO(.dst),~ IRAF(.imh),~ STREAM(.das),~ UNFORMATTED(.unf),~ UNF0(.dat),~ ASCII(.asc),~ TEXT(.txt),~ GIF(.gif),~ TIFF(.tif),~ GASP(.hdr),~ COMPRESSED(.sdf.Z),~ GZIP(.sdf.gz)' { Formats recognised when creating new datasets. setenv NDF_FORMATS_OUT ~ '.,FITS(.fit),~ FIGARO(.dst),~ IRAF(.imh),~ STREAM(.das),~ UNFORMATTED(.unf),~ UNF0(.dat),~ ASCII(.asc),~ TEXT(.txt),~ GIF(.gif),~ TIFF(.tif),~ GASP(.hdr),~ COMPRESSED(.sdf.Z),~ GZIP(.sdf.gz)' { Define format-conversion commands. { ================================== { FITS conversions: { ----------------- { { Because NDF2FITS uses HDS_WILD which will only accept container files { as input, NDF_TEMP_FITS must specify an alternative to the default { HDS scratch file. hidden proc converttemp1 if getenv("HDS_SCRATCH") <> "" setenv NDF_TEMP_FITS "$HDS_SCRATCH/temp_fits_^name" else setenv NDF_TEMP_FITS 'temp_fits_^name' endif endproc converttemp1 setenv NDF_TEMP_FITS 'temp_fits_^name' setenv NDF_FROM_FITS ~ '$CONVERT_DIR/convertndf from ''^fmt'' ''^dir'' ''^name'' ''^type'' ''^ndf''' setenv NDF_TO_FITS ~ '$CONVERT_DIR/convertndf to ~ ''^fmt'' ''^dir'' ''^name'' ''^type'' ''^ndf''' { FIGARO conversions: { ------------------- setenv NDF_FROM_FIGARO ~ '$CONVERT_DIR/convertndf from ~ ''^fmt'' ''^dir'' ''^name'' ''^type'' ''^ndf''' setenv NDF_TO_FIGARO ~ '$CONVERT_DIR/convertndf to ~ ''^fmt'' ''^dir'' ''^name'' ''^type'' ''^ndf''' { IRAF conversions: { ----------------- setenv NDF_FROM_IRAF ~ '$CONVERT_DIR/convertndf from ~ ''^fmt'' ''^dir'' ''^name'' ''^type'' ''^ndf''' setenv NDF_TO_IRAF ~ '$CONVERT_DIR/convertndf to ~ ''^fmt'' ''^dir'' ''^name'' ''^type'' ''^ndf''' { N.B. deletion of IRAF datasets requires a separate command, since two { files are involved. setenv NDF_DEL_IRAF ~ 'f=''^dir^name'';touch $f.imh $f.pix;rm $f.imh $f.pix' { GASP conversions: { ----------------- setenv NDF_FROM_GASP ~ '$CONVERT_DIR/convertndf from ~ ''^fmt'' ''^dir'' ''^name'' ''^type'' ''^ndf''' setenv NDF_TO_GASP ~ '$CONVERT_DIR/convertndf to ~ ''^fmt'' ''^dir'' ''^name'' ''^type'' ''^ndf''' { N.B. deletion of GASP datasets requires a separate command, since two { files are involved. setenv NDF_DEL_GASP ~ 'f=''^dir^name'';touch $f.hdr $f.dat;rm $f.hdr $f.dat' { UNFORMATTED conversions (with FITS headers): { -------------------------------------------- setenv NDF_FROM_UNFORMATTED ~ '$CONVERT_DIR/convertndf from ~ ''^fmt'' ''^dir'' ''^name'' ''^type'' ''^ndf''' setenv NDF_TO_UNFORMATTED ~ '$CONVERT_DIR/convertndf to ~ ''^fmt'' ''^dir'' ''^name'' ''^type'' ''^ndf''' { UNF0 conversions (no FITS headers): { ----------------------------------- setenv NDF_FROM_UNF0 ~ '$CONVERT_DIR/convertndf from ~ ''^fmt'' ''^dir'' ''^name'' ''^type'' ''^ndf''' setenv NDF_TO_UNF0 ~ '$CONVERT_DIR/convertndf to ~ ''^fmt'' ''^dir'' ''^name'' ''^type'' ''^ndf''' { STREAM (direct-access) conversions { ---------------------------------- setenv NDF_FROM_STREAM ~ '$CONVERT_DIR/convertndf from ~ ''^fmt'' ''^dir'' ''^name'' ''^type'' ''^ndf''' setenv NDF_TO_STREAM ~ '$CONVERT_DIR/convertndf to ~ ''^fmt'' ''^dir'' ''^name'' ''^type'' ''^ndf''' { ASCII conversions (with FITS headers): { -------------------------------------- setenv NDF_FROM_ASCII ~ '$CONVERT_DIR/convertndf from ~ ''^fmt'' ''^dir'' ''^name'' ''^type'' ''^ndf''' setenv NDF_TO_ASCII ~ '$CONVERT_DIR/convertndf to ~ ''^fmt'' ''^dir'' ''^name'' ''^type'' ''^ndf''' { TEXT conversions (like ASCII but without FITS headers): { ------------------------------------------------------- setenv NDF_FROM_TEXT ~ '$CONVERT_DIR/convertndf from ~ ''^fmt'' ''^dir'' ''^name'' ''^type'' ''^ndf''' setenv NDF_TO_TEXT ~ '$CONVERT_DIR/convertndf to ~ ''^fmt'' ''^dir'' ''^name'' ''^type'' ''^ndf''' { GIF conversions: { ---------------- setenv NDF_FROM_GIF ~ '$CONVERT_DIR/convertndf from ~ ''^fmt'' ''^dir'' ''^name'' ''^type'' ''^ndf''' setenv NDF_TO_GIF ~ '$CONVERT_DIR/convertndf to ~ ''^fmt'' ''^dir'' ''^name'' ''^type'' ''^ndf''' { TIFF conversions: { ----------------- setenv NDF_FROM_TIFF ~ '$CONVERT_DIR/convertndf from ~ ''^fmt'' ''^dir'' ''^name'' ''^type'' ''^ndf''' setenv NDF_TO_TIFF ~ '$CONVERT_DIR/convertndf to ~ ''^fmt'' ''^dir'' ''^name'' ''^type'' ''^ndf''' { COMPRESSED conversions: { ----------------------- { { N.B. These commands sometimes return an error status to the calling { process, even when they appear to have worked OK. It's not clear why. setenv NDF_FROM_COMPRESSED ~ '$CONVERT_DIR/convertndf from ~ ''^fmt'' ''^dir'' ''^name'' ''^type'' ''^ndf''' setenv NDF_TO_COMPRESSED ~ '$CONVERT_DIR/convertndf to ~ ''^fmt'' ''^dir'' ''^name'' ''^type'' ''^ndf''' hidden proc converttemp2 if getenv("HDS_SCRATCH") <> "" setenv NDF_TEMP_COMPRESSED "$HDS_SCRATCH/temp_Z_^name" else setenv NDF_TEMP_COMPRESSED 'temp_Z_^name' endif endproc converttemp2 { GZIP compression conversions: { ----------------------------- { setenv NDF_FROM_GZIP ~ '$CONVERT_DIR/convertndf from ~ ''^fmt'' ''^dir'' ''^name'' ''^type'' ''^ndf''' setenv NDF_TO_GZIP ~ '$CONVERT_DIR/convertndf to ~ ''^fmt'' ''^dir'' ''^name'' ''^type'' ''^ndf''' hidden proc converttemp3 if getenv("HDS_SCRATCH") <> "" setenv NDF_TEMP_GZIP "$HDS_SCRATCH/temp_Z_^name" else setenv NDF_TEMP_GZIP 'temp_Z_^name' endif endproc converttemp3 { DEBUG { ----- { { Switch off display all conversion operations for debugging. setenv NDF_SHCVT 0 { Print the CONVERT initialisation message. print " " print " CONVERT commands are now available -- (Version 1.0, 1997 August)" print " " print " Defaults for automatic NDF conversion are set." print "" print " Type CONHELP or HELP CONVERT for CONVERT help." print ' Type "showme sun55" to browse the hypertext documentation.' print " "