Skip to main content

Camera Configuration

The capture system is configured through a camera config file in JSON format. These files can be configured by modifying the examples given, but they are generated by the HoloCalibration or can be adjusted using the CapturerViewer.

Examples

IMPORTANT they don't work as-is

  • camera_type should be changed to the actual camera to use

  • The serials given in the calibration and config fields are just placeholders.

  • Fields preceded with an underscore (e.g. _color_exposure) are ignored if the underscore is kept.

    • It's mostly used for camera hardware settings to not set them if not expressly stated
  • Fields precessed with two underscores __ are used to add comments to the JSON file

  • cameraconfig.json: contains all the parameters that can be set. In the config object they are divided by camera type.

  • cameraconfig-prerecorded.json: example for prerecorded from camera (RGBD)

See this table for more information on each parameter and specifics for each camera type.

See the specific values the different parameters can take in their own page. But find below a basic explanation of the file:

Keys on the camera_config file:

  • version: 4, version of the camera config format

  • camera_type: cameras to use [kinect | orbbec | recorder]

  • general_config:

    • log_level: minimum log level to output, default is info
    • log-to_console: add console output. In HoloMIT, this will be written to the Unity log file
    • new_frame_timeout: how long the merger should wait for a new frame from the cameras before assuming there's been something that has stopped production of new frames and shuts itself down.
  • config: contains all the fields that configure the input and processing. It can contain a different set of processing and device parameters for each camera, differentiated by the serial number of the cameras. Common parameters should be given with general as serial number.

    • camera_config: general parameters to configure the camera. Only the one in the general will be used.
      • fps: fps of the camera
      • color_height: color resolution
      • depth_height: depth resolution
      • alignment: auto (default, depth to color), color2depth, depth2color.
        • none is also available but only for recording datasets and keeps the native resolution of both color and depth.
    • device: map of configuration parameters for the input cameras or dataset -> See the example cameraconfig for possible fields according to the camera type
    • processing: parameters to configure processing operations. See Processing Parameters
  • recorder_config:

    • record_frames: path to save frames
    • process_data: flag to force data processing even if not needed for recorded outputs.
    • save_[color | depth | pm | depth_encoded | pm_encoded | normals]: set to true to save frames of that category. To use as input afterward, saving color and depth is enough.
  • output_config: configuration of the output

    • representation_type: encode position map or depth (overwritten by the value given from HoloMIT)
    • normals: compute and output normals of the point cloud
    • general_purpose: compute general purpose for self representation (it will also affect Encoding in HoloCuda for Remote rendering).
  • calibration: See Calibration for details