IDL provides an IDLgrMPEG class that allows the user to save an array of image frames as an MPEG movie. See the IDL Reference guide.
The MPEG_PUT procedure stores the specified image array at a specified frame index in an MPEG sequence. The MPEG_SAVE procedure encodes and saves an open MPEG sequence. The images can be read using the READ_IMAGE function.
Two examples of IDL modules to produce movies are given below. Example1 is a command line MPEG generator and Example2 provides a user interface for the parameters.
This module, mpg.pro reads a sequence of images (named prefix00001.suffix) and produces an MPEG1 or MPEG2 movie. Supported formats are: BMP, GIF, JPEG, PNG, PPM, SRF, TIFF, DICOM
| prefix | string(required) | A string specifying the prefix of the images to read included the path, for example "/home/data/images/Image" | |
| suffix | string(required) | A string specifying the suffix of the images to read, for example "jpg". | |
| n_start | integer(required) | An integer specifying the first image in the sequence. | |
| n_end | integer(required) | An integer specifying the last image in the sequence. | |
| digits | integer(required) | An integer specifying the number of digits of the number field in the sequence, for example image00001.jpg would require digits=5. | |
| dims | integer(optional) | An integer array specifying the size of the output image. If not specified the size of the first image is used. | |
| format | integer(optional) | An integer with values 0 for MPEG1 and 1 for MPEG2. Default is MPEG1. | |
| frame_rate | integer(optional) | An integer with values. | |
| 1 = 23.976 frames/sec: NTSC encapsulated film rate. | |||
| 2 = 24 frames/sec: standard film rate. | |||
| 3 = 25 frames/sec: PAL video frame rate | |||
| 4 = 29.97 frames/sec: NTSC video frame rate | |||
| 5 = 30 frames/sec: NTSC drop frame video rate (the default). | |||
| 6 = 50 frames/sec: double frame rate/progressive PAL | |||
| 7 = 59.94 frames/sec: double frame rate NTSC | |||
| 8 = 60 frames/sec: double frame rate NTSC | |||
| mpeg_file | string(optional) | A string specifying the output MPEG file (default outfile.mpg) | |
| tmp_dir | string(optional) | A string specifying temporary directory to use for the temporary image files. |
To run the IDL movie generator type in a shell:
%module load idl
%idl
> .compile mpg.pro
> make_mpg, prefix='image', suffix='.bmp', n_start=0, n_end=100, digits=5, dims=[512,512], mpeg_file='mympeg.mpg'
This IDL project, mpg_gen.tar.gz reads a sequence of images (named prefix00001.suffix) and produces an MPEG1 or MPEG2 movie. Supported input image formats are: BMP, GIF, JPEG, PNG, PPM, SRF, TIFF, DICOM. A GUI is provided to enter the parameters.
| prefix | string(required) | A string specifying the prefix of the images to read included the path, for example "/home/data/images/Image". |
| suffix | string(required) | A string specifying the suffix of the images to read, for example "jpg". |
| n_start | integer(required) | An integer specifying the first image in the sequence. |
| n_end | integer(required) | An integer specifying the last image in the sequence. |
| digits | integer(required) | An integer specifying the number of digits of the number field in the sequence, for example image00001.jpg would require digits=5. |
| xsize | integer(optional) | An integer specifying the x size of the output image. If not specified the size of the first image is used. |
| ysize | integer(optional) | An integer specifying the y size of the output image. If not specified the size of the first image is used. |
| format | integer(optional) | An integer with values 0 for MPEG1 and 1 for MPEG2. Default is MPEG1. |
| frame_rate | integer(optional) | An integer with values. |
| 1 = 23.976 frames/sec: NTSC encapsulated film rate. | ||
| 2 = 24 frames/sec: standard film rate. | ||
| 3 = 25 frames/sec: PAL video frame rate | ||
| 4 = 29.97 frames/sec: NTSC video frame rate | ||
| 5 = 30 frames/sec: NTSC drop frame video rate (the default). | ||
| 6 = 50 frames/sec: double frame rate/progressive PAL. | ||
| 7 = 59.94 frames/sec: double frame rate NTSC. | ||
| 8 = 60 frames/sec: double frame rate NTSC | ||
| mpeg_file | string(optional) | A string specifying the output MPEG file (default outfile.mpg). |
| tmp_dir | string(optional) | A string specifying temporary directory to use for the temporary image files. |
After unzipping and untaring the files please refer to the README file for running the project.