[Top] [Contents] [Index] [ ? ]

i-display Manual


1. An Overview of i-display

i-display is an image sequence viewer, primarily designed for efficient real-time playback. It has been augmented with much useful functionality, such as a color picker, image comparison tools, image saving capabilities and more. It is important to note that i-display is not an image-authoring tool.

In addition to its image file viewing capabilities, i-display can be used as a frame buffer for the 3DELIGHT renderer. When used as such, i-display provides a flexible, centralized flipbook for 3DELIGHT renderings, avoiding a proliferation of windows on the desktop.

Almost all features of i-display are accessible through the pop-up menu that is accessible via the right mouse button.


2. Installing i-display

The i-display image viewer is composed of the following files:

` i-display'
The main executable, to be copied in a directory declared in the executable's search path (PATH environment variable). An example would be `C:\WINNT'.
` i-display.html '
This documentation, in browsable HTML format.

3. Starting i-display

When using i-display as a stand-alone image viewer, the list of files to load must be specified on the command line. (To avoid using the Command Prompt to start i-display, it is possible to simply drag the image files (or directories) over i-display's executable icon, or over a shortcut to i-display.) When directories are specified, all files whose format is supported will be loaded. File loading is multi-threaded for maximum efficiency when accessing very long sequences. In addition, when a single image is specified, only that image is loaded, but other images located in the same directory may be viewed using the usual navigation commands (see below) and will be loaded as needed. For more information on command-line options, type i-display -h at the command shell prompt.

To use i-display as a frame buffer for the 3DELIGHT renderer, one should use the `idisplay' display driver or run renderdl with the `-id' option. Refer to 3DELIGHT's documentation for more reading.


4. Main Features

Navigation commands

The first section of the main menu contains navigation-related items. When Play is selected, i-display starts an animation using the sequence of images specified on the command-line, or the images loaded from 3DELIGHT. It can be stopped by selecting Pause in the menu. Playback Rate (the number of frames displayed during one second) may be specified in the Preferences dialog (see next section).

The current image may also be changed manually using the Previous, Next, First and Last items of the menu.

If an image contains sub-images, they may be viewed using the Subimage sub-menu. These sub-images may be mipmap levels or, when images were composited upon loading with the `-comp' option, image layers.

The left mouse button may be used to navigate through the images sequence by dragging it horizontally inside the main window. The current image will change at every two pixels from the drag starting position. When the Shift key is pressed, navigation will go more or less rapidly, depending on the number of images in the sequence and the width of the window, so that one could view all the sequence by pressing the left mouse button near the left border of the main window and releasing it near the right border.

Camera manipulation

The View sub-menu, in the second section of the main menu, contains items controlling the different parameters of the virtual camera. They enable the user to zoom in or out, to pan up, down, left or right, and to reset the view so that the image is centered and displayed with a 1:1 zoom factor.

The middle mouse button may also be used to zoom and to pan the camera. Panning is performed by dragging the mouse inside the main window with the middle mouse button pressed. It can also be achieved in a more continuous fashion by double-clicking with the middle mouse button, then keeping it pressed and moving the mouse pointer away from the click position. To zoom in or out, the Alt key must be pressed while the mouse is dragged vertically inside the main window with the middle button pressed. One can also select a region to zoom into by pressing the Ctrl key along with the middle mouse button and dragging the mouse inside the window.

Loading and saving images

When loading image files or receiving pixels from 3DELIGHT, i-display will show a progress bar at the bottom of the main window indicating the amount of completed work. Selecting Suspend Loading from the main menu will interrupt the loading/rendering operation. It is possible to view the remaining images files after an interrupted load by selecting Resume Loading (this feature proves useful when viewing sequences that do not fit in available physical memory). It is impossible to resume an interrupted 3DELIGHT rendering operation.

A single image may also be reloaded using Reload Current Image, located in the Reload sub-menu. This command may be used on images loaded from the file system as well as on images received from 3DELIGHT. In the latter case, it will be completely re-rendered. To avoid re-rendering the totality of an image, a smaller region of the image may be selected by dragging the left mouse button across the desired crop region while pressing the Ctrl key. Rendering will start as soon as the mouse button is released. To reload only the portion of the image that is contained within the main window, one can use the Reload Visible Region command. The Reload Last Region command may prove useful when a single region must be re-rendered very often.

Some images may be removed from the sequence (but not from the file system) using the items in the Remove sub-menu. This may be useful when some images were loaded unintentionally, or when more physical memory is needed to play an animated sequence in real-time.

The current image may be saved to an image file using the Save Current Image... item of the main menu. This command may be used on any image displayed, regardless of the way they were created: it works on images loaded from a file, on images received from 3DELIGHT and on images created within i-display using the Blend, Difference or Amplified Difference features (explained below).

Other features

In addition to the basic functionalities described above, i-display has the ability to blend images, compute differences between images, display only one RGBA component at once, and display more information about an image's pixels.

Two images can be blended together to give a third one if they're immediately following each other within the image sequence. This is achieved by pressing the Alt key and the left mouse button, and then dragging the mouse horizontally inside the main window. i-display will blend the current image with the next one (when first moving the mouse to the right) or the previous one (when first moving the mouse to the left) using weights depending on the mouse position. Items contained in the Blend sub-menu of the main menu perform the same thing, but they allow the keyboard accelerators to be used, which is more convenient for some users.

Currently viewed image may also be compared to any other image in the sequence using the Absolute Difference or the Amplified Difference modes. To view the absolute differences between the current image and another one, keep the D key pressed, and then navigate through the sequence using either the left mouse button or the keyboard horizontal arrows. To view the Amplified Difference, where all differing pixels are shown in white and all identical pixels are shown in black, use the F key instead. Usually, it is more convenient to use the Amplified Difference mode first, in order to locate the differing parts of two images, and then use the Absolute Difference mode to see the amplitude of these differences.

The R, G, B and A keys will show only one RGBA component when pressed; this action is reverted when the key is released. This functionality can also be made "sticky" by combining the same keys with the Shift key. Pressing the same key combination again will revert to all channels display.

Finally, the numerical values of the pixel located under the mouse pointer may be displayed in a small box by pressing the P key. As for the RGBA filters mentioned above, the information would disappear when the key is released, but Shift and P may be pressed together to avoid this behavior. The coordinates of the pixel under the pointer are displayed on the first line of the box, both in absolute and relative coordinates, with the origin (0, 0) at the top-left corner. The values of the RGB or RGBA eight-bits components are displayed on the second line. Their range goes from 0 to 255.


5. Preferences

i-display's default behavior can be configured using the preferences dialog, which can be shown using the Preferences... item of the main menu or the Ctrl+P shortcut.

The first section of the Preferences dialog contains image sequence playback options, as well as general display options:

The middle section of the dialog controls the way the file name of an image is displayed.

The last section of the Preferences dialog contains Hardware-related performance options. Most users won't need them unless they have to view long sequences of big images on a poorly performing computer.

All preferences are stored in a file named `IDisplay.prefs', in the `.prefs' directory located in each user's home directory. Most users don't need to know this, but some may want to reset their preferences by deleting this file, or share them with others users.


