Percipio Viewer User Guide

Overview

Percipio Viewer is an image viewing software developed by Percipio.XYZ based on the Percipio Camport SDK. It can provide real-time preview of the camera’s output, including depth images, color images, infrared images, and point clouds.

Percipio Viewer is available in both Windows and Linux versions, and it is recommended to use the Windows version. The following sections will use the Percipio Viewer (Windows version) as an example to introduce its interface and functions.

The Interface of Percipio Viewer Software

The Interface of Percipio Viewer Software

  1. Preferences Button: Clicking on the Preferences button will bring up a drop-down menu.

    The Drop-Down Menu

    The Drop-Down Menu

    1. Device list: You can select and open the camera from the list. See Selecting the Camera for details.

    2. Load local recording.

    3. Set the IP of the camera. See Setting the Camera IP Address for details.

    4. Refresh the device list.

  2. View Switching Area: Used to switch among 2D, 3D, Registration, and Color 3D views.

  3. ? Button: Go to the Percipio Viewer User Guide page.

  4. Control Panel Area: Used to view information, set work mode, toggle on/off data streams, set component parameters, and record videos.

    • on indicates that the data stream is toggled on.

    • off indicates that the data stream is toggled off.

  5. Image Display Area: Used to display the depth image, color image, infrared image, and point cloud.

  6. Log Display Area: Used to display log information.

Quick Start

This section mainly introduces the usage process of Percipio Viewer:

  1. Setting the Camera IP Address

  2. Selecting the Camera

  3. Viewing Information

  4. Setting Work Mode

  5. Previewing Images

  6. Saving Images

  7. Recording Videos

Complete the following steps before using Percipio Viewer:

  1. Download the .zip file from Download Section on Percipio official website and unzip it to obtain the percipio-viewer-X.X.X.exe file.

  2. Connect the Percipio camera to the host computer and power it.

    Method I

    Connect the camera directly to the computer’s gigabit Ethernet interface via a gigabit Ethernet cable.

    Power the camera by an external power supply via the power cable Percipio provides. For detailed descriptions on the power connector, see the specifications for each camera model.

    Method II

    Connect the camera and the computer to the same Gigabit Ethernet PoE via Gigabit Ethernet cables.

    With this method, PoE also serves as a power supply for the camera. If the camera you obtain does not support POE power supply, please power it by an external power supply.

Setting the Camera IP Address

Percipio Viewer supports modifying the IP address of the camera to be either static or dynamic.

Note

Before setting the camera IP, make sure the host computer’s IP address is on the target network segment.

To set the camera’s IP address, do the following:

  1. Click on Preferences and select Device IP Settings from the drop-down menu to access Device IP Settings page.

    device IP settings

    Device IP Settings

  2. In Net interface list column, select the network interface of the target network segment or choose All network interfaces.

  3. In Found device column, select the target camera’s serial number (SN).

  4. Fill in Device mac address, Device target IP, Device target gate, and Device target mask.

    Note

    If the Device target IP field is left blank, the camera’s IP address will be set to a dynamic one. If filled in, it will be set to a static IP address.

  5. Click on Accept.

The message “Device IP setting is successful” in the log display area indicates that the IP has been successfully set.

The message “Device IP setting failed” in the log display area indicates that the IP setting has failed. Check your computer’s network configuration and hardware connections, and ensure that the parameters on the Device IP Settings page are filled in correctly.

Selecting the Camera

Starting from version 1.2.3 of Percipio Viewer, you need to manually select and open the camera after opening the software.

To select the camera, do the following (taking the camera with SN 207000106916 as an example):

  1. Dubble click the executable file percipio-viewer-X.X.X.exe to open Percipio Viewer software.

  2. After the camera initialization is complete, click on Preferences, and then select Refresh Source in the drop-down menu to refresh the device list.

  3. Choose the SN of the target camera 207000106916 from the device list.

    Selecting the Camera

    Selecting the Camera

Note

If the camera status code and firmware error code are displayed after the serial number in the device list (as shown in the above image -1014, 0x00000000), it indicates that the camera cannot be opened normally. Please check the camera status code in the image below. If the camera status code is -1024, it is necessary to determine the abnormal condition based on the firmware error code.

