# XDISP --- display an image using SAOimage using a parameter file (xdisp.par) # By Doug Mink, Harvard-Smithsonian Center for Astrophysics # Incorporating suggestions by Inger Joergensen # December 28, 1995 procedure xdisp (image) file image="" {prompt="image to display"} char imtype="imh" {prompt="Image file type (imh,fits,dfits)?"} char display="" {prompt="Output X display"} char geometry="" {prompt="Image window geometry"} char addargs="" {prompt="Additional arguments for SAOimage"} real floor=0 {prompt="Minimum value to be plotted (0 for min)"} real ceiling=0 {prompt="Maximum value to be plotted (0 for max)"} real lfrac=0 {prompt="Fraction of histogram for linear range"} int hbytes=0 {prompt="Number of bytes to skip before image"} int nrows=0 {prompt="Number of row (0 if from header)"} int ncols=0 {prompt="Number of columns (0 if from header)"} char datatype="" {prompt="Input data type"} bool background=yes {prompt="Run ximage in background (yes or no)"} begin file imf char arg, imt, dt, args int nc, nr, min, max args = addargs dt = datatype nc = ncols nr = nrows min = floor max = ceiling # Display for X if (display != "") arg = " -d " // display else arg = "" # Geometry for X (X*Y+XDIM+YDIM) if (geometry != "") arg = arg // " -gd " // geometry # Additional command line arguments if (args != "") arg = arg // " " // args # Floor and ceiling should be set of one is different from zero if (min != 0 || max != 0) { arg = arg // " -min " // str(min) arg = arg // " -max " // str(max) } # Otherwise, if lfrac is set, set limits at fractions of histogram maximum else if (lfrac > 0) { arg = arg // " -lfrac 0.01" } # Otherwise, use histogram scaling else { arg = arg // " -histeq" } # Bytes to skip before reading image if (hbytes > 0) { arg = arg//" -sk "//str(hbytes) } # Set limits in image of displayed section if (nc > 0 && nr > 0) { if (dt == "i" || dt == "l") arg = arg // " -i4 " // str(nc) // " " // str(nr) else if (dt == "s") arg = arg // " -i2 " // str(nc) // " " // str(nr) else if (dt == "r") arg = arg // " -r4 " // str(nc) // " " // str(nr) else if (dt == "d") arg = arg // " -r8 " // str(nc) // " " // str(nr) else if (dt == "c") arg = arg // " -i1 " // str(nc) // " " // str(nr) } # Image name and format imt = imtype imf = osfn (image) if (imtype == "imh") arg = arg // " - " // imf // ".imh" else arg = arg // " -" // imt // " - " // imf # Run in background if requested if (background) arg = arg // " &" # Execute SAOimage print ("saoimage",arg) saoimage (arg) end # May 20 1992 Use osfn to get Unix file path for image # Jan 18 1995 Add lfrac option to improve autoscaling # Dec 28 1995 Add arbitrary argument; make lfrac optional