The program's GUI is divided into four main parts, the menubar, the rendering area, the transferfunction and the toolbar for the rendering options.

1) Menu Bar
The menubar allows the user to load a dataset for rendering and a already existing transferfunction. In addition it is possible to save a transferfunction. There are, of course, shortcuts for these actions:
2) Toolbar
The Toolbar is divided into two tabs.
The first one is for the Slicing Mode for the 2d visualisation of the data. The user has to set the axes of the slice (xy means that he can now see the slices along the z-Axis, etc. ). The slider below the radio buttons is to switch between the different slices. As the the length of the three axes vary, the maximum value of the slider changes if another display axis is choosen.
Raycasting Tab:
The raycasting tab is responsible for the setting of the 3d rendering options. At first it is possible to switch between three different modes:
As mentioned before the levoy raycasting depends on the algorithm from Marc Levoy. There are all intensity values along a ray considered until the maximum intensity is achieved. The visibility and rendering color of the different intensity values is depending on the settings in the tranferfunction.

The First Hit Mode differs thereby that just the first intensity value on the ray is shown (depending on the transferfunction), so the alpha values of the layers are unaccounted.


In the MIP mode the values with the highest intensity value along a ray are rendered.


Dz-Slider: This changes the 'dz' value of the raycasting algorithm.'dz' describes the step width for getting samples throughout the ray. The smaller the value, the more samples are used in one ray. Thus, because of the algorithm, the intensity increases, because more voxel colors are added to each other for one pixel.
3) Transferfunction
The transferfunction is the tool for the user, where he can set what exactly should be rendered on the the screen.

A histogram of the intensity values is shown. The nodes on the histogram define the alpha value of the specific intensity values. As default the alpha value for the lowest intensity value 0 and increases linear until the highest intensity value where the alpha value is 1. The user can now add (by leftclick on the mouse) and remove nodes (by rightclick on the mouse) in the transfer function. By defining nodes the user can set which intensity values should be visible and in what extent.
The nodes can be moved too, but just between the two surrounding nodes. The first and the last node can not be deleted or moved in x axis.

Furthermore it is possible to highlight layers with a certain intensity value through assigning colors to them. Below the histogram is a color bar, as the default the color for the first value in the histogram is black and for the last one is white, between them is a color gradient generated. The user can now add colors to the bar by clicking under it, then a new colornode is created. With double click on the node appears a color picker where the user can set the desired color. The color node can be removed by right clicking on it.


The slider on the left side of the transfer function is to zoom into the transfer function.

By pressing on the apply button on the right side of the transfer function, the settings made in the tf are used for the raycasting.