TerraStereo User Manual

# Introduction

TerraStereo is a software tool used for working with point clouds using work flows that benefit from the use of stereo display.

You need a PC with 64-bit Windows OS and a point cloud data set to use TerraStereo. Data set can either be a TerraScan project saved as LAS1.2/1.4 or FastBinary format or it can be a set of LAS1.2/1.4 files that have the same scale and the same origo in xyz point format.

To view points in stereoscopic mode you also need to have compatible stereo display hardware or then use anaglyph stereo.

To increase the speed of rendering and in order to use HiRes point clouds, you need a compatible GPU (see hardware requirements).

For using the optional CAD plugin option you need Bentley Microstation license and (for stereo viewing) compatible hardware.

### Features

Handle up to 100 000 000 000 points

High quality rendering

Digitizing vectors manually using the point cloud

Classifying TerraScan groups manually

Interactive and storeable measurements: distance, area and angle

Stereo support (static, automatic and centered cursor modes)

Support for GPU for increased performance

Advanced shading options like surfel shading on GPU mode

Automatic TerraScan -trajectory based fly-through mode

Stereo image recording option for short animations and still stereo image pairs

View reference vector models using shape files or ASCII files

CAD plugin option for Bentley Microstation (also in stereo) and Spatix (in mono)

HiRes PointCloud support

#

# Additional Licensing Terms

For a valid license TerraSolid license agreement terms and conditions are used.

With a valid license of the software you are additionally entitled to redistribute certain versions of TerraStereo binaries together with your own data set(s).

You are only allowed to edit the following file in the installation package in order to adjust the initial configuration:

-colortable.txt (classification coloring used)

If you do modify this file you must also rename the installation package by adding your company name after the package name (eg. TStereo_win64_eng_v022_001.zip -> TStereo_v022_001_myCompany.zip)

The remaining of the installation package must be distributed 'as is' - you may not remove or modify any other files from the redistribution package.

The version of the binaries distributed must match your license - you may not redistribute newer versions of the software than what your license is valid for.

### Using software without the license in 'free mode'

You can use the software without a valid license in free mode; it is a 'free' mode not an 'evaluation'.

Software automatically limits the functionality and performance in free mode.

You do not have right to redistribute software binaries, for this you need a valid license.

### Software Setup

TerraStereo uses the same setup and licensing system than the other TerraSolid suite of software. The main difference is that the installation of a CAD platform is not required. This also means that the standalone program cannot use the environmental variables defined inside the CAD system and thus the setup is slightly different. Note that the current version does not yet support stereo views on Spatix CAD platform.

The setup will ask the location of MicroStation CE. If that is not installed, leave the field empty.

TerraStereo setup installs all three modules: Standalone and CAD Plugins for Bentley MicroStation and Spatix. If the particular CAD platform(s) is/are not installed, the environment variables will not be set up for that/those.

Other software setup is related to GPU drivers and their settings. To get stereo viewing working it usually requires some time to configure the different systems. A walk through is explained in the appendix.

### Instructions for CAD Plugins

Before using CAD plugins, make sure that you can run the software in standalone mode. CAD plugins only work in GPU mode, so you have to make sure that your GPU is compatible and drivers updated.

#### Bentley MicrosStation

Load the MDL-application by typing <mdl load tstereo> from the keyin or use mdl loader dialog.

Click help icon on the opened toolset.

Alternatively you can open a file TStereoUG.pdf from docs folder in the Terra -installation directory using file manager (eg. c:\terra64\docs\TStereoUG.pdf).

Note that passive two monitor stereo system with a single side monitor (all three at the same resolution) is the only hardware configuration supported for stereo mode in CAD plugin.

#### Spatix

Load the app by using IxApps/Execute. The tstereo.ix is installed into terra64/app -folder. In the current version some of the functionality (dynamic cross sections, stereo view, plane cursor, view synchronization) are not implemented yet in Spatix CAD plugin.

###

### Quick Start for Standalone Program

To start a program in stand-alone mode double click TerraStereo.exe icon in the installation folder (or create a short-cut for it somewhere else and use that).

Note – where there is a reference to LAS1.2 format it is there for the biggest compatibility reasons. LAS1.4 files will in general also work with TerraStereo, but the extra features (eg. extended classification flags etc.) will not be available and used.

Create a visualization:

1. Open a previously made TerraScan project with LAS1.2 or FastBinary storage blocks and around 25 million points per block (other block sizes will also work; 25 million points is just the recommended for best performance) or create a new project from LAS12 files

2. Check the required visualization channels (typically rgb, intensity and classification)

3. Set classification mask according to the specific visualization needs from file/mask

4. Create required additional channel(s). Note that creating arithmetic channels (density, surface) can take a very long time on a CPU mode. Also – even if some older GPU's are supported and they might work well for basic channels they can be too slow for Surfel -based channels (especially for creating the channel).

5. Adjust the visual appearance of the selected channel using main and channel tabs from the main window

### Workflow for Feature Extraction

Convert the project.

Use the feature list from Points/Feature Selection and either use the default or create a new features. The codes and colors are used when exporting the vertices and the style and width of the lines are used when drawing them inside TerraStereo. The feature table is compatible with TerraSurvey mapping software, but only the linear drawing methods are supported in TerraStereo.

Then choose the type of the digitizing you want to perform. For linear breaklines or 3d-borders it is usually best to use centered mouse stereo modes. For planar polygons one has to currently use the non-centered mouse mode.

3d-line strings: Use static centered mouse mode from popup menu (right mouse button + shift) to set the stereo parameters that work best for you. Then use either this mode or locked centered mouse mode (works better for system mouse, but locks the mouse) to digitize.

After digitizing a suitable amount, export all shapes using Points/Export all shapes. You can later import the same digitizing back to continue or you can use TerraStereo CAD plugin or any mapping software to read the row-based export data in. TerraStereo installation installs automatically also CAD plugins for Spatix and Bentley Microstation. Using this plugin it is possible to read in the features digitized with TerraStereo application.

TerraSurvey also supports the feature coding so you can directly read in mapping elements instead of just colored lines. TerraSurvey also enables exporting data out from the CAD in TerraStereo format (for previously mapped reference lines).

### Workflow for Classification Editing using Groups

First you need to create the groups and initial classification using TerraScan.

After that is done, then convert the project. It is recommended to convert also Surfel -channel for using HiRes -point clouds if possible to get the full benefit from the stereo viewing system and adjustable color blendings. After project conversion create TerraScan Groups -channel.

Select any group -based channels and then set the visibility and snapping using File/Classification visibility. The non-snappable but visible classes will be the reference point clouds and the snappable ones will be the editable ones. Non-visible classes will be removed from the display (handy for example for scanning artefacts cleaning).

If you are using surfel channel you can also set the focus class. This class will be colored with special highlight, so you can see how complete and error free the particular class is during the editing.

To start editing, just press shift + left mouse button on top of the group to choose it into a selection set. With group select cursor you can select multiple groups by just hovering the mouse over them and pressing shift. The cursor radius can be adjusted with ctrl+wheel and you can also remove the groups from selection set by using space bar to switch between the mode the groups are shown. Modes are: Highlight selection set, hide selection set and show only selection set.

