# VoreenVE - Getting Started

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.

## Table of Contents

- Main Window
- Toolbar
- Network Editor
- Canvas Interaction
- Properties
- Processor List
- Loading Data Sets
- Render Target View

## Main Window

The following screenshot shows a typical state of a VoreenVE session:

- The green numbers indicate the main components:
  1. The network editor shows the current processor network and allows the user to modify it interactively.
  2. The canvas window shows the result produced by the current network. When there are multiple canvas processors in your network, also multiple canvas windows will appear.
  3. The processors list shows all available processors. These can be used to construct networks.
  4. The properties allow configuration of the selected processor.
  5. The volume container shows the currently loaded volumes.

### Modes

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:

## Toolbar

The picture below shows the toolbar entries and their function.

- New Workspace - Create a new empty workspace.
- Open Workspace... - Load an existing workspace.
- Save Workspace - Save the current workspace.
- Save Workspace as... - Save the current workspace under a different file name.
- Load Data Set... - Load a volume data set (See Loading data sets).
- Load DICOM Slices... - Load the content of a directory containing DICOM slices (only available when Voreen has been compiled with DICOM support).
- Export Network... - Export the current network.
- Import Network... - Import an existing network, replacing the current network in the workspace.
- Quit - Exit Voreen.
- Development Mode - Switch to development mode.
- Visualization Mode - Switch to visualization mode.
- Processors - Hide/show the processor list (only available in network mode).
- Properties - Hide/show the property view.
- Volumes - Hide/show information about the currently loaded volume data sets.
- Input Mapping - Hide/show the currently set input mapping for handling keyboard and mouse events.
- Debug Console - Hide/show a debug console containing log messages.
- Render Targets - Hide/show the render target view, which shows intermediate rendering results, useful for debugging.
- Snapshot - Save the content of one of the canvases into an image file.
- Animation - Create animations using camera paths and save these animations as videos.
- Rebuild Shaders - Rebuild all currently load shader programs, which allows runtime shader editing with external programs.

### Networks and Workspaces

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.

## Network Editor

### Processors

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.

### Creating Dataflow Networks

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.

### Working with Networks

In the following it is described, how a network can be modified by the user.

- A processor can be selected by clicking on it. Multiple processors can be selected by holding the CTRL key and selecting another one or by spanning a rectangle around the processors using the left mouse button.
- A processor can be moved by clicking on it, moving it to the desired position and releasing the mouse button.
- Renaming a processor can be done using the context menu.
- Processors and arrows can be deleted by selecting them and either using the delete entry from the context menu (just for processors) or by pressing the DEL key.
- The zoom level of the network view can be altered via the mouse wheel or by using the + and - keys.

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:

## Canvas Interaction

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

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:

## Processor List

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.

## Loading Data Sets

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.

## Render Target View

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.