状态码错误码

Viewing Information

Click on info allows you to view camera information, including interface name, SN, model, MAC/IP address, firmware version, and configuration version.

The firmware version information is quite lengthy, so you will need to hover your mouse over Firmware Version to view the complete content.

Setting Work Mode

Percipio Viewer supports setting the work mode of the camera, and the camera captures images according to the settings.

Click on more when all data streams are in status off, and select the work mode according to the table below.

Work Mode

Camera Operating Status

Trigger Mode Off

After the data stream is toggled on, the camera captures images continuously at the highest frame rate.

Hardware Trigger Mode

An external hardware trigger signal source needs to be connected to the camera. Then after toggling on the data stream, the camera captures images according to the frequency of the trigger signal .

Software Trigger Mode (continue)

After the data stream is toggled on, the camera captures images upon receiving a software trigger signal.

Software Trigger Mode (single)

With data streams toggled on, the camera captures one frame of image upon clicking on the trigger button.

The selected work mode will have an icon displayed on its right side.

The Selected work mode

The Selected Work Mode

Previewing Images

Percipio Viewer supports previewing depth images, color images, left/right infrared images, point clouds, and adjusting component parameters.

To preview images, do the following:

  1. Toggle on the data stream to preview the corresponding image in real-time in the image display area.

    The title bar above the image displays the current data stream name, image resolution, and frame rate.

    Depth Image, Color Image, and Left/Right Infrared Image

    Depth Image, Color Image, and Left/Right Infrared Image

  2. Expand the page by clicking on right on the left side of the data stream, and adjust parameters according to actual needs.

Note

  1. Some parameters can only be modified when the data stream is in status off. It is recommended to refer to the logs in the log display area for instructions.

  2. Different camera models support different parameters, and the display on the Percipio Viewer interface changes accordingly. The following table describes the parameters (taking the PS800-E1 camera as an example).

Parameter Interface for Camera 207000106916

Parameter Interface for PS800-E1 Camera

parameters descriptions

Depth Stream

Category

Parameter Name

Description

——

Resolution

Format and resolution of the depth image.

Controls

power

Laser intensity.

Controls

scale unit ~ max LRC diff

SGBM parameters. For more details, see SGBM parameters

Depth Visualization

Color Scheme

Rendering method of the depth image.

Analytical/Optimize

Analytical Type

Analytical type of the depth data. For more details, see Analytical Type.

Analytical/Optimize

Fill Hole

For more details, see Fill Hole.

Analytical/Optimize

Remove Outlier

For more details, see Remove Outlier.

Analytical/Optimize

Time Domain Filtering

For more details, see Time Domain Filtering.

Analytical/Optimize

Median Filtering

For more details, see Median Filtering.

Color Stream

Category

Parameter Name

Description

——

Resolution

Format and resolution of the color image.

Controls

analog gain

——

Controls

exposure time

——

Controls

auto exp ctrl

Auto exposure, supported by some camera models only.

Controls

struct aec roi

Auto exposure based on ROI, supported by some camera models only. Left-click the color image and drag the mouse to frame the target area as Region of Interest (ROI). The exposure time and the gain for the entire color image will be automatically adjusted so that the RGB image quality in the ROI is optimized.

Controls

auto white balance

Auto white balance, supported by some camera models only.

Post-Processing

Auto ISP

Software ISP, supported by some camera models only. For details, see Auto ISP.

Post-Processing

Undistort EN

Undistorting function. For details, see Undistort.

Left IR / Right IR Stream

Category

Parameter Name

Description

Controls

undistort

Undistorting function for IR images.

Controls

gain

——

Controls

analog gain

——

Controls

exposure time

——

Controls

flash light enable/flash light intensity

Flash light switch/flash light intensity. For details, see Flash Light.

Controls

hdr/hdr parameter

HDR function switch/ HDR parameters. For details, see HDR.

  1. Click the 2D, 3D, Registration, and Color 3D buttons in the View Switching Area to switch views.

    Note

    Registration or Color 3D views can only be switched to when both the depth stream and color stream are toggled on.

  2. Place your mouse on the 2D/3D image and adjust the view using the following methods:

    • Zoom in/out: Scroll the mouse wheel.

    • Pan (only supported in 3D/Color 3D views): Press and drag the mouse wheel.

    • Rotate (only supported in 3D/Color 3D views): Press and drag the left mouse button.

    • Reset the view (only supported in 3D/Color 3D views): Click on reset

