movie in axis low=? high=?
This routine takes a three-dimensional NDF and displays its two-dimensional slices sequentially on a grey or colour graphics device.
The colour table of the display is unaltered so that a previously
loaded colour table will be used. Bad values will be displayed in
the display background colour, which in general is distinct from
the colour for the lowest (or highest) data value.
This routine is quite primitive. It does not use axis data or
spectroscopic values from the Specdre Extension. Pixels and slices
in the cube are addressed by their NDF pixel indices, which are
integer numbers, usually starting at 1.
The routine also does not pay much attention to the precise timing
of the display. The following list gives activities that the routine
spends time on and how the user can exert some control over the
timing.
- Before a frame can be displayed it must be extracted from the
cube. The time taken for this depends greatly on whether the
frame counting axis is the first or last axis. Taking slices is
fastest if AXIS=3 and can be very slow if AXIS=1, so it may be
useful to re-arrange the axes of a cube that will be viewed
often with the same frame-counting axis. Another way to reduce
the time for taking slices from the cube is to use as small a
cube as possible: If it is a-priori known that only a certain
range of frames will be looked at, or that only a certain part
of all frames is interesting, then the input cube can be given
as an appropriate subset of the actual disk file.
- Also before a frame can be displayed it must be converted
according to the colour capabilities of the display.
- Each frame needs to be extracted and converted only once and
can be viewed several times, converted frames are kept in a
workspace until the routine exits.
- In the sequence displays each frame is converted and displayed
before the routine goes on to the next frame.
- When a specific frame is requested it is extracted, converted
and displayed (unless it has been viewed before).
- When the next or previous frame relative to the displayed one
is requested, it is extracted and converted if necessary. Then
it is displayed. In anticipation of another request of the same
type the next or previous frame is extracted and converted
immediately.
- Even if a frame has been converted before, it takes some time
to re-sample it from cube pixels to display pixels. This time
can be minimised by choosing the fast mode, where a cube pixel
is only one display pixel.
- Disruptions occur in the display of a sequence of frames due to
the unpredictable need for the machine to page memory.
- Display may be over a network and bandwidth has to be shared
with other users. This too causes disruptions of frame
sequences.
In summary, it may be best to
- put on your spectacles and settle for the fast (and tiny)
display,
- decide which part of the cube is interesting and specify
only that sub-cube as input,
- begin the forward sequence to convert the whole input sub-cube,
- have a cup of tea if AXIS=3 and the cube is not small,
- use the options 'I', 'P', 'N' to look at individual frames in
your own time.
It is not possible to write the cube as converted for display.
Such a cube would be of limited use, since it might contain only
part of the input cube and since its scaling depends on the colour
capabilities of the display used.
FIGARO A general data reduction system