In order to trim groups you must select the point select cursor and press shift on top of the group you want to edit.

After work is complete, it can be committed back to TerraScan project using Groups / Commit -tools.

# File Menu

## Create Project from LAS or FBI files

Makes a project file from user selected LAS1.2 or TerraScan Fast BInary files. The files need to be stored in the already projected coordinates (xyz) with the same offset and scaled either to cm, mm or 1/10 mm. Note that the coordinate transformations from angular presentation to particular xyz projection will not work; they are presumed to be done in TerraScan.

If you create the project with TerraScan, you will get this kind of project automatically. This is most useful for already processed and stored LAS or FBI blocks (eg. map blocks in the city), when only a subset of the total dataset is needed.

## Open /Convert TerraScan Project

Loads a previously converted TerraScan project files or converts the project if that has not been done. All the converted files are under <octree> -folder inside the TerraScan project folder. Large projects may take a while to convert.

The current version supports LAS1.2/1.4 or FastBinary based files under TerraScan project.

If the project is not already converted, the dialog for creating the initial channels is popped up first. Use 'Create 3D Shadow Project' option to create 3D blocks from the original TerraScan 2D blocks. This is useful for projects that have multiple floors or otherwise wide local elevation range or just large block sizes. The resulting visualization blocks will usually be much smaller than original blocks. With this option there will also be a project file named project_shadow.prj on the same folder than the original project file (the original project file will be left intact). This shadow project itself cannot be opened with TerraScan or TerraStereo; you should always use the original project file when opening the project.

If you have a very large project (10-200 billion points), you should first use a small subset of the blocks to create the visualization especially if you need to fine tune the parameters. For optimum performance the block size in TerraScan should be around 25 – 50 million points per block depending on the GPU used (a typical value that also works well on TerraScan).

When converting a project it is possible to add .ptc file into the visualization and create two separate layers. If layers (a set of point classes) are selected then channels are created separately for both layers using only the points in the current layer. A typical example is to use ground and low vegetation as a separate layer in order to make the visualization of them behave and look like like a terrain model. Note that all the arithmetic parameters are also calculated per layer only, so if the user mixes the layers by changing the used classification maks after project creation the values for example for the point cloud density will not be valid compared to points one sees on the screen. The layers are best suited for specific situations – for generic good visualization results using layers one can maybe use a criteria for selecting classes with low density to a different layer than classes with high density. This results better surface visualization for different kinds of surfaces (less noise in the vegetation and more detail in the pavement).

The scanner frequency (scan frequency, not point frequency) and trajectories used can also be specified here – these are then used together with the optional layers to improve the quality of the surfels. You can also crate different channels later using the similar layers; the dialog here just makes it convenient for creating a batch process for multiple channels.

To clear the visualization project and all channels just empty the <octree> folder manually or use File/Update/Reconvert project -menu.

## Sessions

With sessions you can save and restore your current project working settings like stereo settings and camera position, classification visibility and rendering settings as well as a mission and image list setup needed for HiRes point clouds. When you continue working, just load the previously saved session.

## Classification Visibility

This menu item is enabled if the classification channel has been generated previously for the current project. Setting the classification visibility will not affect current coloring but it will mask off all points in the unwanted classes from display.

The classification channel is stored as a 8-bit channel, but the octree can currently handle only 32 first classification codes. This means you are able to adjust the visibility of all 256 classification codes but the effect of this is only seen in a point blocks that are close to the viewer. For faraway points the octree visibility function has to be used and there you only can adjust 32 first codes.

If a TerraScan ptc -file is available and stored as part of the terrascan project (a reference needs to be found from the .prj file) the classification visibility window will use that instead of the default one. Alternatively, you can also attach a separate .ptc file from this dialog using 'Attach PTC' -button. The link to this attachment will be saved together with the session.

If a grouping based channel is created an active, then the classification visibility dialog shows two lists; one for snapping and one for visibility. It is not allowed that the point can be snapped although it is not visible. The idea here is that points that are already properly classified (like ground and low vegetation) can be visible but at the same time cannot be snapped. This makes it possible, for instance, to pick up the groups that are above the road without selecting the road itself.

## Channels

Set the visualization channel to a previously created channel. Note that Black/White and Elevation channels are implicitly defined and thus need not to be generated. Note also that all channels are not available to create on GPU mode. Channels supporting HIRES point clouds are thos that are based for the Surfel -channel. For other channels the image list will not be used (but it will not be deleted from the session configuration, if you change the channel to an ordinary channel and then come back to a HIRES channel).

## Create

Creates a visualization channel from the points to be used later on. Creating a channel can take a long time, especially the arithmetic channel. To stop the processing mouse click on the progress bar.

## Update

Reconverts TerraScan project. Use this to update changes into the visualization if you have made changes to the project.