Recording Videos

Percipio Viewer supports recording videos while capturing images with a camera. Some parameters can be adjusted during recording, but toggling on/off the data stream is not supported.

To record a video, do the following:

  1. Click on record, set the save path for the .bag file and the video recording will start.

    Note

    The .bag file is saved in the C drive by default.

    Video Recording

    Video Recording

  2. Click on stop to end the video recording.

    The save path for the .bag file will be displayed in the image display area’s upper right corner and the log display area.

To play back the recorded video, click on Preferences, then click on Load Recorded Sequence in the drop-down menu and select the target .bag file.

Video Playback

Video Playback

Saving Images

To save 2D/3D images, do the following:

Note

By default, the image files are saved in the C drive, but you can also change the storage path according to your preferences.

  • Switch to the 2D view, click on 2D, select the save path, and click Save.

  • Switch to the 3D/Color 3D view, click on 3D, select the file format for the 3D point clouds (supports .xyz and .ply formats), select the save path, and click Save.

Image Processing (Software)

This section mainly introduces the image processing functions supported by Percipio Viewer software:

Image Alignment

Percipio Viewer supports Color-Depth alignment and Color-3D alignment.

When the Depth Stream and Color Stream are in status on, click the following buttons to switch to the corresponding alignment view.

  • Click on Registration to switch to the color-depth alignment view.

  • Click on Color 3D to switch to the color-3D alignment view.

Color-Depth Alignment

Color-Depth Alignment

Color-3D Alignment

Color-3D Alignment

Fill Hole

The function can fill in missing data on a depth image. When used in combination with the “Remove Outlier” function, it can achieve the best results for the depth image.

When the Depth Stream is in status on, select Fill Hole, and adjust the parameters k Size and h Size.

Note

If the parameter values of k Size and h Size are set too large, there may be distortion on the depth image.

Comparison before and after using the Fill Hole function:

Before Using the Fill Hole Function

Before Using the Fill Hole Function

After Using the Fill Hole Function

After Using the Fill Hole Function

Remove Outlier

This function can reduce outliers on the depth image and optimize the imaging effect of the depth image.

When Depth Stream is in status on, select Remove Outlier, and adjust the spk size parameter.

Remove Outlier

Time Domain Filtering

This feature is a post-processing function at the software level for point clouds, which averages multiple frames of data to remove noise and smooth the point cloud.

When the Depth Stream is in status on, select Time Domain Filtering, and adjust the time-domain frame count parameter based on the point clouds.

The parameter ‘time-domain frame count’ set to a higher value results in smaller fluctuations in depth values, leading to smoother point clouds.

Time Domain Filtering 时域滤波功能

Median Filtering

This feature is a post-processing function at the software level for point clouds, capable of eliminating isolated noise points while preserving as much edge information in the image as possible.

When the Depth Stream is in status on, select Median Filtering, and adjust the Ksize parameter based on the point clouds

Auto ISP

This function is used for post-processing of color images. After the software-level ISP processing, the RAW BAYER images with color deviation can be processed into color images in a normal color space.

Note

Cameras with hardware ISP modules can output color images in a normal color space, and therefore does not need to be post-processed by the Auto ISP function.

When Color Stream is in status off, select Auto ISP, and then toggle on the data stream.

Auto ISP

Undistort

This function is used for post-processing of color images and can undistort the output color image.

When Depth Stream is in status on, select Undistort EN to obtain the undistorted color image.

Undistort

Analytical Type

The function is software-level data analysis for depth data.

When Depth Stream is in status on, select “Analytical Type”.

  • If you select single pixel, the depth view in the lower left corner displays the following information in real-time:

    • Depth of center: The depth value of the center of the depth map.

    • Depth of (X,Y): The depth value of the point indicated by the mouse.

    single pixel
  • If you select rectangle area, when the left mouse button is dragged on the depth map to draw an area of interest (ROI), the depth view in the lower left corner displays the following information in real-time:

    • Mean distance of ROI (x1 y1 x2 y2): The average depth value within the ROI area.

    • Fit plane distance of ROI (x1 y1 x2 y2): The depth distance from the camera’s optical center to the fitted plane of the ROI.

    • Planarity of ROI (x1 y1 x2 y2): The planarity of the ROI area. The smaller the planarity value, the smoother the depth values within the ROI area.

    rectangle area

