====== OptiTrack Plugin for Acquire3D ====== === Overview === The NaturalPoint™ OptiTrack™ Plugin for [[http://64.64.0.228/v3dwiki/index.php?title=Acquire3D_Documentation|Acquire3D™]] provides support for the following [[http://www.naturalpoint.com/|NaturalPoint™]] [[http://www.naturalpoint.com/optitrack/|OptiTrack™]] camera systems: Cameras * [[http://www.naturalpoint.com/optitrack/products/v100-r2/|Flex 100:R1™, Flex 100:R2™, Flex 100:R2 FS™]]\\ * [[http://www.naturalpoint.com/optitrack/products/flex-13/|Flex 13™]]\\ * [[http://www.naturalpoint.com/optitrack/products/s250e/|S250e™]]\\ \\ Hubs * [[http://www.naturalpoint.com/optitrack/products/optihub/|OptiHub™, OptiHub 2™]]\\ * [[http://www.naturalpoint.com/optitrack/products/esync/|eSync™]]\\ \\ **NOTE:** Acquire3D requires the NaturalPoint [[http://www.naturalpoint.com/optitrack/products/camera-sdk/|CameraSDK]] version 1.2.2 (or later) to be installed on your computer. During the initial set up we highly recommend that you toggle the Save Data as CSV file and Save Settings check boxes for all initial captures. Should you require C-Motion's help with set up or problem solving we will require the problematic data as well as a copy of the settings .xml file and .csv files for each of the recordings. ==== The Plugin Interface ==== The user interface presents hardware and signal controls on the left and camera view displays on the right. {{:ScreenShot_Disconnected.png}} ==== Connecting ==== Once the camera system is set up and connected via USB cable to the computer you can connect Acquire 3D to the camera system. To connect to an OptiTrack camera system, click the Connection button at the top left of the main window. A list of available plugins will appear. From the list select NaturalPoint OptiTrack item. {{:ScreenShot_Connecting.png}} When a plugin is disconnected, an empty circle appears next to the plugin's name. {{:ScreenShot_Connected.png}} When a plugin is connected, an filled green circle appears next to the plugin's name. ==== Settings ==== {{:Capture_2D_settings.png}} === Stream === The Stream portion of the settings dialogue allows you to control the data that is coming in such as Thread Priority and Thread Sleep Time. == Thread Priority Preference == The code that acquires frames operates in a separate thread of execution (much like a separate program). Each thread (or program) on a computer has a priority. In fact, if you start the Windows task manager (right click the Task bar at the bottom of the screen) you'll see, under the processes tab, that you can view and set the "priority" of any program. Normal Priority is usually fine for most threads (and programs). {{:thread_priority.png}} == Thread Sleep Time Preference == The sleep time is how long Acquire3D™ code waits (in milliseconds) before trying to acquire another frame. This gives other programs on the computer time to perform their tasks. As long as the sleep time is smaller than the camera frequency time (in milliseconds), everything should work. OptiTrack cameras running at 100 Hz equals 10 milliseconds (1000 / 100). So the thread sleep time should be less than 10 ideally. Values of 1 through 5 are good choices so as to reduce the chances of missing frames. If you set the thread priority to very high and the sleep time very low you will get the best capture performance, but the user interface (along with the rest of your computer) might become much less responsive. {{:threadsleep.png}} === Display === The display portion of the settings dialogue allows you to control the program outputs by personalizing the graphics. {{:Display_settings.png}} == Text Size == This allows you to change the text size for all writing in both the Settings dialog and in the main application window. Text size may range between 8 and 16 with the default set at 8. == Redraw Rate == The redraw rate controls at what frequency the graphics on the right hand side of the screen are redrawn. The higher the redraw rate the smoother the movements in the graphics will appear. However, drawing at higher rates takes more of the computer's processing time and, depending on the speed of the computer, may result in frames being dropped. Acquire3D™ limits the redraw rate to 1000Hz, for practical purposes the human eye cannot appreciate the difference of a redraw rate above 50 Hz. == Draw Empty Frames == The draw empty frames checkbox tells the program that when the box is checked if there are no new frames when it is time for the graphics to redraw to leave the previous graphics on the screen. If the box is not checked then if there is no new data then graphics will not be drawn. Leaving the checkbox checked will result in smoother graphics however, you will have no visual indication that frames may be missing. === Record === The record portion of the settings dialogue controls record function which allows for signal when recordings begin and end as well as saving preferences. {{:Capture_2D_record_settings.png}} == Countdown == The countdown option allows the user to implement a delay between when they push the Start Recording button and when the recording actually begins. This allows a single user to move from the computer to the capture volume before the recording starts. == Beep During Countdown == If the count down time is greater than 1 second than selecting the "beep during countdown box" will result in a beep each second as the countdown progresses. This allows a single user to know when the motion capture is starting if they are standing in the capture volume and are unable to see the computer screen. == Update Previews == If the update previews checkbox is selected the computer will continue to redraw the graphics while the computer is recording. If this box is selected on a slower computer you may risk dropping frames. However, for fast computers this allows you to see the motions as they are being recorded. == Save Data as CSV == The save data as CSV checkbox allows you to save a .csv (comma separated value) file for each motion capture. The .csv file is a spread sheet that contains the values for the position (x and y coordinates), height, and width for each data point, during each frame, for each camera. The .csv files can be opened in pograms such as open Office and Microsoft Excel. == Save Settings == The save settings checkbox saves a separate .xml file for each motion capture that is recorded. The .xml file contains the details of the settings for both the settings dialog and the main application window. == Beep After Save == The beep after save checkbox gives a beep when the file has successfully been saved. This allows a single user who is the capture volume to know that the recording has stopped even though they may not be able to see the computer screen. === Save Options and Defaults === == Save Settings File == This allows you to save the current settings as an .xml file in order to use them in the future. == Open Settings File == This allows you to apply the settings that have been saved as an .xml file to the program. As a result you can easily save and reapply settings for a particular project. == Defaults == This resets all the settings options to their normal values. Normal values are as follows: Thread Priority: Normal Thread Sleep: 10 ms Text Size: 8 pts Redraw Rate 30 Hz Draw Empty Frames: Off Countdown: 5 sec Beep During Countdown: On Update Previews: On Save Data as CSV: Off Save Settings: Off Beep After Save: On ==== The Hardware Tab ==== The Hardware tab shows a list of connected cameras, indicating each camera's model, serial no. and revision no. Below the camera list are tabs for controlling various camera settings and external hub sync pulse settings. The camera display views, on the right, show what each camera sees in the capture volume. {{:ScreenShot_Connected_Hardware.png}} === The Camera Settings Tab === * **Strobe IR** Acquire3D™ automatically sets the cameras to strobe their IR lights (the camera's LED ring will strobe on and off quickly instead of emitting infrared (IR) light continuously). Having the IR lights set to strobe as opposed to staying on continuously allows the lights to cool off and increases their life span. The option is given to turn off the strobe setting for cases where the lights will be close to the eyes of some one with photosensitive epilepsy as the strobe light may cause seizures. * **Intensity** The IRED level determines intensity of the infrared light each camera emits. IR light illuminates the volume and reflects off of markers. More IR light may be needed in rooms with more natural light. Internally, the OptiTrack cameras use IRED values 1 through 6 for strobing, with 6 being the brightest strobe setting. Values 6 through 12 are used for non-strobing, with 12 being the brightest setting. The internal values 13 and 14 are meaningless and should be avoided. A value of 15 is meaningful. Acquire3D™ uses percentages to represent IRED values. The default IRED value in Acquire3D™ is 80%, which corresponds to IRED value 12, until changed by the user. Avoid slider values that correspond to values 13 and 14. * **Threshold** The threshold value determines which pixel intensities are considered part of a tracked centroid. Higher threshold values reduce unwanted reflective noise in the volume. Internally, the OptiTrack cameras use threshold values 0 through 253 inclusive. Beyond 245 noise artifacts occur so Acquire3D™ only allows values 0 through 245 using percentages (i.e., 100% sets a camera's internal threshold setting to 245). The default threshold value in Acquire3D™ is 100% until changed by the user. * **Exposure** The exposure value alters the sensitivity of the camera allowing more light to enter the lenses as the percentage increases and less as the percentage decreases. The default value is set at 10%. An increase in exposure will make the markers easier to see but will also drastically increase the noise as the cameras pick up other reflections in the environment. Decreasing the exposure will decrease both the visibility of environmental noise and of the markers themselves. * **Show Video** The cameras can be put into greyscale video mode, by selecting the Show Video checkbox, in order to help position the cameras properly when setting up. It is not recommended that all cameras be placed in video mode at once as this can create a significant time lag in the graphics and slow down the computer. It is also not recommended that the video mode be left on while recording as this slows down the computer and could result in dropped frames. ==== The Signals Tab ==== The Signal tab shows a list of visible centroids by cameras serial number along with the location, size and frame number of each centroid. Below the table of data is a 2-D graph. This graph updates depending on which row is selected in the camera and centroid list. The horizontal axis shows the centroid's frame id and the vertical axis shows the x and y values, in red and blue respectively, of the selected centroid. {{:ScreenShot_Connected_Signals.png}} Below the Hardware and Signals tabs are the following controls: * **Frames to record** indicates how many frames will be saved during a recording. The number of frames to record depends on the record duration (see Acquire3D interface documentation) and the frequency setting (see the Hardware tab). * **Broadcast (available in Server product only)** transmits camera data to client applications using the standard Acquire3D XML description over TCP/IP. * **Plugin Help button** opens this help page in the default web browser. * **About Plugin button** displays plugin version number, release date, copyright and other information.