Table of Channels
No color | No coloring – maximum amount of points can be loaded and the channel is implicitly available right after project conversion.
Local Density | Shows a local density map of the point cloud calculated for each point.
Surface | Surface like shading of the points. Prerequisite: Local density channel
Surfel | Instead of rendering points and shading them according to their normal vectors surfel rendering uses more detailed information about the poitn cloud properties and renders small disks that also get their initial color based on their 'dimension'. This channel requires a work horse GPU and is not supported on CPU mode. There are some problems with overlarge surfels in wire -like features and noise points and to reduce these artefacts there are some additional tools availble in the channel bar. Also the high contrast mode is reserved for similar 'point only' viewing than the remaining channels. The biggest benefit is in viewing the data in stereo. This channel is a pre-requisite for viewing HIRES Point Clouds. Prerequisite: Local density channel
Elevation | Show the absolute elevation of the point in multicolor spectrum of monochrome. In the current version there is no user defined spectrum option.
Elevation with Surface | Instead of basic white color of the surface rendering uses elevation color for shading. Useful for hires image creation of aerial data. Prerequisite: Surface channel
TerraScan Normal Vector | Surface rendering with TerraScan normal vectors. Ambient occlusion is not available in this channel but the precision of the surface normal orientation is better (32 bit vs 16 bit) Prerequisite: TerraScan calculated normal vectors
Classification | Colors points based on their classification. Uses colors mapped to a classification code defined in the .ptc file if the project refers to that. Since old .ptc file uses indexed colors the actual color table can either be exported from Microstation and/or manually edited (with a notepad). The file is in terra/tstereo/colortable.txt. For newer .ptf files the colors are used as they are defined in the file. If no coloring is defined uses default aerial classification colors.
Classification with Intensity | In addition to basic classification color uses intensity value for shading those. Prerequisite: Filtered or raw intensity and classification channels
Distance | The distance value calculated by TerraScan. The elevation coloring is used for distance coloring and there is a slider for adjusting the visibility of the points between 0..10 meters in order to inspect your ground points and/or to digitize some sharper corners if they are clipped off by the ground point classification routine. Use for instance visibility masking of ground, low- and medium vegetation points with pre-calculated height values from the ground and adjust the distance clipping near curbs or steep hills. Prerequisite: TerraScan calculated distance values
Intensity | Raw intensity coloring. The range of adjustment is 0..1024 (eg. 12 bits)
Intensity Filtered | An intensity channel that is created by filtering the raw intensity channel. Useful if the intensity is noisy and cannot be improved further by recalibrating. If the original intensity signal is superb then this channel should in general not be created. Creating the filtered intensity channel is only available in CPU mode. Prerequisite: Local Density and Filtered Intensity channels
Time Stamp | Shows the time stamps of the points scaled to the default coloring range. Note! Since big projects typically contain a wide range of time the colos scaling is usually not optimal.
Trajectory | Colors point with different drive paths with different color.
RGB Filtered | A filtered RGB channel analogous to the average intensity channel. Useful to clean and smoothen up the final point cloud for presentations; especially with mobile data. In general not useful for aerial data sets colored with high quality orthoimages. Creating the filtered RGB channel is only available in CPU mode. Prerequisite: Local Density channel and Filtered RGB channel
RGB Intensity | A rendering mode that takes the luminosity from the intensity and color from the rgb. Use slider to set the brightness of the intensity to the suitable value and then the rgbi slider to set the amount. Prerequisite: RGB and Intensity channels
RGB with Surface | Instead of basic white color of the surface rendering uses RGB color and then shades it according to the surface. Prerequisite: RGB and surface channels
RGBI with Surfel | Instead of surfel color the Surfel rendering uses RGB color and then shades it according to the geometry. Prerequisite: RGB and surfel channels
Groups | Displays TerraScan groups and enables different viewing and snapping for different classifications. The digitizing mode is replaced by group selecting and viewing mode. Prerequisite: Classification and TerraScan groups present in the source project files. Only fast binary files with groups enabled is supported.
Groups with Intensity | Highlights the snappable groups and renders the remaining visible groups with intensity. Operation similar to groups channel, but additionally require density and intensity. Only supported on GPU mode.
Groups with RGB | Highlights the snappable groups and renders the remaining visible groups with RGB. Operation similar to groups channel, but additionally require RGB. Prerequisite: RGB, Classification and Group channels
Groups with Surfel | Groups editing channel with Surfels. Prerequisite: Surfel, Classification and Group channels
Assigned Images with Surfel | If you have assigned images with TerraScan to each point, then HIRES mode will use the assigned image for rendering the particular point instead of finding the most suitable one by the position and orientation. Prerequisite: Surfel and Image Number channels

##

## Settings

Here you can set different user settings that define the operation of the program. If a setting is marked with an asterisk (*) changing it will require a restart of the program.

### Terra Base Directory

This directory is used to search the license and to digitize points into TerraSurvey.

### Recording Directory

The recording tool makes individual bitmap frames that take a lot of space; on the other hand it provides a very flexible way of inputting those frames into most movie makers or animation tools also in stereoscopic mode, since the left and right frames are exported separately.

### Hires image and max Window Size

A same frame buffer is used both for windowed real time visualization and hires image creation. An exceptionally large frame buffer will decrease system performance with GPU! Both real-time rendering speed and amount of blocks that can be loaded are reduced.

If the values given here are smaller than the screen size the window cannot be extended beyond these limits.

If the values given here are smaller than required for on-screen hires images the corresponding short-cuts are disabled from the camera menu.

For hires mode to work these sizes must be twice the window size in both directions.

### GPU Memory Allocation

The default allocation uses almost all available space from the GPU. If you want to use images in HIRES point clouds or want to leave some room for other applications, specify the amounts of memory reserved for point clouds here.

### GPU Memory for Images

The amount of memory used for images in HIRES point clouds. An example distribution for a 24 GB GPU could be 12000MB for point cloud and 8000MB for images.

### CPU Memory

A CPU memory defines the maximum amount of CPU memory the software will use to cache blocks of data before starting to drop the unused blocks. This should in general be at least 2 Gigabytes lower than the available system memory but also a bit more than the allocated GPU memory space for point clouds and images. If your system has a lot of ram you can increase this since it allows more smooth visualization of bigger dataset. For the previous example and 64 GB system RAM a good setting could be 40000 MB.

### RGB Actual Bit Size

There is no autodetect of the used bit size of RGB colors in TerraStereo, since that would require scanning through all the files in the project. The storage size for RGB can be retrieved from the file header, but TerraStereo always stores the RGB visualization channels as 8-bit so if the data has 16-bit actual bit size of the RGB channels, then one should use 16-bit here (otherwise one gets almost black point clouds).

### Background Gray Level

Sets the luminosity of the void areas (background) of the point cloud.

### Invert Shift

By default the mouse wheel forward / backward movement is slow and rotation with right mouse button is performed around the snapped point. If one wants to move faster and rotate the camera a shift key must be pressed.

If this option is checked the reverse of the above comes into effect. Mouse wheel forward / backward movement is fast and rotation with right button targets the camera. Pressing the shift key slows the movement down and rotates the model around a snapped point.

Note that currently in parallel projection mode the model is always rotated when the right button is pressed on the mouse regardless of this setting.

### Remote Desktop

For working in the remote desktop (usually no stereo is then possible) check this box in order to make mouse control a bit more easy. This may not work on all circumstances, but it is worth a try, if you are running the software from the server through Windows remote desktop.

### Force CPU Mode

The program automatically detects the GPU and if it does not find a suitable one it starts the operation in CPU mode. This can be forced by setting checking this option. You can either set it here or from tstereo.ini -file. Only use this if you are having problems with the graphics board driver resulting a hang up. Most features are not available in CPU mode.

### Use full XYZ Snap

If enabled, also snaps the XY direction of the view when using the standard cursor. Normally the cursor only snaps the depth of the points.

### Dynamic Cross Section

If enabled, shows the cross section under the cursor in the second view (if the view is open). You can either define the CS first and then set it dynamic or you can use the default definitions given on the left side in this dialog box.

### Stereo Mode

The setting of a stereo hardware is sometimes quite tricky. To make installation ans setup troubleshooting easier, TerraStereo by default starts with anaglyph stereo option. Only enable OpenGL stereo if you have stereo capable hardware correctly installed and configured, because even enabling it affects performance even if you toggle the stereo mode off from the camera menu during normal operation.

### Pupillary Distance, Monitor Distance, Window Height

Parameters needed to define the static stereo. They should in general be as close to real dimensions as possible. The window height means the stereo rendered view in TerraStereo height – not the whole screen height. Note that if you do not maximize the window to the screen the height will be even smaller. And when maximized you should still subtract the menu bar and toolbar heights (if used) from this value.

### CS Width, CS Thickness

Parameters defining the default cross section.

### Plane offset

The distance offsetting the used drawing plane from the detected plane. Can also be changed dynamically during editing using page up / home / page down -keys.

### Stealth Mouse

Configuration for Stealth Mouse buttons.

# Hires Point Cloud Menu

Here you can add TerraPhoto mission in order to use HIRES point clouds.

## Attach TerraPhoto Mission

Promts to select mission and associated image list. Remember to save the session after linking the project to the mission!

