Skip to content

Install the TNM software

Eran edited this page Nov 7, 2018 · 24 revisions

Windows

Hardware Prerequisites:

  1. Computer - PC
  2. Operating System - Windows 7+
  3. Sensor:
    • Primesense Sensor / Asus Xtion Pro
    • Microsoft Kinect

Installation:

  1. Make sure what camera you are using:
  2. Connect the Kinect sensor and run NiViewer.exe to make sure everything works as expected (should see video and depth streams)
  3. Download the TNM_Ready Windows zip file and unzip it in a Windows environment.
  4. Switch the projection screen orientation to portrait (like this)
  5. Run TNM4.exe

Calibrate the display

The Kinect sensor should be pointed at the black wall opposite to the projection wall. Here's an example from the setup in Athens:

tnm_athens1

We now need to calibrate it. Hit the g key to bring up the GUI. You should see something like that:

gui

Generally, try to move as little as possible, but if you need to play with calibration, this is how:

  • If you can't see your mouse you can disable fullscreen mode by clicking F (uppercase)

The sliders describe the distance from of the screen from the sensor. The sensor is point (0,0,0) on the X,Y,Z axis. Note: The distance is set in millimeters.

  • screenZ - the projection wall's distance from the Sensor (This is negative, since the screen is behind the sensor)
  • screenB - the distance of the projection's Bottom edge in comparison to the sensor
  • screenT - the distance of the projection's Top edge in comparison to the sensor
  • screenL - the distance of the projection's Left edge in comparison to the sensor
  • screenR - the distance of the projection's Right edge in comparison to the sensor
  • spot Z - the distance of the user's spot from the sensor

Additional GUI parameters

  • outsideScreenFactor - how far out the cursor needs to be to be invalid
  • spot.z - distance from sensor [mm]
  • spotRadius - (1st) radius of the spot for selection mode
  • spotRadiusHysteresis - hysteresis, need to be <radius+hysteresis> far to leave state
  • stepInThreshold - (2nd radius) to set state to GOTO_SPOT
  • stepInThresholdHysteresis - hysteresis, need to be <threshold + hysteresis> far for spot to leave state
  • idleThreshold - (3rd radius) to set state to step In
  • idleThresholdHysteresis - hysteresis, need to be <threshold + hysteresis> far for spot to leave state
  • selectionBufferWidth - width of center frame, where no video is selected
  • handShoulderDistance - minimum hand distance from shoulder to start selection
  • selectionTimeout - timeout to select video
  • postSelectionTimeout - timeout between rounds
  • recordingDuration - recording length
  • resultTimeout - duration of RESULT state
  • userMapAlpha - not used anymore. todo remove
  • textAlpha - not used anymore. todo remove
  • margin - frame border margin
  • textY - offset of text assets from center
  • lockCursorY - lock y-axis of cursor to center of screen

Start Populating new videos

The only video appearing will be our test1.oni. It is required to start the database. Record 4 sessions and then run the Data/records/replace4.py script. It will remove the test.oni from the results and would allow a fresh start.

The script takes the first 4 recording and creates a valid dataset.json file. there should be no other files in the directory apart from 4 recordings (more recordings will be ignored) WARNING: this script overrides dataset.json, use carefully. anyways, it makes a backup in 'dataset.json.bak', if something went wrong...

Optional (not necessary but recommended)

Change the path for record:

You can optionally save the records in a different directory (like a Dropbox dir) by:

  1. copy and paste the Data/records folder to wherever you want to put it
  2. edit the Data/_recDir.json file and replace C:/path/ with the path to your records folder
  3. rename _recDir.json to recDir.json

Alternatively you can also place the whole project's folder in Dropbox, that's probably simpler…

Install TeamViewer

For troubleshooting's sake, it's not a bad idea to be able to connect to the computer remotely. So Install TeamViewer and make sure you have the access code (and share it with us)