Local Vicon System node
The Local Vicon System node is the top-level node that is displayed for the Nexus host PC when Nexus is in Live mode. It contains sub-nodes for each device connected to your Vicon system:
- Vicon Cameras
- Vicon Connectivity (Vicon Lock)
- Video Cameras
- Devices (including force plates, accelerometers, EMG, Dikablis eye tracker, etc)
The node for the device designated as the synchronization source is highlighted in bold in the System Resources tree. (For more information, see Change the synchronization source in the Vicon Nexus User Guide.)
Local Vicon System node context menu
You can select from the following commands on the context menu displayed when you right-click on the Local Vicon System node:
Command | Description |
---|---|
Reboot Vicon Hardware | Resets all of the Vicon hardware devices in the Vicon system. Use this command if a camera has failed to boot, or if you need to reset the whole system for other reasons. Alternatively, use the Reboot All button in the System section of the Properties pane. |
Reboot Core Processor | Restarts the Core Processor and resets the labeler. Alternatively, press CTRL + R. |
Resynchronize | Forces the synchronization source to resynchronize the frame rate for all connected cameras and third-party devices. |
Local Vicon System properties
You can configure the following settings in the Properties pane for the Local Vicon System node.
If you can't see some of the listed properties, click Show Advanced at the top of the Properties pane.
These settings affect the local Vicon system in Live mode. The equivalent settings for offline processing can be found under Core Processing operations on the Pipeline tab.
System section
Contains system-wide parameters that affect all the connected cameras and devices.
Property | Description |
---|---|
Requested Frame Rate (Hz) | The rate (in Hertz) at which to synchronize the Vicon cameras. If using external video signal, select from displayed values (multiples of the base frame rate of the PAL, NTSC, or Film video standard specified in Standard) up to a maximum of 2,000. You can choose any number you want if you do not have any Genlock Standard set. The configured Vicon system capture rate is displayed in square brackets beside the node. For example, if the Vicon system frame rate is set to 100 Hz, the node title is displayed as Local Vicon System [100Hz]. If the Requested Frame Rate cannot be met due to the camera frame rate, Vicon Nexus displays the nearest adjusted frame rate in square brackets. To meet the Requested Frame Rate, you can change the Sub Sample Ratio of the relevant camera(s). Default: 100 |
Actual Frame Rate (Hz) | The frame rate used by the Vicon system, which is constrained by the camera frame rate limits. |
Preferred Sync Source | A list from which you can choose the synchronization source. If you are using multiple devices such as Vicon Locks, to connect and control your cameras, a synchronization source is automatically chosen by Vicon Nexus. If the automatically selected synchronization source is not the required choice, you can select the appropriate device from the Preferred Sync Source list. (For more information, see Change the synchronization source in the Vicon Nexus User Guide). Default: Automatic |
Buffer Size (MB) | The size (in MB) of the memory buffer on the host PC when Nexus is receiving data from Vicon hardware. Specify a value between 0-1024 MB. This buffer is used if data comes in faster than Nexus can process it; therefore, the larger the buffer, the longer it takes before capture fails. Increasing this value enables a greater Capture Before Start duration to be set. The optimum size of the Buffer Size parameter depends on the amount of memory on your PC. The proportion of the total memory buffer that is reserved for Vicon devices is determined by the Buffer Reserve (see below). Tip: If you experience failure of a combined video and optical camera calibration , particularly if you are capturing a long wand wave, close and restart Nexus. Reduce the Buffer Size to 0 MB before calibrating. Do not increase the buffer size to its usual level until you have completed a successful calibration. Default: 250 |
Buffer Reserve | The proportion of the total buffer size (see Buffer Size above) that is reserved for Vicon video devices. The default of 0.5 results in half of the total buffer size being reserved for Vicon video devices (Vicon Vue Video cameras). The remaining buffer space is used by third-party video cameras. If you want to maximize the buffer space reserved for Vue Video cameras, set this value to 1.0. If you are using only third-party DV cameras, set this value to 0. Default: 0.5 |
Reboot All | Resets all of the Vicon hardware devices in the Vicon system. Use this button if a camera has failed to boot, or if you need to reset the whole system for other reasons. Alternatively, use the Reboot Vicon Hardware command from the context menu. |
Minimize Latency | Minimizes the level of latency, or lag time, the RealTime Engine introduces during data streaming when data rates approach or exceed system processing capacity. If selected, the RealTime Engine introduces no lag time when processing data frames. This decreases data throughput, but increases the possibility of frames being dropped. If cleared, the RealTime Engine introduces 20 frames of lag time when processing data frames. As this increases data throughput, it can produce better labeling results. Default: Cleared |
Genlock and Timecode section
Settings for genlock and timecode.
Property | Description |
---|---|
Genlock Standard | The type of video standard supported by the connected video source: None, PAL, NTSC, Film (24 fps), Film (24/1.001 fps, 30Hz, VESA (100Hz) or VESA (120Hz). For information about the symbols in this list, see Icons in Genlock and Timecode lists. Default: None Important: To use the 30Hz option, the Vicon firmware must be Bundle 500 or above. |
Enable Genlock | Enables genlock based on the signals that are currently detected. |
Auto Genlock | Automatically selects a genlock standard and enables genlock based on the signals that are currently detected. |
Genlock Offset | Enables you to specify a system offset relative to the genlock signal, as a fraction of the genlock frame period. Values are in the range 0–1. For VESA modes, specify a value using the VESA Offset control. |
VESA Offset | Applies only if you have selected one of the VESA standards from the Genlock Standard list (see above). It enables a system offset relative to VESA signal (as a fraction of the VESA frame period). It changes when the Vicon cameras take a frame (and hence when the camera strobes are on) relative to the incoming VESA frames. The camera timing can be offset by up to one VESA frame. The main purpose of this feature is to prevent camera strobes from interfering with the IR-synchronized 3D glasses used in some VR systems. |
Timecode Source | The genlock timecode source. Can be VITC, LTC, Internal or Internal Drop (uses drop frame when applicable). Default is Internal. For information about the symbols in this list, see Icons in Genlock and Timecode lists. Note: VITC and LTC always display a flat line if the system is not genlocked. This is because these signal types can only be detected by a source device that is genlocked. |
Enable Timecode | When selected, timecode is enabled. |
Detected Timecode | Given as the number of timecode frames per second for example, 24 fps, 25 fps, 30 fps, 30 fps DropFrame |
Icons in Genlock and Timecode lists
The icon to the left of each option provides additional information about the availability of that standard:
Icon | Meaning |
---|---|
Cross |
The standard is not supported by the hardware (that is, no connected device supports locking to a signal of that type). If you select an unsupported standard, it restricts the available frame rates as it does in the previous version of Nexus. |
Flat line |
No device in the system is detecting that standard. |
Blue square wave |
The source device is detecting that signal and can genlock to it. |
Green square wave |
If you select a mode with the blue wave icon and then select the Enable Genlock check box, the icon turns green. |
Red square wave |
A device in the system is detecting the mode but a problem prevents it from being used, for example, if the signal is being detected by a device that is not the source device in the system. |
In all cases, you can display a tooltip by holding the mouse over the Genlock Standard list.
General section
Settings for the Core Processor component, which receives data from the Vicon cameras and transforms the data to the trajectories or segments that your Vicon system is tracking.
Property | Description |
---|---|
Processing Output Level | The amount of real-time processing the Core Processor is to perform on source data:
Important: These settings are applied cumulatively. For example, selecting Labels applies that setting as well as the Reconstructions and Circles settings. |
Grayscale Circle Fitting section
Property | Description |
---|---|
Enable | Select this check box to enable circle fitting of grayscale blobs. If selected, processing speed may be slightly slowed, but more data may be collected. Default: Selected. |
Reconstruction section
Controlling the number of cameras that are required to start or continue a trajectory can be beneficial in producing higher quality data. The ability to define how trajectories are created can help you to produce higher quality data that requires less manual editing.
Property | Description |
---|---|
Environmental Drift Tolerance | Increase this parameter to reduce the sensitivity (in mm) of the camera calibration to environmental factors, particularly temperature change. Use this setting to compensate for environmental changes when you do not have time or other resources to recalibrate the whole system. For the most accurate results, recalibration remains the preferred solution. Default: 1.5 |
Minimum Cameras to Start Trajectory | This parameter controls how many cameras (rays) must see the same marker (centroid) in order to create a new reconstruction and potentially form a new trajectory. The minimum value that can possibly create a reconstruction is two cameras. The maximum value of this parameter is 30 cameras or the total number of cameras in your system. This value can be increased if there are a large number of unlikely reconstructions being created. Default: 3 cameras |
Minimum Cameras to Continue Trajectory | This parameter controls how many cameras (rays) must see the same marker (centroid) in order to create a reconstruction to continue a recognized trajectory. The minimum value that can possibly create reconstructions is two cameras. The maximum value of this parameter is 30 cameras or the total number of cameras in your system. The value can be decreased if there are gaps in trajectories where reconstruction should be possible when viewed by fewer cameras. Default: 2 cameras |
Reconstruction Minimum Separation | The minimum distance, specified as a value in the range 0–1000000 millimeters, allowed between 3D marker positions in order for them to be considered for reconstruction. If two candidate reconstructions are closer than this minimum separation, only the most likely reconstruction (in terms of the number of cameras contributing) will be reported. The other will be discarded. A higher value decreases the likelihood of creating spurious reconstructions, but increases the possibility that some genuine markers will not be reconstructed. Generally, this parameter should be slightly above the size of the markers you are using. For examples, if you are using 14mm markers, try setting it to 16mm. Then, for example, if during reconstruction two markers (one a ghost marker) are found within 17mm, one would be discarded. Default: 14 |
Minimum Centroid Radius | The minimum radius (in pixels) of a 2D centroid that is allowed for a reconstruction. Any reconstruction with a radius less than this value is ignored. Default: 0 |
Maximum Centroid Radius | The maximum radius (in pixels) of a 2D centroid that is allowed for a reconstruction. Any reconstruction with a radius greater than this value is ignored. Default: 50 |
Minimum Reconstruction Radius | The minimum 3D radius (in mm) that is allowed for a reconstruction. Any reconstruction with a radius less than this value is discarded. Default: 0 |
Maximum Reconstruction Radius | The maximum 3D radius (in mm) that is allowed for a reconstruction. Any reconstruction with a radius greater than this value is discarded. Default: 1000 |
Volume min X | X value of lower corner of reconstruction volume. Default -100000. |
Volume min Y | Y value of lower corner of reconstruction volume. Default -100000 |
Volume min Z | Z value of lower corner of reconstruction volume. Default -100000 |
Volume max X | X value of upper corner of reconstruction volume. Default 100000. |
Volume max Y | Y value of upper corner of reconstruction volume. Default 100000. |
Volume max Z | Z value of upper corner of reconstruction volume. Default 100000. |
Use Target Volume | Sets the reconstruction volume to the dimensions of the target volume (Set the target volume dimensions in the Options dialog box (press F7) |
Trajectory Tracking section
Property | Description |
---|---|
Trajectory Startup Error | The deviation allowed (in mm/sec) in a marker's position at the start of a trajectory. This value is related to the radius within which the current trajectory is matched to a reconstruction in the following frame. To help start trajectories on faster moving markers, increase the value. To help with dense marker sets, decrease the value. Default: 150 |
Trajectory Prediction Error | The deviation allowed (in mm/sec) in a marker's position on a trajectory. This value is related to the radius within which the current trajectory is matched to a reconstruction in the following frame. To help continue trajectories on faster moving markers, increase the value. To help with dense marker sets, decrease the value. Default: 150 |
Labeling section
Property | Description |
---|---|
Label Completeness Entrance Threshold | Specifies the proportion of markers that have to be present when a subject enters the capture volume or when the trial starts. If it is less than this value, the subject is not labeled. Higher values help to prevent mis-labeling when the subject first enters the volume. For example, if labeling starts only a significant number of frames after the subject has entered the volume, then a reduction of this value may encourage labeling to start earlier, when a smaller percentage of total subject markers are first seen. Conversely, if when the subject enters the volume, the initial labeling result is poor, increasing the value encourages the labeler to wait until a larger proportion of subject markers are seen and should produce a more reliable labeling result. Default: 0.85 |
Label Completeness Exit Threshold | Specifies the proportion of a subject's markers below which the subject is considered by Nexus to have left the capture volume. Labeling will not recommence unless the proportion reaches the Entrance Threshold. Higher values help to prevent mis-labeling when the subject leaves the volume. For example, a value of 1 requires all markers to be recognized for labels to continue to be produced. Tip: Do not set this value higher than Label completeness entrance threshold. Default: 0.6 |
Booting quality | Affects when the system will start labeling based on how well the labeling skeleton matches the reconstructed data. For greater tolerance, reduce this value; to reduce the risk of mis-labeling, increase this value. Lower values are more tolerant, but may result in more mis-labels, whereas higher values require a closer match between the labeling skeleton and the reconstructed data, and therefore reduce the risk of mis-labeling. If fewer than expected labels are achieved, reducing this value may decrease the number of labeled reconstructions. Conversely, if the labeling results produce an unacceptably high number of mis-labels (due to poor skeleton-to-reconstruction matching), increasing this value may result in fewer mis-labels. Default: 0 |
Booting versus tracking | Booting is a process in which Nexus attempts to work out the labeling for the active subjects with marker statistics calculated from the VSK. This is done without requiring any information from earlier frames, such as previous labels. Tracking is a process in which Nexus uses the pose of the labeling skeleton from the previous frame's labels. This is used to predict the labeling in the current frame. Values <0 favor rebooting; values >0 favor tracking. Default: 0 |
Tracking quality | Compares the match between reconstructions and skeleton data with the previous frame to determine whether labeling continues. Adjusting this parameter affects how close this match must be. Higher values require a closer match between frames. This reduces the risk of incorrect labeling, but may leave more constructions unlabeled. Lower values do not require as close a match between frames. This can increase the total number of labeled reconstructions but may produce more mis-labels. For greater tolerance, reduce this value; to reduce the risk of incorrect labeling, increase this value. Default: 0 |
Smoothing factor | Specifies how much the subject markers can move between frames before labeling stops. This value can be increased for slow-moving subjects and decreased for faster motion (at the cost of a greater likelihood of mis-labels). Default is 200. |
Joint Ranges Slack | A calibrated skeleton contains joint range information. This informs the labeler about the expected Range of Motion for any joint and the markers associated with that joint, helping the labeler make decisions. If a subject's joints move beyond the estimated range, the result may be unlabeled reconstructions. Increasing this value may increase the number of labels and is useful when the subject doesn't perform an entire Range of Motion during calibration. Values greater than 1 extend the joint ranges allowed in the subject calibration. Higher values can be set to reduce the chances of mis-labels. Values less than 1 tighten the ranges. Default: 1 |
Enforce Joint Ranges | If selected, Nexus considers only a marker labeling solution that adheres strictly to the joint range values defined in the labeling skeleton (VSK). Default is cleared. |
OSC Stream section
To access the OSC data streaming options:
- On the System Resources tab, select Local Vicon System and in the Properties pane, ensure the Advanced properties are displayed. The data available for output is a subset of the data available using the DSSDK.
To stream device data, you must give the device a name.
OSC Stream properties
This table lists the OSC Stream properties.
Property | Description |
---|---|
Enabled | Turns streaming on/off |
IP Address | Address used to create the outbound socket |
Port | Port number used to create the outbound socket |
Buffer Size | Size of the buffer to allocate to store a frame's worth of data |
Subject Name | If a single subject is loaded, this option enables you turn on/off the subject name in the message address (see Packet contents). If multiple subjects are loaded, the subject name is always included as part of the message address. |
Enable Segments, Markers, … | Turn on/off specific data types |
Packet contents
Each packet consists of a bundle containing one or more messages. Each message has an address associated with it to identify its contents. The /vicon/frame message is always generated; other messages may or may not be present, depending on the output data types selected.
Full address (Base in bold) |
Nexus property | DSSDK type | Data values | Description |
---|---|---|---|---|
/vicon/frame | NA | Output_GetFrameNumber Output_GetFrameRate Output_GetTimecode |
long - Frame Number float - Frame Rate int32 - TimecodeHours int32 - Timecode Minutes int32 - Timecode Seconds int32 - Timecode Frames int32 - Timecode Subframes int32 - Timecode Field Flag int32 - Timecode Standard int32 - Timecode SubframesPerFrame int32 - Timecode UserBits |
Always present in the bundle. Timecode values are only present if the application has timecode enabled. |
/vicon/seg/SUBJECT/SEG_NAME /vicon/seg/SEG_NAME |
Enable Segments | Output_GetSegmentGlobalTranslation Output_GetSegmentGlobalRotationMatrix |
float(3) - Translation float(9) - Rotation matrix |
SUBJECT: Subject Name SEG_NAME: Name of the segment If the Subject Name property is cleared and a single subject is loaded, the SUBJECT portion of the address is omitted. In all other cases it is present. |
/vicon/marker/SUBJECT/MARKER_NAME /vicon/marker/MARKER_NAME |
Enable Markers | Output_GetMarkerGlobalTranslation | float(3) - Translation | SUBJECT: Subject Name MARKER_NAME: Name of the marker If the Subject Name property is cleared and a single subject is loaded, the SUBJECT portion of the address is omitted. In all other cases it is present. |
/vicon/unlabeled/N | Enable Unlabeled Markers | Output_GetUnlabeledMarkerGlobalTranslation | float(3) - Translation | N: A number starting at 0 Unlabeled marker numbers are arbitrary so you can't assume that the same unlabeled marker will be given the same number frame-to-frame. |
/vicon/2D/CameraID | Enable Centroids | Output_GetCentroidPosition | int32 - Number of centroids For each centroid: float(2) - Position float - Radius |
|
/vicon/fp/N | Enable Force Plate | Output_GetGlobalForceVector Output_GetGlobalMomentVector Output_GetGlobalCentreOfPressure |
int32 - Number of samples For each sample: float(3) - Force float(3) - Moment float(3) - CoP |
N: Force plate index number |
/vicon/device/NAME/OUTPUT/COMPONENT | Enable Devices | Output_GetDeviceOutputValue | int32 - Number of samples For each sample: float - Device output value |
NAME: Device name OUTPUT: Device output name COMPONENT: Device output component name |
/vicon/gaze/N | Enable Gaze Vector | Output_GetEyeTrackerGlobalGazeVector Output_GetEyeTrackerGlobalPosition |
float(3) - Gaze vector float(3) - segment position |
N: Eye tracker index |