Only nadir or slightly tilted images are supported currently. The camera must first be calibrated and lens correction for images applied using TerraPhoto.

## Detach Mission

Removes the link to the mission from the session. Also frees the memory from the images. Note that for quickly just viewing the channel in normal (eg. Not HIRES Point Cloud) mode, toggle rendering menu's 'no texture' field. This will not remove the mission or free the memory, it will just not display the images and you will only see the standard point cloud.

## Commit Index Changes to TerraScan Project

Writes the changes done to the image indexes back to TerraScan fbi -files.

# Groups Menu

Group editing is a powerful new manual classifying tool in TerraStereo. There are currently some limitations when using it with TerraScan projects.

-Only fast binary file format is supported

-The selection logic uses two bits of the full 32-bit group id and thus some very big projects can overflow.

-The neighbour group information of blocks that are next to each other is not updated if the groups are reflected back to TerraScan.

-It is required that the original point block files in TerraScan are not edited during the time the manual editing is performed in TerraStereo.

## Clear Selections

This clears all the current selections. This is needed to enable the File menu, if the points and/or groups are selected and the selection is not saved. The file menu is disabled as asafety precaution in order not to accidentally loose all the editing performed.

## Select All

When the cursor is in Point Selection Sphere -mode this will select all the points in the active group. To trim the selected points further one needs to go to view the selected points only (using <space>) and erase the nonwanted points away (a kind of inverse selection).

## Reset Current Trim

This cancels current trim and starts selecting the next group to trim.

## Trim Current Group

This ends the current trim and splits the active group into two separate groups. The selected part of the points remain in a new group and non-selected will remain in an old group. The new group will be set to selected and the software starts selecting the next group to trim.

The groups are not saved until the selected points are classified.

## Classify Selected

Classifies selected groups to a selected class and updates classification and grouping (visualization) files.

## Update Classification Visibility (Global)

On a dense and classified point cloud the octree reduction is perfromed on points that are views so far away that it is more economical (in terms of rendering speed and memory usage) to draw an just octree presentation than it is to load the associated block and render individual points. Whenever the points are classified the octree level classification is not immediately updated to make editing work more fluent. However, when inspecting the final work one should update the classification visibility in order not to see any confusing artefacts (from the octree presentation that was created from the classification status before the editing).

## Commit Classification Changes to TerraScan Project

Reflects the edited classification back to the TerraScan project. Note! In order to work properly it is requires that the TerraScan files are not changed during ths manual editing work.

## Commit Group Changes to TerraScan Project (Beta)

Reflects the edited groups back to the TerraScan project. Does not currently update the border group information.

# Points Menu

## Feature Selection (Beta)

Opens a feature list that can be edited to use different codes and drawing attributes when digitizing or importing vectors. The feature list is compatible with TerraSurvey, but in TerraStereo the rendering support for the drawing rules is limited. Supported style attributes are color, style and weight in addition to feature code being used when importing or exporting the vectors. Only the first linear drawing rule is used for rendering the feature.

## Clear Shape

Clears either the active shape or all shapes depending on the chosen sub menu selection.

## Export All Shapes

All digitized shapes are written into a selected or created ASCII text file. See chapter 'File Format for TerraStereo Shapes' for details.

## Import Shapes

Import an existhing ASCII file that is in the same format as exported shapes.

## Select Shape

An inactive shape can be activated later by selecting it with this menu command. After selecting is done the shape becomes active and can be edited normally.

## Digitize Mode

A single shape will either be a group of markers, a continuous line string, a closed loop polygon or a filled polygon. The mode can be changed during editing.

Please note that by default all the vectors are shown in right depth related to the point cloud. To view them more clearly choose a vector mode 'on top' (from the vectors pane / vectors option button).

# Measurements Menu

Regardless of the selected digitize mode the current shape can be entered into the system as a measurement vector that either has a length, projection length, projection area or an angle.

The labels that appear next to the shapes are always facing towards the camera. The units appended after the measurement are configurable through the settings.

# Rendering Menu

## High Resolution Still Image Render

Under this menu item you will find all available levels of higher resolution rendering options. Use it to render high resolution image to the window (instead of a file). Works best with TerraZ enabled and big point size. The mouse can be moved on top of the still hires image, but it will be reverted back to a normal resolution once any movement occurs.

## Tree Only

When this item is checked only the octree is drawn. This is handy when one wishes to view only the overall dataset (like a surface rendering from the ground points at the national level). If the check is removed the individual blocks start to load normally based on the camera location.

# Camera Menu

This menu contains commands and settings related to camera positioning, direction and trajectory. It also contains recording tools.

## Record View

Starts or stops recording individual frames into the storage path specified in the settings. All viewer movements and mouse movement that happens within the rendering area generates a new frame. Note that the recording is not at constant frame rate and when one is still and does not move the mouse there is also no frames generated.

## Record Reset

Resets the frame numbering of the recording.

## Take a Snapshot

Records a single (current) frame only. Useful for making a still images that can then later be converted into a suitable form depending on the presentation stereo display hardware.

## Create a Hires Snapshot

This creates a big raster image (.tiff format) using maximum point size settings. This feature is currently experimental and only creates mono images.

Minimum recommended hires image size is 5k x 5k, and you need to experiment to find a correct distance to view the points so that they are scaled in a suitable way – in general it is not useful to have too much void area between points.

The maximum total size of the image is 10k x 10k; but you can have other dimension larger if the other one is then smaller, like 15k x 3 k for visualizing a road surface.

To make things easier adjust the window to about the same aspect ratio than your hires image settings before creating the image.

## Attach to Trajectory

TerraStereo automatically tries to load all trajectories of TerraScan project if it finds them. If this menu option is disabled it means no trajectories were found.

If the trajectories are available selecting this menu will fit the view and show the trajectories in green color. The program enters trajectory selection mode in which the user can still move around the dataset as usual, but snapping to points is disabled and instead the snapping targets the different trajectories. Double clicking on the point on the selected trajectory will choose that trajectory and set the camera into that point facing the direction of the trajectory OR top-down with 15 m above the trajectory depending if the 'Use top-down view on Attach' is checked or not.

Now the backward/forward movement is directly attached to the trajectory line so instead of moving directly in space the camera is moved along the trajectory. The viewing angle is also automatically adjusted according to the pitch, roll and heading values stored in the trajectory.

User is not restricted to being on the trajectory – the relative viewing angle can be adjusted using basic mouse control and with <ctrl> key pressed the selected trajectory and user's anchor along it are shown while simultaneously enabling the user to offset the distance and position from the trajectory. A good example is to set the view to follow trajectory from suitable distance looking top-down on a highway data. First select trajectory and location along it, then press shift+T to orient top view and then hold down ctrl -key while adjusting the distance from the road with mouse (normal backward movement control for mouse). When the cntrl -key is released one can move along the road with arrow keys or with mouse.

If you want to view the data that is left or right relative to trajectory it is usually best to view it from some distance. In typical urban mobile dataset this results a view that is blocked by the walls on the opposite side of the road. Use front clipping adjustment (with point snapping, mouse wheel movement and ctrl -key) to clear the view from unwanted point data.

