TerraStereo User Manual
TerraStereo is a software tool used for working with large point clouds.
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, 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.
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
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
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.
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.
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.
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.
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.
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.
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:
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
Check the required visualization channels (typically rgb, intensity and classification)
Set classification mask according to the specific visualization needs from file/mask
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).
Adjust the visual appearance of the selected channel using main and channel tabs from the main window
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.
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.
With sessions you can save and restore your current project working settings like stereo settings and camera position, classification visibility and rendering settings. When you continue working, just load the previously saved session.
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.
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).
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 |
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.
Reconverts TerraScan project. Use this to update changes into the visualization if you have made changes to the project.
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.
This directory is used to search the license and to digitize points into TerraSurvey.
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.
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.
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. If your system has a lot of ram; for instance 64 Gigabytes you can increase this since it allows more smooth visualization of bigger dataset.
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.
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 hangup. Most features are not available in CPU 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.
Here you can add TerraPhoto mission in order to use HIRES point clouds.
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.
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.
Writes the changes done to the image indexes back to TerraScan fbi -files.
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 three 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.
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.
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).
This cancels current trim and starts selecting the next group to trim.
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.
Classifies selected groups to a selected class and updates classification and grouping (visualization) files.
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).
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.
Reflects the edited groups back to the TerraScan project. Does not currently update the border group information.
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.
Clears either the active shape or all shapes depending on the chosen sub menu selection.
All digitized shapes are written into a selected or created ASCII text file. See chapter 'File Format for TerraStereo Shapes' for details.
Import an existhing ASCII file that is in the same format as exported shapes.
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.
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).
Here you can define the operation used to define interpolated point between two points. This digitized point is different from the others in a way that it can float in the space and not be locked into points.
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.
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.
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.
This menu contains commands and settings related to camera positioning, direction and trajectory. It also contains recording tools.
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.
Resets the frame numbering of the recording.
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.
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.
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 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.
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.
Removes any clip setting and shows all points.
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.
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).
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.
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.
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).
This menu contains settings related to input controls.
Set the operation mode of mouse wheel either to elevation highlight or zoom/move (default).
Changes operation to the centered mouse operation mode. 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.
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. |
Camera |
Toggles projection between perspective and parallel. You might need to fit the view after changing this. |
Stereo |
Toggles stereo mode. When set to <auto> the software automatically adjusts the stereo so that a good depth perception results. Sometimes this can caus strain to the eyes and the <static> mode fixes the stereo settings as they are. If <static> mode is fixed in a top view, for instance, it may be impossible to keep the settings when going closer to the points. The software will relax the parameter fixing, if they are clearly out of bounds. For an 'easy' stereo setting, first go quite close to some object with <auto> mode and then set the mode to <static>. 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.. |
Pointer – Fast |
Basic non-transparent and always on top 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+shift+wheel. In standard mode the size of the cursor only affects the visual appearance. |
Pointer – Solid (active depth buffer) |
A variation that has a white transparent center that highlights the depth map of points. All pointer modes using active depth buffer an additional filtration is performed to the point cloud. |
Pointer - Cross Plane (active depth buffer) |
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 – Plane (active depth buffer) |
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. |
Pointer – Select Sphere |
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 Sphere |
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. |
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. |
Trajectory |
|
---|---|
Movement Speed |
Adjust the speed of the movement related to key pressing and mouse/automatic movement |
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 radius (requires plane or cross plane -mode for the cursor) |
Mouse wheel + ctrl (view lock only) |
When views are locked one can adjust the elevation of the camera from the secondary view with this. |
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 |
Rotate the model around the cursor. Maintains the elevation of the cursor. |
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 Commands |
|
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. |
Shift – Selection Sphere 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) |
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 |
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+ctrl |
Reset current group trimming operation |
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 |
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.
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.
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. |
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.
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
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.
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'.