Animates a number of AVS x format image files stored in memory or on disk.
The following lists all of the parameters found in the parameter block ImagePlayerParams, which are accessed by the module AVSImagePlayer and the UI Macro ImagePlayerUI.
Name | Type | Description | UI Control |
file_format | string | filename specification | File Format |
nb_images | int | total number of images | Number of Images |
first_image | int | first index number | First Image |
step | int | value of loop increment | Step |
access_mode | int | memory or disk access | Access Mode |
run_mode | int | forward, backwards or cycle control | Run Mode |
fps | float | animation rate in frames per second | Frames per sec |
nsec_before | int | secs before animation is restarted | Nsec Before |
nsec_after | int | secs before animation returns to first frame | Nsec After |
count | int | index number of current image | Image Number slider |
real_fps | string | actual animation rate | Real Frame/s label |
Name | Type | Description | |
out | field data | currently displayed image data | |
obj | DataObject | directly renderable object | |
The imagePlayer macro is a high level user macro that is able to read in image files in the AVS x format and then animate them either from memory or by loading each image as it is required. The image filenames are specified by using a C-style format-string and a number of parameters. The module is also able to control the rate at which the images are animated, whether the animation runs forward or backwards and whether the animation cycles continously. All of these functions are controllable through a User Interface. The images are output as both a uniform mesh with colours represented by node data, and a renderable DataObject that is generated from the uniform mesh.
ImagePlayerParams.file_format
A member of the ImagePlayerParams parameter block group, this string value is used to specify the filename formatting string that is used to load the sequence of image files. This is down by using a C-style formatting expression to generate indexed filenames.
Therefore setting file_format to "Imag%d.x" will generate filenames of the form "Image0.x" with no leading characters; whilst setting the parameter to "Image%04d.x" will generate filenames which are padded with zeros to be 8 characters long (i.e. "Imag0001.x"). More information can be found in any C reference book.
ImagePlayerParams.nb_images
A member of the ImagePlayerParams parameter block group, this int value specifies the total number of images that are to be animated. The animation will stop or repeat as appropriate when this many frames have been displayed.
ImagePlayerParams.first_image
A member of the ImagePlayerParams parameter block group, this int value specifies the index number of the first image to be animated.
ImagePlayerParams.step
A member of the ImagePlayerParams parameter block group, this int value specifies the value that the index number should be incremented by during each iteration of the animation loop.
ImagePlayerParams.access_mode
A member of the ImagePlayerParams parameter block group, this int value specifies whether images should be animated from memory or from disk. Setting the parameter to 0 specifies that each image should be read from disk immediately before it is displayed. Setting the parameter to 1 specifies that all the images should be loaded into memory before the animation begins and displayed directly from memory.
ImagePlayerParams.run_mode
A member of the ImagePlayerParams parameter block group, this int value specifies how the animation should be performed. There are four possible values for this parameter:-
ImagePlayerParams.fps
A member of the ImagePlayerParams parameter block group, this float value specifies the rate at which the animation should run in frames per second. This is the intended animation rate. If the system is unable to achieve this rate then the animation will run at a lower rate.
ImagePlayerParams.nsec_before
A member of the ImagePlayerParams parameter block group, this int value specifies the number of seconds that the animation should wait at the starting frame before the animation is restarted. This parameter only applies when the animation is cycling.
ImagePlayerParams.nsec_after
A member of the ImagePlayerParams parameter block group, this int value specifies the number of seconds that the animation should wait at the ending frame before the animation returns to the starting frame. This parameter only applies when the animation is cycling.
ImagePlayerParams.count
A member of the ImagePlayerParams parameter block group, this int value specifies the index number of the currently displayed image. Setting this parameter will cause the currently displayed image to change immediately.
ImagePlayerParams.real_fps
A member of the ImagePlayerParams parameter block group, this string value displays the number of frames per second that the animation is actually running at. The parameter is intended for display only and to ease display the number of frames per second is included along with an appropriate message by the module.
out
The currently displayed image output as Field data. The image is represented by a uniform mesh. The colour of each pixel is represented by a vector of length 4 (i.e. alpha, red, green, blue) at each node data point.
obj
The directly renderable output field of the AVSImagePlayer module. This contains a DataObject object that can be rendered by the standard data viewers. The DataObject is generated directly from the field data created from the currently displayed image.
The low-level AVSImagePlayer module is used in the User Macro imagePlayer. Additionally, this macro also uses the ImagePlayerParams parameter block group object, as does the ImagePlayerUI UI Macro.
An example application AVSImagePlayerEg is provided, which uses the animation module to display a sequence of images generated for a Meteorological Office presentation on global warming.
iac_proj/ximg_ply/iplymacs.v contains the imagePlayer User Macro, the ImagePlayerUI UI Macro, and the example application AVSImagePlayerEg V definitions.
The AVSImagePlayerMacs library inherits its process. As this library contains no procedural code, the process is not important. The low-level AVSImagePlayer module, executes under the process specified in its library, not the process defined in the high-level library.
Fernand Alcatrao
Andrew Dodd
International AVS Centre Manchester Visualization Centre Manchester Computing University of Manchester Oxford Road Manchester United Kingdom M13 9PL
ImagePlayerParams, ImagePlayerUI and AVSImagePlayer.