## Detach/Re-Attach

Detach command detaches the camera from the selected trajectory and goes back to normal movement mode. The last anchor point on the trajectory is stored and using Re-Attach command one can snap back to the previous location on the trajectory. The Re-Attach command can also be used to reset the offset and angles when already attached to the trajectory so that the camera location is on the anchor point and the view orientation is reset.

## Use Top-Down view on Attach

Controls the initial location and direction of the camera after attaching or re-attaching to the trajectory. If checked the camera is viewing top-down and its' location is 15 meters above the trajectory.

## Reset Clip

Removes any clip setting and shows all points.

## Position

You can use this command to save position and camera viewing angle into a file <position.txt> that is then written into recording -directory (given in the settings). One can then quickly restore the camera back to this position afterwards.

## Define Cross Section

To view a cross section you must first have a two point digitized in the active shape. Those will define the line along which the cross section will be viewed initially. On the secondary view the top view of the cross section will be shown and in this view the thickness of the cross section can be adjusted using keys 5 and 6. The cross section definition can also be started from the popup menu (shift + right mouse button). If you want your cross section to follow the cursor, set the dynamic cross section on. This can be set from the user settings or from the pop up menu (right mouse button + shift).

## Toggle Single/ Dual View Mode

Use this command to view the point cloud in full screen mode. Use <esc> key to return to normal two view mode.

Note that you cannot adjust any settings on full screen mode – only the menu commands are available.

## Attach Camera to Points

This locks your camera 1.7 meters above the elevation of the lowest dense layer of points found under camera's XY position. If you only have ground points visible, for instance, your position is locked to elevation. You can only pan sideways when in this mode.

## Define Mapping Cross Section

Makes a horizontal cross section view setup. The secondary view shows the camera and it's viewing frustrum and a horizontal cross section of 5 meters BELOW the camera. The primary view will show the view of the camera and the views are locked so one can steer the camera from the secondary view (use ctrl-wheel to adjust elevation).

# Controls

This menu contains settings related to input controls.

## Mouse wheel operation mode

Set the operation mode of mouse wheel either to elevation highlight or zoom/move (default).

## Locked Centered Mouse Mode

Changes operation to the centered mouse operation mode, where the system pointer is locked to the center cursor. Use pop up menu (right mouse button + shift) to exit back to normal operation mode.

Note that for a very big mouse movements in a windowed mode or if the application is changed by alt+tab the mouse can escape the window. Then the centered mode is no longer active and needs to be re-enabled in order to continue working with it.

Centered mouse operation has a different sets of mouse operation compared to the standard one – they are defined in the separate section in mouse controls chapter.

## Static Centered Mouse Mode [optional Stealth Mouse]

Changes operation to the centered mouse operation mode. However, the mouse will operate as a standard Windows pointer and the cursor movement can optionally be controlled with a Stealth Mouse type S4-Z. This mode also works without the Stealth Mouse and for some viewing tasks the movement commands linked to the system mouse can be a good choice. But they are also meant to be used as a navigation aid when digitizing with Stealth Mouse, since some of the movement functions are more fluently executed with a system mouse.

Stealth mouse is used in this mode to do the tasks similar to what the system mouse does in the locked centered mouse mode. Therefor - when mapping the Stealth mouse buttons one should map them so that the same shift/ctrl/mouse button clicks than defined for the locked centered mouse mode are mapped properly to Stealth mouse. Do not confuse these with the system mouse controls given in the associated Mouse Controls chapter for Static Centered Mouse Mode.

Although this mode can be used without the Stealth mouse, it is not designed for that and for example the system mouse button functions are not always very intuitive(you can press left mouse button anywhere in the view with shift to digitize the point under center cursor, for instance). However, without the system mouse support the navigation operations with just the Stealth Mouse are not that fluent especially when you pan bigger distances or rotate the model for inspection.

The Stealth Mouse buttons are configurable for different actions or control keys by the user and are behind menu File / Settings / Stealth Mouse. The Stealth mouse is automatically detected if it is present and correctly set up.

# Popup Menu

This menu can be brought up with a right mouse button click while holding shift down.

## Enable / Disable Snap on Class

These options are enabled only in group editing mode and they make it possible to enable/disable snap on classes one per time (instead of using the Classification mask dialog)

## Image Selection Mode and Assign Image to Selection (Beta)

This is only enabled for datasets that have image number channel stored. Switches the mouse wheel to scroll through the loaded images that hit the particular selected group(s) allowing one to choose which image to use for the points in a selection set (manually assigning an image to points).

## Full Screen

Maximizes the window to the full screen and removes all the borders and menus. This makes a better stereo -visualization especially for the standard stereo mode, where the screen plane is usually in front of the points. Note that it does not work with a side monitor systems.

## Static Centered Mouse Mode [optional Stealth Mouse]

Same as the Controls -menu command.

## Locked Centered Mouse Mode

Same as the Controls -menu command.

## Dynamic CS

Toggles the dynamic cross section feature. Note that even with the non-dynamic cross section the CS can be centered by dropping cursor onto points in centered mode(s).

## Define Cross Section

Same as Camera -menu command.

## Default Cross Section

Quickly creates a default cross section defined by the user in the settings. This is handy for generic digitizing.

# Operation Tabs in the bottom of the Window

Display
View | View orientation – relative to trajectory forward direction if attached to one
Rendering | Quality of the rendering. Hires requires processing power and bigger frame buffer.
Point Size | Size of a single point adjusted – this is adjusted by density and distance
Contrast | This is the type of TerraZ required; either with big borders and small color points (strong), or thin borders and big color points (medium) or full color (none). On surfel channel the operation is slightly different from the other channels although the contrast still varies from strong to none. The details slider together with point size adjustment determines the amount of border enhancement done for the edges in the point cloud.
Camera | Toggles projection between perspective and parallel. You might need to fit the view after changing this. For perspective mode there is also a scale setting and short cuts to commonly used scale levels that can be used to zoom instead of camera move.
Stereo | Toggles stereo mode. <static> fixes the stereo settings as they are input into the system through settings. Focus will increase the stereo effect while screen plane will move the screen farther away from the actual physical location (as perceived by the user). Just moving the screen plane far usually makes the initial stereo experience easy, but it has a poor close range depth separation and in the long run it will cause eye strain. If the settings parameters are set correctly, it is recommended to keep focus and screen plane both at zero, if this is suitable for the current task. <auto> the software automatically adjusts the stereo so that a good depth perception results. Focus will increase the stereo effect, but it is usually not needed. This is a nice mode for viewing a big dataset, since it will automatically scale the depth separation according to the viewing distance. For centered cursor mode the stereo is always set so that the parallax is zero at the cursor depth. This is usually easier for the eye even with a high stereo settings especially if the user near clip is set high enough or manual clip is used. In centered mode one can usually us a high focus setting. Use a static centered mode to set up nice stereo parameters. If you do not use Stealth mouse you can then switch for locked centered mouse mode for fast digitizing using system mouse.
Pointer – Standard | Basic cross hair. On group editing mode this cursor toggles the selection of the single group at the time only. All pointer modes adjust the size of the cursor with ctrl+wheel. In standard mode the size of the cursor only affects the visual appearance.
Pointer – Plane | A planar filled circle with a cross hair that orients itself according to a plane derived from the selected area's points. To keep the plane and still move the cursor around (for digitizing) hold ctrl down. You may freely move and rotate around and the digitizing plane will remain the same until ctrl is released. Note that if you have selected a planar shape type you can release the ctrl after the first point. This pointer makes it possible to offset the plane by pageup/home/down keys. The offset will always be towards the viewer side of the plane. In group trimming mode this cursor will select the points that belong to the half sphere before the detected plane.
Pointer - Cross Plane | A filled circle with a cross hair that orients itself according to a estimated cross section of the possible planes derived from the selected area's points. The area is selected with cursor size. The same logic applies for digitizing and plane lock as for plane cursor (see below).
Pointer – Group Select | Used for group editing. This pointer enables continuous selecting of groups by moving the cursor and collecting all the groups hitting the cursor 3d-sphere volume.
Pointer – Point Select | Used for group trimming. This pointer enables continuous selecting of points from within an active group by moving the cursor and collecting all the points hitting the cursor 3d-sphere volume.

Channel
Surface
Light Angle | Adjusts the angle of the light source. Only the vertical angle is adjusted. The horizontal angle is always kept in line with the viewing angle.
Shading Level | The amount of light (from the camera) that is not reflected back when the angle of surface is kept constant. Bigger contrast reveals small details but one has to set the light angle facing directly towards the observed surface, otherwise the scene will be quite dark.
Detail Level | The amount of ambient occlusion mixed to the shading.
Intensity / RGB
Brightness | The luminosity base level. The adjustment is 'gamma' style for RGB and more linear for intensity.
Saturation | The color saturation (disabled for intensity channel)
Luminosity Source
RGB ↔ Intensity | The amount of a linear mix between the intensity and RGB luminosity values that is used to get the actual luminosity value to use in the final color HSV decomposition. Saturation and hue are naturally directly from the RGB. The use of intensity as a luminosity source is useful in reducing sharp borders on shadows but it requires a good intensity quality.
Edges ↔ Full | The amount of edge enhancement used in the actual luminosity value. Works with the same logic as RGB vs intensity mix.
Hi-Res – Class | Luminosity from the HIRES -images or from the selected classification or group color mix
Focus Class | When editing classification with groups this will set the desired target class that is always highlighted in different color and can thus be separated from the snappable and reference classes.
Classification/Group | Specifies which channel to use for secondary coloring for points.
Surfel
Limit Surfel Size | There is a tradeoff between the scalability of the surfels and their visual quality when it comes to the low density parts of the point cloud. Use this control to limit the maximum allowed surfel size in order to reduce the artefacts.
Density
Clip | A fast way of dynamically removing some of the noisiest points from the visualization based on their density.
Distance
Clip | Clips the visible points based on the distance. Adjustment range is [0,10] meters and the highest slider position will remove the clip.
Elevation
Start Level | The starting level of the sliding color spectrum
End Level | The ending level of the sliding color sprctrum

User
Ergonomics
Near Clip | A rolling front clip that is used for adjusting how much of the view in front of the camera is clipped away. This is useful in some stereo equpments where it is preferred that the objects do not look like they are in front of the screen.
Interpupillary Distance | Adjust for the individual viewer.
Performance
Quality | The octet tree reduction level performed. If the dataset has visible square like artefacts from octree it may be necessary to set this higher.
Measurements
Label Size | The size of the text labels put on to the measurements
Delta Z | The amount of elevation increase/decrease for a centered cursor mode per mouse wheel movement

Trajectory
Movement Speed | Adjust the speed of the movement related to key pressing and mouse/automatic movement

# Mouse Controls (Standard Operating Mode)

Movement Control with Mouse
Mouse wheel | Move forward and backward either along the camera view or trajectory direction.
Left button pressed + motion (drag) Middle button pressed + motion (drag) | Pan left/right and up/down (leaves the cursor visible during drag operation)
Left button pressed + motion | Move forward and backward along the trajectory (only available when attached to one)
Right button pressed + motion | Adjust the angle of the viewing (not available in parallel projection mode)
Right button pressed + motion + shift pressed OR Both buttons pressed + motion | Rotate the model around. The rotation is done around the currently snapped point or (in case of no snap) around the octree coordinate. In void areas the rotation center point will be estimated. If the camera is top down then the rotation is done around z axis and center of view.
Mouse movement actions + ctrl pressed | Move/pan relative to the trajectory
Middle button pressed + motion | Rotate around viewers z-axis. The rotation will be reset (aligned with the horizon) after one turns the camera or rotates the model. Panning and zooming will not reset z-axis rotation.

Other Mouse Actions
Mouse movement alone | Search and snap points or search and snap trajectories
Mouse movement alone + shift | Group Selecting Sphere: Selects groups that hit the spehee. Point Selecting Sphere: Selects points that hit the sphere and belong to active group. If there is no active group sets the group under the cursor as active group
Mouse movement alone + ctrl | Stops snapping points and keeps the current depth plane active. The resulting plane depends on the cursor mode, for instance standard cursor just keeps the orthogonal distance to camera as constant.
Right click when mouse is still | Hide the mouse cursor
Left mouse click with shift – Digitizing mode | Appends a point into a digitized shape and also sets the distance measurement related to this point. If click is on a line between two existing shape points inserts the point between those points instead of appending it to the end of shape.
Left mouse click with shift – Group Selecting mode | Toggles the selection of a group.
Middle mouse click with shift | Tries to snap to a vertex in existing shape (either active or reference).
Right mouse button double click | Exports the currently digitized shape and makes it inactive
Mouse wheel movement | Moves fw/bw (perspective mode) or Zooms in/out (parallel projection mode). If mode is set to elevation highlight then sets the elevation highlight based on the snapped point.
Mouse wheel + ctrl + shift | Adjust the cursor selection or visual radius
Mouse wheel + ctrl (view lock only) | When views are locked one can adjust the elevation of the camera from the secondary view with this.

# Mouse Controls (Static Centered Mouse Mode [optional Stealth Mouse])

Movement Control with System Mouse (different to the Locked mode)
Mouse wheel | Move forward and backward towards the centered cursor. Maintains the elevation of the cursor.
Mouse wheel + ctrl [+shift] | Adjusts the height of the cursor [hold shift for a finer adjustment resolution]. The cursor is kept at the center (and in zero parallax in stereo) and thus the world around the cursor will move, when adjusting the height of the cursor. The adjustment step is defined in the user settings.
Left button pressed + motion | Pan the world in helicopter mode maintaining the cursor elevation and viewing angle. [Drag the existing vertex if the cursor is on top of it]
Right button pressed + motion [+ctrl] | Rotate the model around the cursor. Maintains the elevation of the cursor. [rotates only around world z axis]