6. External File Formats

While i-display doesn't support many image file formats, one can still view images of various formats by providing a conversion command that will be executed when an image is loaded or saved. The conversion commands are stored in a file named `IDisplay.formats' in the user's `.prefs' directory. This file should be created and edited manually by using a plain text editor.

The structure of the formats description file is fairly simple. A small example will help understanding it:

  Extensions: .frame, .photo
  Formats: GIF, JPEG, other

  # JPEG (Joint Photographer's Experts Group) format
  JPEG.Extensions: .jpg, .jpeg
  JPEG.Read: convert %f %t0.tif
  JPEG.Write: convert %t0.tif %f

  # GIFs are not supported directly due to Unisys patent.
  GIF.Extensions: .gif
  GIF.Read: icv -o %t0.bmp %f ; convert %t0.bmp %t1.tiff
  GIF.Write: convert %t0.tiff %t1.bmp ; icv -o %f %t1

  # We try to convert all other files formats using the "convert" command.
  # This may not work, but it's better than nothing...
  other.Extensions: .*
  other.Read: echo "Trying to convert from %n.%e..."; convert %f %t0.tif
  other.Write: convert %t0.tif %f

The first line, prefixed by `Extensions:', lists file name extensions that i-display should use to identify image files, even if they aren't directly recognized by the software. Each extension is separated by a comma. This feature may be useful when non-standard extensions, such as `.frame' or `.photo' are used for file of recognized formats, such as `TIFF'. However, if one really needs to load images of unrecognized formats, a more complete description must be provided, as explained below.

The second line, prefixed by `Formats:', lists all the formats described later in the file. Each format name is separated by a comma. In our example, three formats are defined, and they're named `GIF', `JPEG' and `other'. For each of those formats, one must provide a list of file name extensions, a conversion command to be used when reading the file and, optionally, a conversion command to be used when writing a file in this format.

The list of extensions is prefixed by the name of the format, written exactly as in the formats list, followed by `.Extensions:'. The extensions are used to associate a file with the appropriate format. More than one extension may be associated to each format. In our example, both `.jpg' and `.jpeg' are defined as valid extensions for the JPEG format, but only the `.gif' extension is associated to the GIF format. In fact, since the extension parsing is case-insensitive, even `.JPG', `.JPEG' and `.GIF' are valid extensions for, respectively, the JPEG and GIF formats. Each extension is separated by a comma. The `.*' extension defines the default format and can be used only once. This means that files with no extension and files with an extension not mentioned in the extensions list of other formats will be associated to this format.

The read conversion command is prefixed by the name of the format, followed by `.Read:'. The remaining of the line should contain a shell command that can be used to convert a file from the external format to a file format supported directly by i-display. The following special characters can be used in a read conversion command:

` %d'
Will be replaced by the directory part of the complete name of the file being read (that is, the complete name of the directory which contains the file). For example, if one tries to load the file `D:\users\sneezy\file.ext' using i-display, `%d' will be replaced by `D:\users\sneezy\'.
` %n'
Replaced by the name of the file being read, without parent directories or extension. In the previous example, `%n' would have been replaced by `file'.
` %e'
Replaced by the extension part of the file being read, without a period. For example, `%e' may be replaced by `ext'.
` %f'
Replaced by the complete name of the file i-display is trying to read, including all parent directories and the file extension. Note that `%f' is, in fact, a shortcut for "%d%n.%e".
` %t?'
Replaced by a unique prefix for a temporary file name. Up to ten temporary file names, with identifiers ranging from `%t0' to `%t9', are available. The file corresponding to the occurence of `%t' with the highest number inside the commands will be read directly by i-display after the commands are executed.
` %%'
Provided for completeness; replaced by a single `%' character.

Using the `IDisplay.prefs' file listed below, if one tries to load the file `D:\users\sleepy\photo.jpg' with i-display, the following events would occur:

  1. Using the command provided on the line prefixed by `JPEG.Read:', the file is first converted to a TIFF file using a command like:

     
    convert D:\users\sleepy\photo.jpg C:\Temp\1234.tif
    
  2. Then, i-display will read the file `C:\Temp\1234.tif' and delete it afterwards.

Multiple steps conversion commands may also be used. For example, when asked to load the file "D:\users\happy\icon.gif", i-display would follow these steps:

  1. Using the command described on the line prefixed by `GIF.Read:', the file is first converted to a Windows bitmap using the command:

     
    icv -o C:\Temp\1234.bmp D:\users\happy\icon.gif
    
  2. The resulting bitmap file is then converted to a TIFF file using a command of the form:

     
    convert C:\Temp\1234.bmp C:\Temp\5678.tiff
    
  3. Finally, the temporary file `C:\Temp\5678.tiff' is read normally, then deleted, along with `C:\Temp\1234.bmp'.

Note that, in multiple steps commands, the semi-colon is interpreted by the shell, not by i-display.

In addition to the read conversion command, a conversion command to be used when writing a file can be specified, optionally, on a line prefixed by the name of the format, followed by `.Write:'. The shell command described on the remaining of the line will be executed by i-display when it tries to save an image in a format it doesn't support directly. This happens only when a file name with an unknown extension is typed in the Save Current Image dialog box. The following special characters can be used in a write conversion command:

` %d'
` %n'
` %e'
` %f'
As for the read command, will be replaced by a part of the file name except that, in this case, it's the name of the file being written instead of the file being read (ie: what was typed in the "Save Current Image" dialog box).
` %t?'
Replaced by a unique prefix for a temporary file name. Up to ten temporary file names, with identifiers ranging from `%t0' to `%t9', are available. Before the commands are executed, i-display will write the image to the file corresponding to `%t0'.
` %%'
As in the read command, it will be replaced by a single `%' character.

If one tries to save an image to `D:\users\grumpy\snowwhite.jpg', these steps would be followed:

  1. i-display first writes the image to a temporary file named, for example, `C:\Temp\1234.tif'.

  2. Using the command provided on the line prefixed by `JPEG.Write:', the file is then converted to a JPEG file using the command:

     
    convert C:\Temp\1234.tif D:\users\grumpy\snowwhite.jpg
    
  3. Finally, `C:\Temp\1234.tif' is deleted.

As with read command, multiple steps write conversion commands may be used. For example, if one saves an image to a file named `D:\users\dopey\dot.gif', the conversion would proceed this way:

  1. i-display first writes the image to a temporary file (for example, `C:\Temp\1234.tif').

  2. Using the command described on the line prefixed by `GIF.Write:', this TIFF file is then converted to a Windows bitmap file using:

     
    convert C:\Temp\1234.tif C:\Temp\5678.bmp
    
  3. The temporary `C:\Temp\5678.bmp' is then be converted to the GIF file specified in the "Save Current Image" dialog box with the command:

     
    icv -o D:\users\dopey\dot.gif C:\Temp\5678.bmp
    
  4. Finally, `C:\Temp\1234.tif' and `C:\Temp\5678.bmp' are deleted.

Lines starting with a pound sign (`#') are comments and will be ignored. They may appear anywhere in the file. Also note that the order of appearance of each line in the file is irrelevant: they may appear anywhere, as long as there is a recognized prefix before the colon.


7. Hardware Related Information

With some versions of the NVIDIA driver, it is recommended to set the OpenGL Setting `Buffer-Flipping Mode' to `Use Block Transfer' instead of `Auto-Select'. This could prevent what seems to be a full-screen bug in the NVIDIA driver. It is recommended to consult the documentation of the system's graphics card driver to ensure ideal performance.


3Delight 3.0.0. Copyright 2000-2004 The 3Delight Team. All Rights Reserved.