Mode Volume VR

 

You use this mode to offer an immersive experience to expectant parents by placing them in a virtual environment where they can view and manipulate a 3D representation of their baby.

 

The 3D model should be visible "as is" without any edition.  The default interaction tools (the "touch" devices) only have very basic and intuitive use.  The trigger of either hand is used to "grab" the model and then the it is displaced by simple hand motions.

 

If the model is hard to see, the operator can enable the edition tool to remove some of the noise before handing the googles to the parents.

 

 

Note:

 

This mode is only accessible if you have an Oculus Rift and the Oculus Touch devices connected to your computer.

 

Also, from the Oculus settings menu, in the "General" section, you must allow program from "Unknown Sources" to run on Rift.

 

License:

 

If you do not have a valid license present, the 3D model will only be displayed for 15 seconds.  After that it will start to fade out.  It will completely disappear in 30 seconds.

 

 

From the Graphic Interface

 

 

 

Edition Tools

You can control the presence of the edition tools in the VR world.

 

None

You do not have any edition brushes.  Both hands are used to manipulate the position of the 3D object (both have the index trigger used to "grab" the object.

 

Basic

You only have access to a spherical brush and it only paint in the "Mask -" mode.

 

All

You have access to all 3 brushes (sphere, disk and tube) with all 4 edition modes ("Mask -", "Mask +", "GLI -" and "GLI +").

 

Preview

The software will attempt to show you all the polygons that are potentially affected by the edition operations using the selected color.

 

 

From the VR Goggles

 

The Volume VR mode take place inside a VR room, on both walls of this room you can find panels with a reminder of the interface associated with each touch devices. 

 

 

Edition Tools

Dominant hand

Second hand

 

None

 

Basic

 

All

 

There is also, on the side of your dominant hand, a panel showing some of the volume's parameters.  You can summon the VR setup pages by pointing and clicking the "Open Option Menu"  with the dominant hand.  Also, if one of the edition tools are enabled, on the other wall you will have an "Undo" menu that enable you to undo/redo any of the last few brush strokes.

 

 

 

 

Volume's parameters

Undo/Redo menu

 

 

The Dominant Hand

 

If the edition tools are enabled, your dominant hand hold the edition tool, and your other hand is used to grab and move the 3D model.  The basic edition tool is a sphere. If "all" are enabled, the other tools are a disk or a tube.

 

 

 

Sphere

Disk

Tube

 

The basic edition mode is "Mask -".  If "all" are enabled, then edition tool can be in one of 4 modes: "Mask -", "Mask +", "GLI -" or "GLI +".

 

Mask -

In the "Mask -" mode, the tool is red.

 

·If you press the index trigger then the mask for all the voxels inside the tool are marked with the flag "Delete".  Regardless of the actual voxel value, these voxels will always be considered outside the reconstructed surface.

·If you press the hand trigger, the tool is now in "Erase" mode, and the "Delete" value is removed from mask for all the voxels inside the tool.

 

Mask +

In the "Mask +" mode, the tool is green.

 

·If you press the index trigger then the mask for all the voxels inside the tool are marked with the flag "Inside".  Regardless of the actual voxel value, these voxels will always be considered inside the reconstructed surface.

·If you press the hand trigger, the tool is now in "Erase" mode, and the "Inside" value is removed from mask for all the voxels inside the tool.

 

Grey -

In the "Grey -" mode, the tool is yellow.

 

·If you press the index trigger then the numerical value for all the voxels inside the tool is decreased.

·If you press the hand trigger, the tool is now in "Erase" mode.  The index trigger is now used to restore the GLI values to their original (or loaded) value.

 

In both normal and "Erase" mode, the rate of change of the GLI value of the voxels is controlled by the pressure applied to the index trigger.

 

The rate of change of the GLI value is also multiplied by the "GLI Factor" from the VR page in the configuration.

 

Grey +

In the "Grey +" mode, the tool is cyan.

 

·If you press the index trigger then the numerical value for all the voxels inside the tool is increased.

·If you press the hand trigger, the tool is now in "Erase" mode.  The index trigger is now used to restore the GLI values to their original (or loaded) value.

 

In both normal and "Erase" mode, the rate of change of the GLI value of the voxels is controlled by the pressure applied to the index trigger.

 

The rate of change of the GLI value is also multiplied by the "GLI Factor" from the VR page in the configuration.

 

 

The buttons on the top of the dominants hand control can be used to change the tool mode and the tool's shape.  The horizontal movement of the thumb stick can also be used to change the tool's size.

 

 

The Other Hand

 

The second hand controls are used to garb and move the model.  Pressing the index trigger will grab the universe, and any movement of the hand will then be applied to the model.

 

The horizontal movement of the thumb stick is used to scale the model, while the vertical movement change the resolution of the model.

 

The buttons on the top of the interface can be used to activate the "Undo"/"Redo" functions.  Each brush stroke of the dominant hand are store in the undo.  There is also a button to open the menu page.

 

 

The Option Menus

 

The option menus can be invoked either by clicking the "Open Option menu" button from the side wall menu, of by pressing the "Option Menu" button on the non-dominant hand controller.  You can exit the menus by activating its "exit" button, clicking on the "Close Option Menu" button from the side wall menu, or cycling through the menu pages with the "Option Menu" button on the non-dominant hand controller.

 

Once the menu is open, the non-dominant hand hold the menu page and the dominant hand is use to point and click on the menu's buttons and sliders.  Sliders values can also be changed by moving the thumb stick left and right while the cursor is over the slider.

 

In the "Volume VR" mode, the option menu has 3 pages: "VR", "Volume" and "Light".  The "VR" and "Light" pages are similar to the pages found in the "Edit VR" mode.

 

The "VR" menu page

 

 

 

Filter Radius

This is the same value as the one defined in the "Mode Filter" interface.  It control the smoothness of the geometry.  It can go from 0.5 (anything smaller than 1 is equivalent to "no filter") to 10

 

Threshold

This is the same value as the one defined in the "Mode Threshold" interface.  In the mode "Volume VR", this value only has an influence on the displayed geometry if the "Voxel Opacity" use the threshold values (see the "Volume" menu page).

 

Haptic Feedback

When you either displace or edit the geometry, an haptic feedback is given to each hand with a small vibration.  You can control the intensity of this vibration.  The range goes from 0 (no vibrations) to 10 (maximum vibration).

 

GLI Edition Speed

When editing in "GLI -" or "GLI +" modes, this value control the influence of the brush.  The range goes from 0.5 to 10 on a logarithmic scale.

 

Voxel Grouping

If your graphic card is unable to maintain 90 frames sec. you can reduce the number of displayed voxels by grouping them together.  This is also controlled in the "More ROI" interface.

 

Dominant Hand

You can select which is your dominant hand.

 

Hand Model

You an select what geometrical model is used to display your hands.  The choices are: a model of the touch devices, a line drawing of a cube, or no models at all.

 

Display Room

You can select whether or not you want to display the surrounding room.

 

Hide back Faces

You can control whether back facing polygons are displayed or not.  This has no effect i the "Volume VR" mode.

 

Debugging HUD

This will display a series of HUD (Head's Up Displays) giving information on the Oculus VR processing.  For more information on these, please refer to Oculus' web pages

 

 

The "Volume" menu page

 

 

 

Hide Borders

Usually, the volume we want to see is inside the dataset, we can safely discard the voxels on the border of the dataset.

 

Voxel Size

The voxels can either be displayed as small cubes (off), or disks.  You can control the size of each disks.  The size should be big enough that they overlap, but not to big since it slow down the graphic refresh speed.

 

Voxel Opacity

The opacity of the voxels can come from either the gradient of its GLI values, from the GLI values themselves, or a mix of both.

 

 

 

Voxel Reduction

Current graphic cards are unable to display all the voxels in a typical 3D acquisition.  We therefore use some tricks to discard a great number of these voxels before they are displayed.  By default, these controls are set to "auto" and their values will change to keep the displayed refresh rate at 90 frames per seconds.  However, you can also set their values manually, or turn the optimization off.  If you set a value manually, and put back the control in "Auto", the auto mode might increase this value, but it will not decrease it under your set value

 

Minimum GLI: We reject a percentage of the voxels based on their numerical values.

 

Minimum Gradient: We reject a percentage of voxels based on the variation of their numerical values.

 

Back Face Removal: We reject all voxels whose gradient direction point away from the observer's position.

 

 

The "Light" menu page

 

 

 

 

Light Sources

You have access to 4 light sources plus the ambient light.

 

For the ambient light: you can control its color and intensity with the 3 "red", "green" and "blue" sliders.

 

For the 4 light sources:  You can turn them on or off.  You can control their position with the "Elevation" and "Azimuth" sliders, and you can control their color and intensity with the 3 "red", "green" and "blue" sliders.

 

As soon as the "Light" menu page is open, all enabled light sources will be represented by a yellow sphere in the VR world.  Also, the selected light source will be emitting rays in its own color, and 2 green circles representing the possible elevations and azimuth for this source will be displayed.

 

Material Presets

You have a choice of 10 preset materials.  Any changes you make to the properties of the currently selected material will be saved to a script if you click the "Save Data Files" option of the "File" menu.

 

Material Ambient

You can control the color of the material that will be affected by the ambient light color.

 

Material Diffuse

You can control the diffuse color of the material

 

Material Specular

You can control both the "shininess" and the color of the specular color of the material.

 

 

 

The graphic speed

 

To prevent any VR sickness, you should maintain a refresh speed of 90 frames per second.  Your refresh speed is displayed in the bottom right corner of the 3D screen.  If your graphic card is not powerful enough to maintain that speed, you have a few options you can use to try to help:

 

·You can decrease the resolution of the model.   This is changed with "grouping" option of the menus, or, if the edition tools are enabled, with the vertical motion of the thumb stick of the non-dominant and controls.

·You can change the default model use to show your hands from a model of the touch devices, to a simple line drawing cud\be, or even nothing at all.  This is changed either with the control interface on the wall of the VR world, or from the VR page in the configuration interface.

·You can stop the program from displaying a mirror image of the VR world in the 3D window.  This is changed from the VR page in the configuration interface.

·You can prevent the program from showing you the walls of the VR room. This is changed from the VR page in the configuration interface.

 

 

From the Display Area

                    

You can use the mouse to move the 3D model in the 3D window, it will also move it in the VR world.

 

By default, the display area is a mirror of the VR world.  It show the image as seen by one of the 2 eyes in the VR goggles.  You can change which eye with the "VR" page of the configuration interface or with the key shortcuts.  You can also have the program show an amalgam of both eyes.  in that case, the display will be an anaglyph that you can see in 3D with red/cyan glasses.  In that case you can also control the eye separation using the "b" and "n" keys.

 

At the bottom of the display you have 3 informations:

·Failed / OK.  This tells us if the program was able to display the graphic in the VR goggles. (If you do not wear the goggles, their display is turn off, and the Failed message will be displayed).

·left eye/right eye/anaglyph/off.  This tell us the status of the displayed mirror image

·refresh speed.  This is the refresh speed of the VR image.  You should aim for 90 frames per seconds.

 

 

From the Keyboard

 

The following commands are mapped to keyboard keys as a shortcut:

 

 

 

Key map

Action

 

 

v

Change the mirror image (left eye, right eye, anaglyph, off)

 

b / n

Decrease/increase the eye separation in the anaglyph mode

 

l

Toggle the VR world box visibility

 

h

Cycle through 5 modes of HUD display showing VR frame rate statistics

 

p

Toggle the back face removal mode

 

 

From the Command Line

 

System Variables defined in this library:

 

 

$VR_BOX

(U16)

Flag: 1= VR World Box is displayed

 

$VR_MIRROR

(U16)

3D display mirror image: 0=off, 1=right eye, 2=left eye, 3=anaglyph

 

$VR_HANDEDNESS

(U16)

Handedness: 0=right hand, 1=left hand

 

$VR_HAND_MODEL

(U16)

Displayed hand model: 0=none, 1=box, 2=touch model

 

$VR_HAPTIC

(U8)

Haptic interface intensity (0=off to 10=max)

 

 

Commands recognized in this mode:

 

VR: anaglyph (val|Inc|Dec)

Change the anaglyph red/cyan separation.

 

VR: box (val|On|Off|Toggle)

If =1, display the VR world box (default=1).

 

VR: mirror (val|Off|Right|Left|Anaglyph|IInc|Dec)

Status of the mirror image displayed in the 3D window (default=left).

 

VR: model (val|None|Cube|Touch)

Model use to display the user's hands (default=touch).

 

VR: handedness (val|Right|Left|Toggle)

Change the user's dominant hand (default=right).

 

VR: haptic (val|Off|Inc|Dec)

Touch devices haptic feedback intensity (from o to 10) (default=5).

 

VR: HUD (val|Off|Inc|Dec)

VR statistic HUD. values range from 0 to 5 (default=off)