Other Mouse Actions
Left button pressed +shift | Digitize point at the elevation of the cursor
Middle button pressed | Snap the cursor to the point cloud behind the cursor (eg. drop the cursor and move the world accordingly). Note that the movement can be quite a big jump if one clicks far from the center.
Middle button pressed + shift | Snap the cursor to the existing vertex (and adjust the elevation) and automatically create a new vertex here. Cancel the inserted vertex using ctrl-z (useful for just snapping the elevation from the vertex).
Vertex snap active and left button pressed + motion (drag) | Move the snapped vertex. While moving you can also adjust elevation with a wheel.
Left mouse double click (on top of an existing vertex and no active shape) | Choose the shape for editing (continues the edit from the last vertex of the selected shape)
Right mouse button double click | Exports the currently digitized shape and makes it inactive

# Mouse Controls (Locked Centered Mouse Mode)

Movement Control with Mouse
Mouse wheel | Move forward and backward towards the centered cursor. Maintains the elevation of the cursor.
Mouse wheel + ctrl [+shift] | Adjusts the height of the cursor [hold shift for a finer adjustment resolution]. The cursor is kept at the center (and in zero parallax in stereo) and thus the world around the cursor will move, when adjusting the height of the cursor. The adjustment step is defined in the user settings.
Mouse movement [+shift] | Pan the world in helicopter mode maintaining the cursor elevation and viewing angle. [shift for more accurate movement adjustment – useful for checking the dynamic cross section view].
Right button pressed + motion [+ctrl] | Rotate the model around the cursor. Maintains the elevation of the cursor. [rotates only around world z axis]

Other Mouse Actions
Left button pressed [+shift] | Digitize point at the elevation of the cursor [autoincrement the position using the last interval if shift is pressed]
Middle button pressed [+motion] | Snap the elevation of the cursor to the point cloud behind the cursor (eg. drop the cursor and move the world accordingly). [keeps the cursor dropped during movement]. In oblique viewing the XY coordinates of the cursor are changed, since the cursor is not dropped to the direction of world z-axis (gravity), but to the direction of camera viewing instead. These directions are the same if the viewing orientation is top view.
Middle button pressed + shift | Snap the cursor to the existing vertex (and adjust the elevation) and automatically create a new vertex here. Cancel the inserted vertex using ctrl-z (useful for just snapping the elevation from the vertex).
Vertex snap active and left button pressed + motion (drag) | Move the snapped vertex. While moving you can also adjust elevation with a wheel.
Left mouse double click (on top of an existing vertex and no active shape) | Choose the shape for editing (continues the edit from the last vertex of the selected shape)
Right mouse button double click | Exports the currently digitized shape and makes it inactive

#

#

# Keyboard Controls

Keyboard Commands
F1 | Sets the drawing mode to 'create'. This is usually done automatically, but sometimes during shape editing (when inserting new vertices) the mode change is needed.
F2 | Sets the drawing mode to 'edit'. This is usually done automatically, but sometimes during shape creating (when editing current vertices) the mode change is handy.
F5 | Toggles the centered mouse modes between locked and stealth mouse mode. Useful for locked mode user to free the mouse.
Delete | Deletes a highlighted digitized point from the shape
Esc | Removes clip from selected view and also removes any view synchronization. On a full screen mode restores the default two window screen setup.
Page up / Page down | Zoom in / out (parallel projection) Move forward / backward based on the selected cursor (perspective mode). If Cross Section viewing is active, then these keys will move the cros sesction forward / backward. If plane cursor is used, these keys will change the offset used for plane.
Shift – Selection Sphere or Plane Cursor | Enables continuous selection of groups or points (no need to press the left mouse button)
Space – Group Selecting mode | Toggles the three viewing modes of selection: Highlight selected, Hide selected and Show Selected Only. Note that you can set other view to different mode during editing.
Up/Down | Move along the trajectory
0 (zero) | Toggle stereo on/off
1,2,3 and 4 | Adjust the cross section view zoom. 1 sets the original cross section zoom, 2 zooms out, 3 zooms in and 4 sets the zoom to 4x the original
5 and 6 | Decrease and increase the cross section thickness.
C | Clip points from the selected view that are closer than the snapped point
A | Finalizes active shape as an area measurement, where the vertexes are treated as having an equal z coordinate.
A+ctrl | Select all points from the current group wit Selection Sphere Cursor
E+shift | Finalizes active shape as an open line string or group of single points (depending on the digitizing mode).
Esc (+shift) | Removes clip from selected view and also removes any view synchronization. On a full screen mode restores the default two window screen setup. Only one clip is removed at the time (unless shift is pressed). The order of removal is: frontClip, farClip, view synch, singel/dual view.
G (basic editing) | Finalizes active shape as an open line string that measures the angle defined by the 3 first points in the chain.
G (group editing) | Toggles between standard cursor and point select sphere (CPU mode) or group select and point select spheres (GPU)
G (trimming) | Toggles between sphere and plane point selection cursor (GPU)
H | Sets the active view viewing horizontally; useful for cross section viewing.
L | Finalizes active shape as an open line string that measures the length of the chain projection to a z=0 plane.
L+shift | Finalizes active shape as an open line string that measures the true length the chain.
M | Toggles automatic movement mode on / off. In automatic movement mode the camera moves forward at speed that can be adjusted by the mouse wheel.
P+shift | Closes active shape (if there are at least three datapoints in it) and sets it to a closed filled polygon.
R + shift | Reverse the order of vertices in the shape (useful for continuing digitizing from the other end of the line string)
R | Toggles recording frames on/off
S + shift | Closes active shape (if there are at least three datapoints in it) and sets it to a closed open polygon.
S | Take a snapshot image (record a single frame).
T+shift | View from the top and orientation reset (north in the top of the window)
T | View from the top without other orientation change
U | Clip points from the selected view that are farther than the snapped point
W | Toggle the mouse wheel operation
Z | Finalizes active shape as an open line string measuring the sum of the magnitudes of the height of each line in the string.
Z+shift | Starts creation of a parallel line related to a parent line. A lower curb line based on the upper curb line, for instance. First double click on the parent element to start creating the line. The parameters used are found from the user tab.
Z+ctrl | Cancels last vertex entered (digitizing modes) Reset current group trimming operation (group edit)

#

# SpaceMouse Controls

SpaceMouse Movement : Hover mode (forced top-down orientation)
Pan | Push/pull converts to zoom in/out. Sideways panning converts to x pan. Fw/bw panning makes y pan.
Rotation Z | Rotates point cloud around z-axis
SpaceMouse Movement : Basic moving mode (man in the street)
Pan | Push/pull converts to up/down. Sideways panning converts to left/right movement. Fw/bw panning moves forward or backward.
Rotation Z | Turns the camera by changing the heading of the viewer
Tilt fw/bw | Controls the pitch angle of the viewer
SpaceMouse Keys
Fit | Fits the view
T (top) | Sets orientation to top-down and changes mouse operation to hover mode
F (forward) | Sets orienation to horizontal and changes mouse operation to basic moving mode
Shift + Enter | Digitize point
Shift pressed after point digitizing | Locks the rotation to the last digitized point instead of camera location

