$Id$
NeSDaC
wop, operations on images.
NAME
wop - arithmatic operations on FITS image files.
SYNOPSIS
- wop
- wop statement [,statement]
The program can be started with no arguments at all, in which case it will run in an
interactive mode.
Wop display's a promptstring and executes commands, there is NO quit/exit command,
stop by typing ^D (control D).
If legal statements are passed as arguments, wop executes them one by one and exits.
DESCRIPTION
wop is a first attempt to develop a program performing a number of
operations on FITS datafiles, both images and tables.
Say we have a FITS file A, containing an image in the PRIMARY extension
plus 3 image extensions, a0,a1 and a2
The statement
B=A[a1,5:10,0:5]
creates a FITS image file B, with
NAXIS= 2, NAXIS1= 10, NAXIS2= 5.
The image in B is a section (x from 5 to 14 (inclusive), y from 0 to 4) from
the extension a1 in A.
Generally, a FITS imagefile can be referenced as:
Filename[extname,x0:nx,y0:ny....] (syntax)
..
..
..
Currently, no operations are defined on FITS 'BINARY TABLE' extensions.
OPERATIONS
FUNCTIONS
- bin ([fx,] [fy,] fitsimage)
-
parameters:
fx binfactor for first dimension of image (default value is 1).
fy binfactor for second dimension of image (default value is 1).
fitsimage fits-image input.
- crash ([axis,] [mode,] fitsimage)
-
crash, ie. reduce the number of dimensions of an image by 1.
this reduction is accomplished by replacing all data along an axis,
a row (column, vector or whatever) by just a scalar value, this can be the mean, minimum
or maximum from the axis being crushed.
parameters:
axis "x", "y" etc. (alternativly 0 (== "x") 1 ..)
mode "s" compute mean
"t" select maximum
"v" select minimum
fitsimage fits-image input.
- clip ([low,] fitsimage)
-
clip the image, all pixels with value .lt. low are replaced by this value.
parameters:
low clip all image data with a value under low.
fitsimage fits-image input.
- his ([np,] [low,] [upr,] fitsimage)
-
produce a histogram, a 1D vector with np elements.
parameters:
np number of bins in histogram (default value is 100).
low lower bound on pixelvalues (default value is minimum of fitsimage).
upr upper bound on pixelvalues (default value is maximum of fitsimage).
fitsimage fits-image input.
- int (fitsimage)
-
integrate the fitsimage,
ie. starting at the first axis, replace p[x, y, z...] with the sum
p[0, y, z...]+p[1, y, z...]+ .. + p[x, y, z...], x= 1-nx, y= 0-ny, z= 0-nz ...
then repeat for the next axis until all done.
parameters:
fitsimage fits-image input.
- mirror ([r,] fitsimage)
-
mirror the fitsimage in one of its axis, given by r.
parameters:
r 0: mirror in x-axis (y := -y), 1: mirror in y-axis (x := -x)
fitsimage fits-image input.
- plot ([device,] [label,] [slabel,] fitsimage { [,slabel,] fitsimage })
-
plot fitsimage, this image is always interpreted as a 1D vector,
if the image has more dimensions only the first row of numbers is plotted.
if you give several fitsimage input data, all these will be tiled onto
one output page in (smaller and smaller, as the number increases) subplots.
parameters:
device pgplot style outputdevice (eg. "pic.ps/ps" create postscript file pic.ps).
label label for the complete plot output.
slabel sub-label, tagged on the individual plots.
fitsimage fits-image to be plotted, if this image has more then 1 dimension,
only the values along the first axis are used.
- sum (fitsimage)
-
print the sum of all pixelvalues in fitsimage.
- stats ([dim,] [mode,] fitsfile)
-
print some characteristics of the pixelvalues in fitsimage,
printed are :
name n sum mean sd min max
- tile ([dim,] [mode,] fitsfile)
-
EXAMPLE
The instrument database file contains an extension
named WFCcf, an 3D image,
containing the Tk correction factors.
For every pixel in the camera's, digitized, field of view, the first plane of WFCcf gives
1.0/Ao, Ao represents the detector area (in geometrical sense) seen from this skypixel,
the second imageplane gives 1.0/Ac,
Ac is the from this skypixel not visible, area of the detector.
The WFC mask has an overal transparancy of 1/3, so, looking from any skypixel,
(and ignoring the detector support structure) Ao/Ac is aprox. one halve.
wfc.ins is the name of the instrument database file, the command:
wopi "A= wfc.ins[WFCcf,,,1:1] / wfc.ins[WFCcf,,,0:1]"
results in a FITS image A,
giving (1.0/Ac)/(1.0/Ao)= Ao/Ac,
for every pixel in the field of view.
The image may be displayed (eg. saoimage), or you can examine the distribution
of the pixel values (expected value 0.5) with the command:
wopi "plot(his(500, .4, .6, A))"
plotting a histogram of all pixels in 500 points, ranging from 0.4 to 0.6.
a command like:
wopi "plot(1/wfc.ins[WFCcf,0:,255:1,0:1])"
illustrates the WFC's triangular response, the plot shows the active detector
area in cm2, along the x-axis (0:, start offset 0, full length) in the center
of the field of view (y=255:1, start offset 255, length 1 pixel) and from the first
image plane (z=0:1, start offset 0, length 1 pixel).
wopi expression syntax
term | | expansion
|
---|
list | ::= | [; statement]
|
statement | ::= | NAME = expr | expr
|
expr | ::= | term [(+ | -) term]
|
term | ::= | factor [(* | /) factor]
|
factor | ::= | ffile | const | NAME ( explist ) |
( expr ) | - expr
|
ffile | ::= | NAME [qualifier]
|
qualifier | ::= | [ NAME ] | [ section ] |
[ NAME , section ]
|
section | ::= | axis [, axis]
|
axis | ::= | | [initial] : length | initial : [length]
|
explist | ::= | [expr [, expr]]
|
NAME | ::= | string of characters
|
const | ::= | number | string
|
string | ::= | "string of characters exept quote "
|
initial | ::= | integer
|
length | ::= | integer
|
number | ::= | real | integer
|
SEE ALSO
Back to: