LWVDR: The Virtual Darkroom for Lightwave 3D

VERSION 1.02 May 23,1999
See lwvdrrea.txt

Send your comments to:

(lwvdr@robgougher.com)

LWVDR is an image processing plug-in which simulates photographic capture of Lightwave rendered images.
It is based on "A Model for Simulating the Photographic Development Process on Digital Images",
by Joe Geigel and F. Kenton Musgrave in the SIGGRAPH ’97 conference proceedings.



Image from Lightwave's "Toys" scene before LWVDR processing,
after processing with Kodak TMax100&Polymax parameters,
and after processing with Kodak T100&SupraMax parameters.


Contents


Plugin Procurement:

Just click below, download the ZIP file (INTEL ONLY for now), uncompress that puppy into a local directory on your machine and follow the install instructions in the next section.

lwvdr.zip


Plugin Installation:

Place contents of Lwvdr distribution plugin directory (Lwvdr.p) in your Plugins/Layout directory.
Enter Layout.
Select the Options panel.
Select "Add Plug-ins."
Make sure you are looking in Plugins\Layout.
Double Click the file "Lwvdr.p".

You should see the message:
1 server(s) found in plug-in file "<NewTek Directory\PLUGINS\LAYOUT\Lwvdr.p"

 


LWVDR Usage:

Once installed, LWVDR is called from the Effects Panel, under the Image Processing Tab's Image Filter Plug-ins area.
The UI is organized into the following five folder tabs: Basic Settings, Spectral Sensitivity, Film Curve, Paper Curve and MTF Curve.
Additionally, the UI has the following four global settings which appear at all times: Output Type, Reset to Default, Save Current Settings and Load New Settings. Each UI control is explained in detail below.

Global & Basic Settings:

LWVDR GUI: Basic Settings Tab

Global settings are the four controls located at the top of the LWVDR GUI. These controls are always visible, not matter which tab is selected.

Output Type: This control specifies whether the output image is to be Black and White (single plane grayscale) or Color (3 plane RGB).

Reset to Default: The user can use this control to reset all of LWVDR's controls to default values, such as TMax100 Film and PolyMax Paper for Black and White or T100 Film and Supra Paper for Color.

Save Current Settings: This control allows the user to save current settings to a *.vdr file.

Load New Settings: This control allows the user to load settings from a *.vdr file.

Basic Settings are those controls that configure the LWVDR pipeline, with the exception of curves and sensitivities.

Negative LUX: Illuminance value for the negative pass, analogous to scene capture with a camera. This value can also be regarded as scene brightness.

Negative Time: Exposure time for negative pass. This value can also be regarded as the exposure setting on the virtual camera.

Positive LUX: Illuminance value for the positive (printing) pass. This value can be regarded as the brightness of the bulb in the enlarger or printing mechanism.

Positive Time: The exposure time during the printing pass. This value can also be regarded as the exposure time for the virtual enlarger.

Enable Scattering: Checking this control will enabling the internal scattering module of the image pipeline.

Negative Width: This control sets the width, in millimaters, of the virtual negative. This value is used in scattering and grain calculations.

Negative Height: This control sets the Height, in millimaters, of the virtual negative. This value is used in scattering and grain calculations.

Enable Grain: Checking this control will enabling the grain module of the image pipeline.

Selwyn Granularity: This value controls the intensity of the grain. Increasing this value increase grain, decreasing it will decrease grain.

Spectral Sensitivity Settings:

LWVDR GUI: Spectral Sensitivities Tab (Black & White)

The Spectral Sensitivity Tab takes on a different look depending on whether Black and White or Color ouput is intended. The screen shot above shows the black and white spectral sensitivity controls.
These controls allow the user to specify what percentage of the red, green and blue planes of the input image (analogous to the scene being captured by a virtual camera) will be used when the three planes are combined into a single Black and White image. This transition takes place in the negative (first) pass. During the printing (second) pass, there is only a single input plane, so spectral sensitivity is not used. The Black and White Tab has the following controls:

% Red Input: Specifies the percentage of the Black & White output plane that is contributed by the red plane of the input image.

% Green Input: Specifies the percentage of the Black & White output plane that is contributed by the green plane of the input image.

% Blue Input: Specifies the percentage of the Black & White output plane that is contributed by the blue plane of the input image.

Spectral Sensitivity Settings (Color):

LWVDR GUI: Spectral Sensitivities Tab (Color)

The Color Spectral Sensitivity Tab contains six sets of RGB percentage controls.
Each trio of controls (% Red Input, % Green Input and % Blue Input) specifies the percentage of the Black and White output plane that is contributed by the input image plane named in the control.

The six trios of RGB controls are organized as follows:
UPPER LEFT: Determines Red Output Plane of Negative Pass
UPPER MIDDLE: Determines Green Output Plane of Negative Pass
UPPER RIGHT: Determines Blue Output Plane of Negative Pass
LOWER LEFT: Determines Red Output Plane of Positive Pass
LOWER MIDDLE: Determines Green Output Plane of Positive Pass
LOWER RIGHT: Determines Blue Output Plane of Positive Pass

For example, the trio of RGB controls in the upper middle will determine the makeup of the green plane of the output of the negative passes spectral sensitivity module. If one uses the settings in the diagram above, the pixels of this plane would equal 15% of corresponding pixels of the green plane of the input plus 0% of the red and blue planes.

Film Curve Settings:

LWVDR GUI: Film Curve Tab

The Film Curve Tab allows the user to enter up to 21 pairs which define the characteristic curve of the film to be simulated.
For each (X,Y) pair, the first value (X) represents Log(Exposure) and the second value (Y) represents the Density.
Points should be entered in order starting with Pt. 01.
If output is set to color, curves must be set for each output plane by selecting the appropriate Red Plane, Green Plane or Blue Plane Tab.

Paper Curve Settings:

LWVDR GUI: Paper Curve Tab

The Paper Curve Tab allows the user to enter up to 21 pairs which define the characteristic curve of the paper to be simulated.
For each (X,Y) pair, the first value (X) represents Log(Exposure) and the second value (Y) represents the Density.
Points should be entered in order starting with Pt. 01.
If output is set to color, curves must be set for each output plane by selecting the appropriate Red Plane, Green Plane or Blue Plane Tab. (Screenshot for Paper Curve shows output set to Black and White and therefore does not show Red, Green and Blue Tabs.)

MTF Curve Settings:

LWVDR GUI: MTF Curve Tab

The MTF Curve Tab allows the user to enter up to 21 pairs which define the curve of the Modulation Transfer Function used for Internal Scattering Calculations.
Points should be entered in order starting with Pt. 01.
If the output is set to color, the same MTF curve is used for each plane.
For each (X,Y) pair, the first value (X) represents a given frequency and the second value (Y) gives the percentage power response of the image at that given frequency.


Sample Images:


Original Image

Processing with TMax100/PolyMax and T100/SupraIII

Processing with TMax100/PolyMax and T100/SupraIII with Grain of .0015

Processing with TMax100/PolyMax and T100/SupraIII with Grain of .0045

Processing with TMax100/PolyMax and T100/SupraIII with Scattering of a default 32 mm x 24 mm virtual frame. Notice there is no significant effect.

Processing with TMax100/PolyMax and T100/SupraIII with Scattering of a 3.2 mm x 2.4 mm virtual frame. Notice some distortion.

Same as above with Grain enabled. Notice that as the frame size shrinks, grain intensifies.

Processing with TMax100/PolyMax and T100/SupraIII with Scattering of a .32 mm x .24 mm virtual frame. Distortion is extreme.

Same as above with Grain enabled.


Limitations:

Your Primary Limitation is memory.

For video size (640x480) images, 32 megabytes or more should be adequate.
At higher resolutions, enabling internal scattering will make severe demands upon memory and may cause system crashes. This problem is still being explored.


Please send any comments or suggestions to:

Robert A. Gougher

Rob Gougher (lwvdr@robgougher.com)