Image Processing (Camera)

This section mainly introduces how to set camera-specific image processinging functions through Percipio Viewer.

The ToF Series

The following are the image processing functions unique to the ToF series. They can only be set in the interface if the camera is opened with Percipio Viewer.

depth quality basic

Depth Quality

This function is used to set the quality of the depth image output by the camera to adapt to the needs of different applications.

When Depth Stream is in status off, set depth quality according to actual needs, and then toggle on the data stream.

  • basic: large depth value jitter, high output frame rate.

  • medium: medium depth value jitter, medium output frame rate.

  • high: small depth value jitter, low output frame rate.

depth quality basic

depth quality basic

depth quality medium

depth quality medium

depth quality high

depth quality high

ToF Channel

This function is used to set the modulation channel of the ToF depth camera. Different modulation channels have different modulation frequencies and do not interfere with each other.

When Depth Stream is in status off, set tof channel to make sure that the modulation channels of the same series of ToF cameras in the same scene are different.

ToF Modulation Threshold

This function is used to set the threshold for the ToF depth camera to receive the laser modulation intensity. Pixels with modulation intensity below this threshold will not be used to calculate depth, and their depth value will be set to 0.

When Depth Stream is in status on, modify tof modulation threshold based on the real-time depth image.

ToF Jitter Threshold

This function is used to set the jitter filtering threshold for the ToF depth camera. The larger the threshold value, the less depth data jitter on the depth image’s edge is filtered.

When Depth Stream is in status on, modify tof jitter threshold based on the real-time depth image to filter out jittered pixels on the edge.

Filter Threshold

This function is used to set the outlier filtering threshold for ToF depth camera. The smaller the threshold value, the more outliers are filtered.

When Depth Stream is in status on, adjust filter threshold in real time based on the depth image to filter outliers out.

HDR Ratio

This function is used to optimize the quality of the depth image in high-contrast scenes. Currently, only TL460-S1-E1 in the ToF series support this function.

To set up the HDR Ratio, do the following:

  1. When all data streams are in status off, click on more and select a trigger mode as needed.

    • Hardware Trigger Mode

    • Software Trigger Mode (continue)

    • Software Trigger Mode (single)

  2. When Depth Stream is in status off, set depth quality to high.

  3. When Depth Stream is in status on, adjust HDR ratio in real time based on the depth image.

The PS Series

The following are the image processing functions unique to the PS series. They can only be set in the interface if the camera is opened with Percipio Viewer.

SGBM Parameters

The SGBM parameters are used to adjust the camera’s measuring range, accuracy, frame rate, and used in post-processing of the depth image. Currently, only PS800-E1 supports the adjustment of these parameters.

To adjust the SGBM parameters, expand the Control parameters of the Depth Stream when all data streams are in status off and no other functions are enabled.

SGBM Parameters Related to Range, Accuracy, and Frame Rate

  • scale unit

    This parameter is used to set the unit of pixel values in the depth image.

    The maximum depth value is equal to 65536 * scale unit.

    The smaller the set value of this parameter, the higher the accuracy of the depth calculation. However, if the set value is too small, it may lead to errors in the depth calculation.

  • disparity num

    This parameter is used to set the range of the disparity search.

    The larger the set value of this parameter, the greater the measurement range in the camera’s Z direction, but it also consumes more computational resouces. It is recommended to set it to a multiple of 16.

  • disparity offset

    This parameter is used to set the starting value of the disparity search.

    The smaller the set value of this parameter, the larger the maximum measured value in Z-direction (Zmax), which means a greater measurement range in the camera’s Z direction. The lower limit of the disparity offset is affected by depth of field.

  • match window height

    This parameter is used to set the height of the disparity matching window.

    The value must be odd.

  • match window width

    This parameter is used to set the width of the disparity matching window.

    The value must be odd.

    The larger the matching window (match window height * match window width), the smoother the depth image, but the accuracy is also lower. The smaller the disparity matching window, the more details are displayed in the depth image, but the probability of mismatching is higher.

  • image number

    This parameter is used to set the number of IR images used for depth calculation.

    The larger the set value of this parameter, the better the image quality for the depth image, but the frame rate is also lower.

