 |
|
Image Sequencer - Read a sequence of image files and translate to
AVS image format.
Image Sequencer - Read a sequence of image files and translate to
AVS image format.
Name
Image Sequencer - Read a sequence of image files and translate to
AVS image format.
Summary
Name: Image Sequencer
Type: data input
Input: pulse input (optional) -- integer pulse in
Outpts: image -- field 2D 4-vector byte (AVS image)
frame output -- integer frame number
Parms:
Name Type Description
Image Browser browser Image file selector
Directory string Image directory pathname
Root Name string Image filename root
Number string Image filename number
Extension string Image filename extension
current image islider Image number selector
<-- toggle Image direction reverse
display next image oneshot Displays the next image
--> toggle Image direction forward
Start image number integer Beginning image number
End image number integer Ending image number
Image number increment integer Image number increment
Number of images integer Total number of images
Pre-hold integer Start image hold count
Post-hold integer End image hold count
Number of frames integer Total number of frames
Image Format radio buttons Image format selector
Description
The Image Sequencer module is used to read a series of images that
have been previously saved to disk and output them as AVS image data.
This can be very useful for displaying a series of images, recording
them to video, or compositing or filtering a series of images. The
images can be in any of the formats supported by Image Sequencer.
Image formats currently supported are:
AVS image format [.x or .avs extension]
The image format native to AVS.
MIFF (Machine Independent File Format) [.miff extension]
The image format used by John Christy's ImageMagick
package (available from expo.lcs.mit.edu).
RLE (Run Length Encoded) format [.rle or .urt extension]
The image format used by the University of Utah's
Utah Rasterfile Toolkit (from weedeater.math.yale.edu).
NOT SUPPORTED YET!
RLA/B image format [.rla or .rlb extension]
Wavefront Technology's file format produced with the
commercial Wavefront animation package.
Images can be sequenced forwards or backwards. An increment can be
specified to make the Image Sequencer skip images. Prehold and
posthold values can also be specified to hold the first or last image
in the sequence for a certain number of frames.
IMAGE SEQUENCE FILENAMES
The filenames of images in a sequence must be exactly the same
except for an integer specifying that image's number. Images will
be sequenced based on these numbers. The number may be padded with
leading zeros in the filename, but doesn't have to be. If the
numbers are padded, all image numbers in the sequence must have the
same number of digits.
Here are some examples of valid image sequences:
image001.rla image.001.rla image1.rla image6.1.rla
image002.rla image.002.rla image2.rla image6.2.rla
: : : :
image009.rla image.009.rla image9.rla image6.9.rla
image010.rla image.010.rla image10.rla image6.10.rla
SETTING THE SEQUENCE FILENAMES
You generally begin by selecting the first image in the sequence
with the "Image Browser". The Image Sequencer will look at the
filename of the chosen image and guess at values for "Dir", "Root",
"Number", "pad", and "Extension". These can later be changed by
typing in a different value in the appropriate typein spaces.
"Dir" is the directory which contains the images, and must end
with a slash (/). "Root" is the root of the filenames, the
characters which come before the integer number in the filename.
"Number" is the integer part of the filename which varies from one
image of a sequence to the next. The Image Sequencer guesses that
the longest sequence of integers in the filename chosen with the
"Image Browser" is the "Number" value. If there is a tie in the
number of consecutive integers (such as would be with the file
"image12.34.rla"), the last sequence of integers is chosen to be
the image's number (in this case "34"). The "pad" value is the
least number of digits allowed for each number. The "pad" value
is guessed to be the number of digits in the number of the chosen
image (for the file image0010.rla, the image number would be "0010"
and the pad value would be "4"). The value displayed in the "Number"
input is always padded according to the "pad" value. The "Extension"
is the part of the filename following the image number. All of the
values which are filled in by the "Image Browser" selection can
be overwritten by simply typing in values by hand. In fact, it is
not necessary to use the "Image Browser" if you want to type in all
the values by hand. The full pathname of the current image should
always be the directory, root, number, and extension concatinated
together. The only value which changes from image to image in a
sequence is the number.
SETTING THE IMAGE TYPE
The "Image Type" radio buttons are automatically set by the
Image Sequencer by looking at the last few characters of the
"Extension" and comparing them to a list of known extensions
for each of the types of images recognized (see the list of
recognized file formats above for the extensions recognized
for each format). You can override the file type or set the file
type if no type can be determined from the extension by selecting
the appropriate button.
SETTING THE SEQUENCE RANGE
After the filenames for the sequence have been chosen, the selected
image will be read in and sent to the image output port of the Image
Sequencer module, and can be displayed with the "display image" module.
It is now necessary to set the range of images in the sequence by
assigning values for the "Start image", "End image", "Image increment",
and "Number of images". It is not necessary to assign values to all
of these; entering values into some will affect and change the values
of others. The "Start Image" will default to the image selected with
the "Image Browser" but may be changed to the number of the first
image you wish to sequence. The "End image" should be the number of
the last image in the sequence. Note that the value for the "End
image" cannot be less than the "Start image" value. The "Image
increment" is the difference between consecutive image numbers in the
sequence. For example, a value of "2" will sequence every other image
while a value of "3" will sequence every third image. The default is
"1" which will sequence every image between (and including) the "Start
image" and the "End image". The "Number of Images" specifies the
number of different images in the sequence, taking into account the
"Image increment" value. Remember that changing any of these values
can change other values, so be careful that you have not inadvertently
changed a value you had already set by setting another value. Also,
if an increment other than "1" is specified, those image numbers
which are normally skipped will not be allowed for the "End image"
(the value used will be the closest acceptable value less than the
value typed in).
MOVING AROUND THE SEQUENCE
After the start, end, increment, and number of images of the sequence
are defined, you can move the "current image" slider to any image
within the sequence to output that image. You may not choose images
which are not defined within the sequence, or images that would be
skipped because of the increment value. The "display next image"
button will display the next image in the sequence if "-->" is chosen,
or the previous image in the sequence if "<--" is chosen. These
directional indicators determine whether the images are sequenced
forward ("start image" to "end image") or in reversed order
("end image" to "start image"). They also affect which values are
changed by setting other values when defining the sequence range (see
DEFINING THE SEQUENCE RANGE above). The "display next image" will
"wrap around" if it reaches the first or last image in the sequence.
DEFINING A PREHOLD AND POSTHOLD
It is sometimes desirable to hold the first or last image of a
sequence for a number of frames in order to make the sequence
longer. This is accomplished with the "Prehold", "Posthold", and
"Number of frames" inputs. The "Prehold" is the number of frames
before the actual sequence range (see SETTING THE SEQUENCE RANGE
above) that the first image in the sequence will be held before
the sequence. The "Posthold" is the number of frames the last
image in the sequence will be held after the sequence. These
are usually "0" meaning that there will be no prehold or posthold.
The "Number of frames" changes when you change the prehold or the
posthold. It specifies the total number of frames which will be
displayed including the prehold, the actual sequence of images, and
the posthold. Typing a value into the "Number of frames" which is
greater than the number of images will add equal prehold and posthold
values (if the value doesn't divide evenly, the "Posthold" value will
be one greater than the "Prehold" value). The only time the "Prehold"
and "Posthold" values actually affect the output is if the Image
Sequencer is being driven by another module via it's "pulse in"
input (see INPUTS below).
Inputs
Pulse in (integer).
The "pulse in" input is an integer supplied by another module which
causes the Image Sequencer to advance to the next frame if the
direction is forward or previous frame if the direction is reverse.
Once it reaches the final frame, it starts over again. If a prehold
is defined and the "current image" is set to the first image in the
sequence, the first image will remain for the entire prehold. In
other words, if the prehold is "5", the first image will remain
through the first 5 pulses before the actual sequence begins. If the
sequence direction is forward, on the 6th pulse, the first image will
be displayed again, and on the 7th pulse, the second image will be
displayed, and so on. Similarly, the final image will remain if a
posthold has been defined once the current image reaches the final
image of the sequence. In other words, assuming we are viewing the
animation in a forward direction, moving the "current image" to the
first image in the sequence actually moves to the beginning of the
prehold, and moving the "current image" to the last image in the
sequence actually moves to the beginning of the posthold.
Outputs
Image out (AVS image).
The "Image out" output is an AVS image, suitable for input into the
"display image" module for display in an AVS window. It can then
be recorded to video, composited with other images, or modified.
Frame pulse out (integer).
The "Frame pulse" integer output is used to drive a downstream module
which needs to execute whenever the next image is displayed. This
can be used as input to a module which can then record the image to
video (such as the "Record Animation" module).
Examples
Related modules
Record Animation, written by Brian Kaplan
allows recording to Lyon-Lamb Minivas and Sony Laser
Videodisc devices.
|
|