VoreenVE (Voreen Visualization Environment) is an application developed to construct processor networks for Voreen with an easy to use graphical user interface. The underlying concept is based on the idea of dataflow networks found in many image processing environments. VoreenVE allows to create complex rendering networks by simply dragging the desired processors into the workspace by using the mouse and connecting them by drawing the required connections.
The following screenshot shows a typical state of a VoreenVE session:
VoreenVE can be used in development mode and visualization mode. Rendering networks are constructed in the development mode. Switching to visualization mode hides the network editor and displays a larger visualization window. While the layout of the rendering network cannot be changed in visualization mode, it is still possible to modify properties of the processors in the network. However, property editing in the visualization mode is restricted to those properties, where the eye symbol is set in the development mode.
The same network in visualization mode looks like this:
The picture below shows the toolbar entries and their function.
VoreenVE can save and load workspaces. Workspaces are the project files of Voreen, which contain and store the entire state. Networks contain just the current rendering network, and can be exchanged between workspaces by using the export/import functionality.
This image shows how a processor is displayed in the VoreenVE network editor:
A processor can have several kinds of ports: inports are located on the upper side of each processor item, outports are found on the lower side, and coprocessor ports are placed on the left.
In the network editor the graphical representation of the current network is shown. In order to build a dataflow network, you can simply add new processors by dragging them from the processor list into the network editor. Processor can be connected via their different ports, however the port types have to match (different types are identifiable by their colors).
Ports are connected by pressing the left mouse button over an outport (located on the lower side of a processor) and dragging the appearing arrow to an inport (on the upper side of a processor). The arrow indicates whether a connection to the inport at the current mouse position is possible or not by changing its color to green respective red. Releasing the mouse button over a valid inport (green arrow) creates a connection.
In the following it is described, how a network can be modified by the user.
For arrow connections that handle image data, the intermediate result can be shown by hovering the mouse over the connection arrow until a tooltip appears:
Within each canvas you can rotate the camera by moving the mouse in the window while pressing the left mouse button. Using the mouse wheel or moving the mouse up and down while pressing the right mouse button, zooms the visualization. Pressing SHIFT and the left button moves the scene.
Properties are used to configure the selected processor. Changes become visible immediately in the rendering output. The eye symbols on the right of each property entry toggle its visibility in the visualization mode. In the following example, several properties have been set to be not visible in the visualization mode:
The processor list displays all available processors that can be used to build networks. You can search for processors by typing in the text box at the top. Furthermore, you can sort the list using the tool drop-down button, and the current code state of each processor is indicated by the colored dot. The text box in the bottom shows a brief description of the processor functionality.
You can add processors to your network by dragging them from the list into the network editor.
To load a data set click on "Load data set..." in the toolbar or in the file-menu. The data set is then added to the volume container. To render the loaded data set select the VolumeSource processor in the network and choose the data set within the combo box.
The render target view can be used to inspect intermediate rendering results. A left-click enlarges a texture, a second click shrinks it again. With the context menu, alpha-channels and depth buffers can be accessed.