Note

Due to the influence of camera computing power, there is a constraint between IMAGE_NUM and MATCH_WIN_HEIGHT. You can check the constraint relationship in configuration information of the camera. For the ways of obtaining the file, please refer to Note.

SGBM Parameters Related to Smoothing of Edge Pixels in the Image

  • Semi-global param p1

    This parameter is the constraint penalty on the disparity change by +/-1 between neighbor pixels.

    The larger the set value of this parameter, the smoother the depth image.

    This parameter is set to prevent discontinuous or unreasonable depth values, so as to effectively suppress noise and discontinuity.

  • Semi-global param p1 scale

    This parameter is another constraint penalty on the disparity change by +/-1 between neighbor pixels.

    The smaller the set value, the smoother the depth image.

  • semi-global param p2

    This parameter is the constraint penalty on disparity changes to be greater than 1 between neighbor pixels.

    The larger the set value of this parameter, the smoother the depth image. It is important to note that the algorithm requires P2>P1.

    This parameter is set to effectively handle texture-rich areas and reduce the number of mismatches.

  • enable half window size

    This is the switch for searching filters. The search filters can further optimize the depth image, removes noise and discontinuity, and is more friendly to edge point clouds.

SGBM Parameters Related to Mismatch

  • uniqueness factor param

    This parameter is used to set the uniqueness check parameter 1, which is margin in percentage by which the best (minimum) computed cost function value should “win” the second best value to consider the found match correct.

    The larger the set value of this parameter, the more unique the matching cost, and the more mismatched points are filtered out.

  • uniqueness min absolute diff

    This parameter is used to set the uniqueness check parameter 2, which is margin in difference by which the best (minimum) computed cost function value should “win” the second best value to consider the found match correct.

    The larger the set value of this parameter, the more unique the matching cost, and the more mismatched points are filtered out.

  • enable LRC

    This is the switch for left-right consistency check (LRC). After enabling “enable LRC”, adjust the parameter “max LRC diff”.

    During stereo matching, for the pixels on the same object surface, use LR to denote the disparity between the left image and the right image, and RL to denote the disparity between the right image and the left image. When ABS(LR-RL) < max LRC diff, the point is considered a reliable match point.

    The smaller the set value of “max LRC diff”, the more reliable the matching result.

Median Filter

  • Median Filter

    This is the switch for median filter. The median filter is used to eliminate isolated noise points while preserving the edge information of the image as much as possible. After enabling “enable median filter”, adjust the parameter “median filter thresh”.

    The larger the set value of “median filter thresh”, the more noise points are filtered out, but it may also cause the loss of detailed information in the depth image.

Flash Light

This function is used to assist the online dynamic calibration for the camera.

When both Left IR Stream and Right IR Stream are in status on, select flash light enable and adjust the flash light intensity according to actual needs.

Set Flash Light Function

Set Flash Light Function

HDR

This function is used to optimize the quality of the depth image in high-contrast scenes. After setting the HDR parameters, it is necessary to adjust the exposure time of the Left/Right IR to obtain the best quality of the depth image.

To set up the HDR function, do the following:

  1. When both Left IR Stream and Right IR Stream are in status on, select hdr, set Parameter 1 and Parameter 2, and then press Enter to confirm the settings.

    Tip

    The setting range for parameter 1 and parameter 2 is 0, 1, 2.

    Set Parameter 1 and Parameter 2

    Set Parameter 1 and Parameter 2

  2. Adjust the exposure time of Left IR and Right IR to obtain the best depth image.

Comparisons before and after implementing the HDR function:

Before Implementing the HDR Function

Before Implementing the HDR Function

After Implementing the HDR Function

After Implementing the HDR Function

FAQs

What operating systems are supported by Percipio Viewer?

  • Windows: 10/11

  • Linux: Ubuntu 16.04/18.04/20.04