# File Format for TerraStereo Shapes

The example of the ASCII file that is used to import and export digitized TerraStereo shapes is shown below:

82 1 0 25497314.768253 6672783.234002 2.917022 0 192 0

82 1 0 25497315.443959 6672783.261783 2.906883 0 192 0

12 2 1 25497317.502050 6672783.772485 2.896018 0 192 255

12 2 1 25497318.151247 6672783.780747 2.881296 0 192 255

12 2 1 25497318.132483 6672784.453892 2.895346 0 192 255

12 2 1 25497317.466816 6672784.410401 2.906331 0 192 255

The columns are:

Code: The measurement code used for a particular feature (not visible in TerraStereo, but is included for compatibility reasons)

Type: The type of the shape. 0=random points, 1 = linestring, 2 = filled polygon, 4 = open polygon

5/6/7 = linear length dxyz/dxy/dz, 8/9 = area 3d/xy, 10 = angle

StringID: The identification key for the particular chain (unique for each shape in the file)

Coordinates: Easting Northing Elevation

Color components in 8 bits [0..255]: Red Green Blue

A generic mapping software can be used to produce the file based on the dgn file geometry, for instance. The TerraSurvey (from v022.001) also supports exporting element listing or existing map into TerraStereo Shape format. In TerraSurvey listing rules one can force the element to the particular shape type by setting the surface-field of the listing rule to the shape type (for instance 10). Otherwise the listed element properties will be used to judge the shape type automatically.

# Hardware and Software Requirements

### Required Software Components

Standalone TerraStereo

Supporting operating system is 64-bit Windows 7 or newer. This is enough for CPU mode. For GPU mode the supported os version depends on the availability of the drivers for the used GPU that work with CUDA version 10.2.

Bentley Microstation CAD Plugin:

Microstation CE of Microstation Map Power View CE (eg. 64-bit non-draft versions of Microstation). Also requires a GPU mode compatible PC.

Spatix CAD Plugin:

Spatix version 022.008 or newer. Also requires a GPU mode compatible PC.

### Other Recommended Workstation Components

Recommended Processors (CPU of the PC)
Operation mode used | Min. recommended number of cores in the processor
CPU (default) | 8 – the more the better -both rendering and arithmetic calulations speed
GPU (optional) | 6 – more cores will not make rendering any faster, but they will speed up other operation
Memory
At least 16 Gbytes of RAM is recommended, but one should in general have at least 20% more RAM in the PC than you have in the GPU. For instance if you have an RTX8k board with 48GB of memory, you should have 64GB PC memory.

###

### Hardware Setup (PluraView + preconfigured Workstation)

The workstation should be configured for you to get it running right out from the box, but this reference is here just in case you accidentally change some of the settings.

From the nVidia control panel make sure that the bigger GPU is set for CUDA and smaller (primary) GPU is set for OpenGL and that the stereo mode is enabled with a type of nViewClone.

Make sure that you connect the display port cables to the primary (smaller) GPU.

From the windows display properties you must also enable 3d mode for quad buffered standalone TerraStereo and disable it for TerraStereo for CAD.

If there are problems with the stereo display even after these settings are as explainded here, try rebooting the workstation in order for changes to take effect.

If you need to switch between quad buffered and exteded display modes (eg. The above mentioned 3d mode + view duplicate vs view extended) it is recommended that you leave the 3d mode on before shutting down the system to avoid the re-booting.

### Hardware Setup (nVidia 3d Vision, deprecated but can still work for some older GPU boards)

The program starts in a CPU and mono mode after a fresh installation. For this to work no special hardware setup is required and if you do not need the additional benefits of using GPU for rendering (faster speed) or non-anaglyph stereoscopic display you may skip the next section. However, even for CPU mode it is known that for some setups (typically laptops) the actual main GPU needs to be directly used and the additional integrated display-GPU (typically integrated Intel chipset gpu) bypassed, if possible. This option can usually be found from the driver or settings control of the actual main GPU (eg. AMD or nVidia).

A fully functional hardware setup consist of a single Quadro GPU either integrated into a laptop or installed into the workstation.

The typical settings that need to be changed from the driver before the stereo mode works are as follows (assuming nVidia's 3dvision is used, but similar steps need to be made also for other stereo display systems):

- Change the monitor refresh rate to meet the requirement for stereoscopic viewing (typically 120 Hz)

- Enable OpenGL stereo by setting on 3d-settings/manage 3d settings/stereo-enable (from the driver)

- Set the OpenGL stereo mode by setting 3d-settings/manage 3d settings/stereo-display mode to the generic active stereo with nVidia vision or the other mode that is appropriate for your system

### GPU Mode Considerations

Supported Graphic Boards

GPU's are developing fast so it is not recommended to buy a board that has been on the market for more than two years even with considerable discount.

In order to increase performance over the CPU mode the rule of thumb is that the GPU needs to have at least 1000 cores (compared to the 6 core CPU).

A GPU should have at least 8 Gbytes of dedicated onboard RAM. For bigger projects (Above 1000 Million points) minimum amount of RAM is 16 Gbytes. For HiRes point clouds consider the raw size of the images used (width x height x 3 in bytes). This is required additionally to the other data. A recommended amount of dedicated GPU RAM is 16GB for a typical UAV scan. For aerial or mobile scans the requirement is bigger due to the size and required amouont of images that can be used at once.

Any OpenGL compatible stereoscopic viewing hardware (excluding the GPU) should work with TerraStereo. One can also use older quadro boards with CPU mode just to get the stereo mode working without any other performance acceleration.

The biggest performance increase when using GPU is for 4k displays and it is also nice for higher frame rates for lower resolution (like full HD stereo) displays. For high resolution displays (eg 4k stereo) it is important (both for CPU and GPU mode) that the memory bandwidth of GPU is high.

Graphics Boards (SLI is not supported)
GPU | Open GL Stereo | TerraStereo for CAD 3 (Passsive dual screen stereo system + side monitor)
nVidia Quadro [M/K/P/RTX/RTX A] with at least 4 GB RAM | Yes | Yes
nVidia workstation Geforce GTX/RTX series – only the high end boards will do here due to the minimum memory recommended | May be possible if a Open GL stereo cabable board is also present in the system – otherwise no. | Yes

GPU Memory (Settings)

The amount of GPU memory allocation defines the maximum memory the program will try to reserve for points in megabytes. Using small value will reduce the visual quality but improve speed. It also leaves more resources for other system applications like CAD programs etc. You have to restart program in order to start using the new values.

In addition to the memory reserved for points TerraStereo also allocates memory for the frame buffer from the same total memory amount (shown near 'Detected' label).

A default value of 0 will probe the GPU for the amount of memory left and reserve about 80% of the available space.

GPU in Tesla Mode

If you have two GPU system and they are Quadro boards it is usually possible to make the one that is not connected to the display the main point cloud board. This makes the calculation of arithmetic channels faster and also enables to use all the memory in the GPU. The tool to configure the board to Tesla mode is called 'nvidia-smi.exe'.