You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
521 lines
26 KiB
521 lines
26 KiB
# License: Apache 2.0. See LICENSE file in root directory.
|
|
# Copyright(c) 2024 Intel Corporation. All Rights Reserved.
|
|
|
|
import pyrealdds as dds
|
|
from rspy import log, test
|
|
|
|
|
|
device_info = dds.message.device_info.from_json( {
|
|
"name": "Intel RealSense D405",
|
|
"serial": "123622270732",
|
|
"product-line": "D400",
|
|
"topic-root": "realdds/D405/123622270732"
|
|
} )
|
|
|
|
|
|
def build( participant ):
|
|
"""
|
|
Build a D405 device server for use in DDS
|
|
"""
|
|
depth = depth_stream()
|
|
# ir0 = colored_infrared_stream() # Colored infrared currently not sent on DDS
|
|
ir1 = ir_stream( 1 )
|
|
ir2 = ir_stream( 2 )
|
|
color = color_stream()
|
|
extrinsics = get_extrinsics()
|
|
#
|
|
d405 = dds.device_server( participant, device_info.topic_root )
|
|
# d405.init( [ir0, ir1, ir2, color, depth], [], extrinsics ) # Colored infrared currently not sent on DDS
|
|
d405.init( [ir1, ir2, color, depth], [], extrinsics )
|
|
return d405
|
|
|
|
|
|
def colored_infrared_stream():
|
|
stream = dds.ir_stream_server( "Infrared", "Stereo Module" )
|
|
stream.init_profiles( colored_infrared_stream_profiles(), 11 )
|
|
#stream.init_options( stereo_module_options() )
|
|
return stream
|
|
|
|
|
|
def colored_infrared_stream_profiles():
|
|
return [
|
|
dds.video_stream_profile( 30, dds.video_encoding.uyvy, 1280, 720 ),
|
|
dds.video_stream_profile( 15, dds.video_encoding.uyvy, 1280, 720 ),
|
|
dds.video_stream_profile( 5, dds.video_encoding.uyvy, 1280, 720 ),
|
|
dds.video_stream_profile( 90, dds.video_encoding.uyvy, 848, 480 ),
|
|
dds.video_stream_profile( 60, dds.video_encoding.uyvy, 848, 480 ),
|
|
dds.video_stream_profile( 30, dds.video_encoding.uyvy, 848, 480 ),
|
|
dds.video_stream_profile( 15, dds.video_encoding.uyvy, 848, 480 ),
|
|
dds.video_stream_profile( 5, dds.video_encoding.uyvy, 848, 480 ),
|
|
dds.video_stream_profile( 90, dds.video_encoding.uyvy, 640, 480 ),
|
|
dds.video_stream_profile( 60, dds.video_encoding.uyvy, 640, 480 ),
|
|
dds.video_stream_profile( 30, dds.video_encoding.uyvy, 640, 480 ),
|
|
dds.video_stream_profile( 15, dds.video_encoding.uyvy, 640, 480 ),
|
|
dds.video_stream_profile( 5, dds.video_encoding.uyvy, 640, 480 ),
|
|
dds.video_stream_profile( 90, dds.video_encoding.uyvy, 640, 360 ),
|
|
dds.video_stream_profile( 60, dds.video_encoding.uyvy, 640, 360 ),
|
|
dds.video_stream_profile( 30, dds.video_encoding.uyvy, 640, 360 ),
|
|
dds.video_stream_profile( 15, dds.video_encoding.uyvy, 640, 360 ),
|
|
dds.video_stream_profile( 5, dds.video_encoding.uyvy, 640, 360 ),
|
|
dds.video_stream_profile( 90, dds.video_encoding.uyvy, 480, 270 ),
|
|
dds.video_stream_profile( 60, dds.video_encoding.uyvy, 480, 270 ),
|
|
dds.video_stream_profile( 30, dds.video_encoding.uyvy, 480, 270 ),
|
|
dds.video_stream_profile( 15, dds.video_encoding.uyvy, 480, 270 ),
|
|
dds.video_stream_profile( 5, dds.video_encoding.uyvy, 480, 270 ),
|
|
dds.video_stream_profile( 90, dds.video_encoding.uyvy, 424, 240 ),
|
|
dds.video_stream_profile( 60, dds.video_encoding.uyvy, 424, 240 ),
|
|
dds.video_stream_profile( 30, dds.video_encoding.uyvy, 424, 240 ),
|
|
dds.video_stream_profile( 15, dds.video_encoding.uyvy, 424, 240 ),
|
|
dds.video_stream_profile( 5, dds.video_encoding.uyvy, 424, 240 ),
|
|
dds.video_stream_profile( 5, dds.video_encoding.uyvy, 256, 144 )
|
|
]
|
|
|
|
|
|
def depth_stream_profiles():
|
|
return [
|
|
dds.video_stream_profile( 30, dds.video_encoding.z16, 1280, 720 ),
|
|
dds.video_stream_profile( 15, dds.video_encoding.z16, 1280, 720 ),
|
|
dds.video_stream_profile( 5, dds.video_encoding.z16, 1280, 720 ),
|
|
dds.video_stream_profile( 90, dds.video_encoding.z16, 848, 480 ),
|
|
dds.video_stream_profile( 60, dds.video_encoding.z16, 848, 480 ),
|
|
dds.video_stream_profile( 30, dds.video_encoding.z16, 848, 480 ),
|
|
dds.video_stream_profile( 15, dds.video_encoding.z16, 848, 480 ),
|
|
dds.video_stream_profile( 5, dds.video_encoding.z16, 848, 480 ),
|
|
dds.video_stream_profile( 90, dds.video_encoding.z16, 640, 480 ),
|
|
dds.video_stream_profile( 60, dds.video_encoding.z16, 640, 480 ),
|
|
dds.video_stream_profile( 30, dds.video_encoding.z16, 640, 480 ),
|
|
dds.video_stream_profile( 15, dds.video_encoding.z16, 640, 480 ),
|
|
dds.video_stream_profile( 5, dds.video_encoding.z16, 640, 480 ),
|
|
dds.video_stream_profile( 90, dds.video_encoding.z16, 640, 360 ),
|
|
dds.video_stream_profile( 60, dds.video_encoding.z16, 640, 360 ),
|
|
dds.video_stream_profile( 30, dds.video_encoding.z16, 640, 360 ),
|
|
dds.video_stream_profile( 15, dds.video_encoding.z16, 640, 360 ),
|
|
dds.video_stream_profile( 5, dds.video_encoding.z16, 640, 360 ),
|
|
dds.video_stream_profile( 90, dds.video_encoding.z16, 480, 270 ),
|
|
dds.video_stream_profile( 60, dds.video_encoding.z16, 480, 270 ),
|
|
dds.video_stream_profile( 30, dds.video_encoding.z16, 480, 270 ),
|
|
dds.video_stream_profile( 15, dds.video_encoding.z16, 480, 270 ),
|
|
dds.video_stream_profile( 5, dds.video_encoding.z16, 480, 270 ),
|
|
dds.video_stream_profile( 90, dds.video_encoding.z16, 424, 240 ),
|
|
dds.video_stream_profile( 60, dds.video_encoding.z16, 424, 240 ),
|
|
dds.video_stream_profile( 30, dds.video_encoding.z16, 424, 240 ),
|
|
dds.video_stream_profile( 15, dds.video_encoding.z16, 424, 240 ),
|
|
dds.video_stream_profile( 5, dds.video_encoding.z16, 424, 240 ),
|
|
dds.video_stream_profile( 90, dds.video_encoding.z16, 256, 144 )
|
|
]
|
|
|
|
|
|
def depth_stream():
|
|
stream = dds.depth_stream_server( "Depth", "Stereo Module" )
|
|
stream.init_profiles( depth_stream_profiles(), 5 )
|
|
stream.init_options( stereo_module_options() )
|
|
stream.set_intrinsics( depth_stream_intrinsics() )
|
|
return stream
|
|
|
|
|
|
def ir_stream_profiles():
|
|
return [
|
|
dds.video_stream_profile( 25, dds.video_encoding.y16, 1288, 808 ),
|
|
dds.video_stream_profile( 15, dds.video_encoding.y16, 1288, 808 ),
|
|
dds.video_stream_profile( 30, dds.video_encoding.y8, 1280, 720 ),
|
|
dds.video_stream_profile( 15, dds.video_encoding.y8, 1280, 720 ),
|
|
dds.video_stream_profile( 5, dds.video_encoding.y8, 1280, 720 ),
|
|
dds.video_stream_profile( 90, dds.video_encoding.y8, 848, 480 ),
|
|
dds.video_stream_profile( 60, dds.video_encoding.y8, 848, 480 ),
|
|
dds.video_stream_profile( 30, dds.video_encoding.y8, 848, 480 ),
|
|
dds.video_stream_profile( 15, dds.video_encoding.y8, 848, 480 ),
|
|
dds.video_stream_profile( 5, dds.video_encoding.y8, 848, 480 ),
|
|
dds.video_stream_profile( 90, dds.video_encoding.y8, 640, 480 ),
|
|
dds.video_stream_profile( 60, dds.video_encoding.y8, 640, 480 ),
|
|
dds.video_stream_profile( 30, dds.video_encoding.y8, 640, 480 ),
|
|
dds.video_stream_profile( 15, dds.video_encoding.y8, 640, 480 ),
|
|
dds.video_stream_profile( 5, dds.video_encoding.y8, 640, 480 ),
|
|
dds.video_stream_profile( 90, dds.video_encoding.y8, 640, 360 ),
|
|
dds.video_stream_profile( 60, dds.video_encoding.y8, 640, 360 ),
|
|
dds.video_stream_profile( 30, dds.video_encoding.y8, 640, 360 ),
|
|
dds.video_stream_profile( 15, dds.video_encoding.y8, 640, 360 ),
|
|
dds.video_stream_profile( 5, dds.video_encoding.y8, 640, 360 ),
|
|
dds.video_stream_profile( 90, dds.video_encoding.y8, 480, 270 ),
|
|
dds.video_stream_profile( 60, dds.video_encoding.y8, 480, 270 ),
|
|
dds.video_stream_profile( 30, dds.video_encoding.y8, 480, 270 ),
|
|
dds.video_stream_profile( 15, dds.video_encoding.y8, 480, 270 ),
|
|
dds.video_stream_profile( 5, dds.video_encoding.y8, 480, 270 ),
|
|
dds.video_stream_profile( 90, dds.video_encoding.y8, 424, 240 ),
|
|
dds.video_stream_profile( 60, dds.video_encoding.y8, 424, 240 ),
|
|
dds.video_stream_profile( 30, dds.video_encoding.y8, 424, 240 ),
|
|
dds.video_stream_profile( 15, dds.video_encoding.y8, 424, 240 ),
|
|
dds.video_stream_profile( 5, dds.video_encoding.y8, 424, 240 )
|
|
]
|
|
|
|
|
|
def ir_stream( number ):
|
|
stream = dds.ir_stream_server( "Infrared_" + str(number), "Stereo Module" )
|
|
profiles = ir_stream_profiles()
|
|
if number == 1:
|
|
calibration_profile = dds.video_stream_profile( 90, dds.video_encoding.y8, 256, 144 )
|
|
profiles.append( calibration_profile )
|
|
stream.init_profiles( profiles, 7 )
|
|
#stream.init_options( stereo_module_options() )
|
|
stream.set_intrinsics( ir_stream_intrinsics() )
|
|
return stream
|
|
|
|
|
|
def color_stream_profiles():
|
|
return [
|
|
dds.video_stream_profile( 30, dds.video_encoding.yuyv, 1280, 720 ),
|
|
dds.video_stream_profile( 15, dds.video_encoding.yuyv, 1280, 720 ),
|
|
dds.video_stream_profile( 5 , dds.video_encoding.yuyv, 1280, 720 ),
|
|
dds.video_stream_profile( 90, dds.video_encoding.yuyv, 848, 480 ),
|
|
dds.video_stream_profile( 60, dds.video_encoding.yuyv, 848, 480 ),
|
|
dds.video_stream_profile( 30, dds.video_encoding.yuyv, 848, 480 ),
|
|
dds.video_stream_profile( 15, dds.video_encoding.yuyv, 848, 480 ),
|
|
dds.video_stream_profile( 5 , dds.video_encoding.yuyv, 848, 480 ),
|
|
dds.video_stream_profile( 90, dds.video_encoding.yuyv, 640, 480 ),
|
|
dds.video_stream_profile( 60, dds.video_encoding.yuyv, 640, 480 ),
|
|
dds.video_stream_profile( 30, dds.video_encoding.yuyv, 640, 480 ),
|
|
dds.video_stream_profile( 15, dds.video_encoding.yuyv, 640, 480 ),
|
|
dds.video_stream_profile( 5 , dds.video_encoding.yuyv, 640, 480 ),
|
|
dds.video_stream_profile( 90, dds.video_encoding.yuyv, 640, 360 ),
|
|
dds.video_stream_profile( 60, dds.video_encoding.yuyv, 640, 360 ),
|
|
dds.video_stream_profile( 30, dds.video_encoding.yuyv, 640, 360 ),
|
|
dds.video_stream_profile( 15, dds.video_encoding.yuyv, 640, 360 ),
|
|
dds.video_stream_profile( 5 , dds.video_encoding.yuyv, 640, 360 ),
|
|
dds.video_stream_profile( 90, dds.video_encoding.yuyv, 480, 270 ),
|
|
dds.video_stream_profile( 60, dds.video_encoding.yuyv, 480, 270 ),
|
|
dds.video_stream_profile( 30, dds.video_encoding.yuyv, 480, 270 ),
|
|
dds.video_stream_profile( 15, dds.video_encoding.yuyv, 480, 270 ),
|
|
dds.video_stream_profile( 5 , dds.video_encoding.yuyv, 480, 270 ),
|
|
dds.video_stream_profile( 90, dds.video_encoding.yuyv, 424, 240 ),
|
|
dds.video_stream_profile( 60, dds.video_encoding.yuyv, 424, 240 ),
|
|
dds.video_stream_profile( 30, dds.video_encoding.yuyv, 424, 240 ),
|
|
dds.video_stream_profile( 15, dds.video_encoding.yuyv, 424, 240 ),
|
|
dds.video_stream_profile( 5 , dds.video_encoding.yuyv, 424, 240 )
|
|
]
|
|
|
|
|
|
def color_stream():
|
|
stream = dds.color_stream_server( "Color", "Stereo Module" )
|
|
stream.init_profiles( color_stream_profiles(), 1 )
|
|
#stream.init_options( stereo_module_options() )
|
|
stream.set_intrinsics( color_stream_intrinsics() )
|
|
return stream
|
|
|
|
|
|
def stereo_module_options():
|
|
options = []
|
|
|
|
option = dds.option.from_json( ["Backlight Compensation", 0, 0, 1, 1, 0, "Enable / disable backlight compensation"] )
|
|
options.append( option )
|
|
option = dds.option.from_json( ["Brightness", 0, -64, 64, 1, 0, "UVC image brightness"] )
|
|
options.append( option )
|
|
option = dds.option.from_json( ["Contrast", 50, 0, 100, 1, 50, "UVC image contrast"] )
|
|
options.append( option )
|
|
option = dds.option.from_json( ["Exposure", 33000, 1, 165000, 1, 33000, "Depth Exposure (usec)"] )
|
|
options.append( option )
|
|
option = dds.option.from_json( ["Gain", 16, 16, 248, 1, 16, "UVC image gain"] )
|
|
options.append( option )
|
|
option = dds.option.from_json( ["Gamma", 300, 100, 500, 1, 300, "UVC image gamma setting"] )
|
|
options.append( option )
|
|
option = dds.option.from_json( ["Hue", 0, -180, 180, 1, 0, "UVC image hue"] )
|
|
options.append( option )
|
|
option = dds.option.from_json( ["Saturation", 64, 0, 100, 1, 64, "UVC image saturation setting"] )
|
|
options.append( option )
|
|
option = dds.option.from_json( ["Sharpness", 50, 0, 100, 1, 50, "UVC image sharpness setting"] )
|
|
options.append( option )
|
|
option = dds.option.from_json( ["White Balance", 4600, 2800, 6500, 10, 4600,
|
|
"Controls white balance of color image. Setting any value will disable auto white balance"] )
|
|
options.append( option )
|
|
option = dds.option.from_json( ["Enable Auto Exposure", 1, 0, 1, 1, 1, "Enable Auto Exposure"] )
|
|
options.append( option )
|
|
option = dds.option.from_json( ["Enable Auto White Balance", 1, 0, 1, 1, 1, "Enable / disable auto-white-balance"] )
|
|
options.append( option )
|
|
option = dds.option.from_json( ["Visual Preset", 0, 0, 5, 1, 0, "Advanced-Mode Preset"] )
|
|
options.append( option )
|
|
option = dds.option.from_json( ["Power Line Frequency", 3, 0, 3, 1, 3, "Power Line Frequency"] )
|
|
options.append( option )
|
|
option = dds.option.from_json( ["Error Polling Enabled", 1, 0, 1, 1, 0, "Enable / disable polling of camera internal errors"] )
|
|
options.append( option )
|
|
option = dds.option.from_json( ["Output Trigger Enabled", 0, 0, 1, 1, 0, "Generate trigger from the camera to external device once per frame"] )
|
|
options.append( option )
|
|
option = dds.option.from_json( ["Depth Units", 0.0001, 1e-06, 0.01, 1e-06, 0.001, "Number of meters represented by a single depth unit"] )
|
|
options.append( option )
|
|
option = dds.option.from_json( ["Stereo Baseline", 17.9998, 17.9998, 17.9998, 0, 17.9998, "Distance in mm between the stereo imagers"] )
|
|
options.append( option )
|
|
option = dds.option.from_json( ["Global Time Enabled", 1, 0, 1, 1, 1, "Enable/Disable global timestamp"] )
|
|
options.append( option )
|
|
option = dds.option.from_json( ["Hdr Enabled", 0, 0, 1, 1, 0, "HDR Option"] )
|
|
options.append( option )
|
|
option = dds.option.from_json( ["Sequence Name", 0, 0, 3, 1, 1, "HDR Option"] )
|
|
options.append( option )
|
|
option = dds.option.from_json( ["Sequence Size", 2, 2, 2, 1, 2, "HDR Option"] )
|
|
options.append( option )
|
|
option = dds.option.from_json( ["Sequence Id", 0, 0, 2, 1, 0, "HDR Option"] )
|
|
options.append( option )
|
|
option = dds.option.from_json( ["Auto Exposure Limit", 165000, 1, 165000, 1, 33000,
|
|
"Exposure limit is in microseconds. If the requested exposure limit is greater than frame time, it will be set to frame time at runtime. Setting will not take effect until next streaming session."] )
|
|
options.append( option )
|
|
option = dds.option.from_json( ["Auto Gain Limit", 248, 16, 248, 1, 16,
|
|
"Gain limits ranges from 16 to 248. If the requested gain limit is less than 16, it will be set to 16. If the requested gain limit is greater than 248, it will be set to 248. Setting will not take effect until next streaming session."] )
|
|
options.append( option )
|
|
option = dds.option.from_json( ["Auto Exposure Limit Toggle", 0, 0, 1, 1, 0, "Toggle Auto-Exposure Limit"] )
|
|
options.append( option )
|
|
option = dds.option.from_json( ["Auto Gain Limit Toggle", 0, 0, 1, 1, 0, "Toggle Auto-Gain Limit"] )
|
|
options.append( option )
|
|
|
|
return options
|
|
|
|
|
|
def color_stream_intrinsics():
|
|
intrinsics = []
|
|
|
|
intr = dds.video_intrinsics();
|
|
intr.width = 424
|
|
intr.height = 240
|
|
intr.principal_point_x = 210.73512268066406
|
|
intr.principal_point_y = 118.6335678100586
|
|
intr.focal_lenght_x = 215.58554077148438
|
|
intr.focal_lenght_y = 214.98973083496094
|
|
intr.distortion_model = 2
|
|
intr.distortion_coeffs = [-0.05454780161380768,0.056755296885967255,0.0010132350726053119,0.0003381881397217512,-0.01852494664490223]
|
|
intrinsics.append( intr )
|
|
|
|
intr = dds.video_intrinsics();
|
|
intr.width = 480
|
|
intr.height = 270
|
|
intr.principal_point_x = 238.57701110839844
|
|
intr.principal_point_y = 133.4627685546875
|
|
intr.focal_lenght_x = 242.53375244140625
|
|
intr.focal_lenght_y = 241.86343383789063
|
|
intr.distortion_model = 2
|
|
intr.distortion_coeffs = [-0.05454780161380768,0.056755296885967255,0.0010132350726053119,0.0003381881397217512,-0.01852494664490223]
|
|
intrinsics.append( intr )
|
|
|
|
intr = dds.video_intrinsics();
|
|
intr.width = 640
|
|
intr.height = 480
|
|
intr.principal_point_x = 318.1026916503906
|
|
intr.principal_point_y = 177.95034790039063
|
|
intr.focal_lenght_x = 323.3783264160156
|
|
intr.focal_lenght_y = 322.4845886230469
|
|
intr.distortion_model = 2
|
|
intr.distortion_coeffs = [-0.05454780161380768,0.056755296885967255,0.0010132350726053119,0.0003381881397217512,-0.01852494664490223]
|
|
intrinsics.append( intr )
|
|
|
|
intr = dds.video_intrinsics();
|
|
intr.width = 640
|
|
intr.height = 480
|
|
intr.principal_point_x = 317.4702453613281
|
|
intr.principal_point_y = 237.2671356201172
|
|
intr.focal_lenght_x = 431.1711120605469
|
|
intr.focal_lenght_y = 429.9794616699219
|
|
intr.distortion_model = 2
|
|
intr.distortion_coeffs = [-0.05454780161380768,0.056755296885967255,0.0010132350726053119,0.0003381881397217512,-0.01852494664490223]
|
|
intrinsics.append( intr )
|
|
|
|
intr = dds.video_intrinsics();
|
|
intr.width = 848
|
|
intr.height = 480
|
|
intr.principal_point_x = 421.4702453613281
|
|
intr.principal_point_y = 237.2671356201172
|
|
intr.focal_lenght_x = 431.17108154296875
|
|
intr.focal_lenght_y = 429.9794616699219
|
|
intr.distortion_model = 2
|
|
intr.distortion_coeffs = [-0.05454780161380768,0.056755296885967255,0.0010132350726053119,0.0003381881397217512,-0.01852494664490223]
|
|
intrinsics.append( intr )
|
|
|
|
intr = dds.video_intrinsics();
|
|
intr.width = 1280
|
|
intr.height = 720
|
|
intr.principal_point_x = 636.2053833007813
|
|
intr.principal_point_y = 355.90069580078125
|
|
intr.focal_lenght_x = 646.7566528320313
|
|
intr.focal_lenght_y = 644.9691772460938
|
|
intr.distortion_model = 2
|
|
intr.distortion_coeffs = [-0.05454780161380768,0.056755296885967255,0.0010132350726053119,0.0003381881397217512,-0.01852494664490223]
|
|
intrinsics.append( intr )
|
|
|
|
return set( intrinsics )
|
|
|
|
|
|
def depth_ir_common_intrinsics():
|
|
intrinsics = []
|
|
|
|
intr = dds.video_intrinsics();
|
|
intr.width = 424
|
|
intr.height = 240
|
|
intr.principal_point_x = 214.33639526367188
|
|
intr.principal_point_y = 119.0371322631836
|
|
intr.focal_lenght_x = 210.80271911621094
|
|
intr.focal_lenght_y = 210.80271911621094
|
|
intr.distortion_model = 4
|
|
intr.distortion_coeffs = [0.0,0.0,0.0,0.0,0.0]
|
|
intrinsics.append( intr )
|
|
|
|
intr = dds.video_intrinsics();
|
|
intr.width = 480
|
|
intr.height = 270
|
|
intr.principal_point_x = 242.6449737548828
|
|
intr.principal_point_y = 133.9099578857422
|
|
intr.focal_lenght_x = 238.64459228515625
|
|
intr.focal_lenght_y = 238.64459228515625
|
|
intr.distortion_model = 4
|
|
intr.distortion_coeffs = [0.0,0.0,0.0,0.0,0.0]
|
|
intrinsics.append( intr )
|
|
|
|
intr = dds.video_intrinsics();
|
|
intr.width = 640
|
|
intr.height = 360
|
|
intr.principal_point_x = 323.5266418457031
|
|
intr.principal_point_y = 178.54661560058594
|
|
intr.focal_lenght_x = 318.1927795410156
|
|
intr.focal_lenght_y = 318.1927795410156
|
|
intr.distortion_model = 4
|
|
intr.distortion_coeffs = [0.0,0.0,0.0,0.0,0.0]
|
|
intrinsics.append( intr )
|
|
|
|
intr = dds.video_intrinsics();
|
|
intr.width = 640
|
|
intr.height = 480
|
|
intr.principal_point_x = 324.21624755859375
|
|
intr.principal_point_y = 238.26242065429688
|
|
intr.focal_lenght_x = 380.41363525390625
|
|
intr.focal_lenght_y = 380.41363525390625
|
|
intr.distortion_model = 4
|
|
intr.distortion_coeffs = [0.0,0.0,0.0,0.0,0.0]
|
|
intrinsics.append( intr )
|
|
|
|
intr = dds.video_intrinsics();
|
|
intr.width = 848
|
|
intr.height = 480
|
|
intr.principal_point_x = 428.67279052734375
|
|
intr.principal_point_y = 238.0742645263672
|
|
intr.focal_lenght_x = 421.6054382324219
|
|
intr.focal_lenght_y = 421.6054382324219
|
|
intr.distortion_model = 4
|
|
intr.distortion_coeffs = [0.0,0.0,0.0,0.0,0.0]
|
|
intrinsics.append( intr )
|
|
|
|
intr = dds.video_intrinsics();
|
|
intr.width = 1280
|
|
intr.height = 720
|
|
intr.principal_point_x = 647.0532836914063
|
|
intr.principal_point_y = 357.0932312011719
|
|
intr.focal_lenght_x = 636.3855590820313
|
|
intr.focal_lenght_y = 636.3855590820313
|
|
intr.distortion_model = 4
|
|
intr.distortion_coeffs = [0.0,0.0,0.0,0.0,0.0]
|
|
intrinsics.append( intr )
|
|
|
|
return intrinsics
|
|
|
|
|
|
def depth_stream_intrinsics():
|
|
intrinsics = []
|
|
|
|
intr = dds.video_intrinsics();
|
|
intr.width = 256
|
|
intr.height = 144
|
|
intr.principal_point_x = 135.05328369140625
|
|
intr.principal_point_y = 69.09323120117188
|
|
intr.focal_lenght_x = 636.3855590820313
|
|
intr.focal_lenght_y = 636.3855590820313
|
|
intr.distortion_model = 4
|
|
intr.distortion_coeffs = [0.0,0.0,0.0,0.0,0.0]
|
|
intrinsics.append( intr )
|
|
|
|
intrinsics.extend( depth_ir_common_intrinsics() )
|
|
|
|
return set( intrinsics )
|
|
|
|
|
|
def ir_stream_intrinsics():
|
|
return set( depth_ir_common_intrinsics() )
|
|
|
|
|
|
def get_extrinsics():
|
|
extrinsics = {}
|
|
|
|
extr = dds.extrinsics();
|
|
extr.rotation = (0.9999844431877136,0.0014127078466117382,0.0053943851962685585,-0.001408747979439795,0.9999987483024597,-0.0007378021255135536,-0.005395420826971531,0.000730191299226135,0.9999851584434509)
|
|
extr.translation = (6.110243703005835e-05,1.1573569281608798e-05,6.581118213944137e-06)
|
|
extrinsics[("Color","Depth")] = extr
|
|
extr = dds.extrinsics();
|
|
extr.rotation = (0.9999844431877136,0.0014127078466117382,0.0053943851962685585,-0.001408747979439795,0.9999987483024597,-0.0007378021255135536,-0.005395420826971531,0.000730191299226135,0.9999851584434509)
|
|
extr.translation = (6.110243703005835e-05,1.1573569281608798e-05,6.581118213944137e-06)
|
|
extrinsics[("Color","Infrared") ] = extr
|
|
extr = dds.extrinsics();
|
|
extr.rotation = (0.9999844431877136,0.0014127078466117382,0.0053943851962685585,-0.001408747979439795,0.9999987483024597,-0.0007378021255135536,-0.005395420826971531,0.000730191299226135,0.9999851584434509)
|
|
extr.translation = (6.110243703005835e-05,1.1573569281608798e-05,6.581118213944137e-06)
|
|
extrinsics[("Color","Infrared_1")] = extr
|
|
extr = dds.extrinsics();
|
|
extr.rotation = (0.9999844431877136,0.0014127078466117382,0.0053943851962685585,-0.001408747979439795,0.9999987483024597,-0.0007378021255135536,-0.005395420826971531,0.000730191299226135,0.9999851584434509)
|
|
extr.translation = (-0.017938679084181786,1.1573569281608798e-05,6.581118213944137e-06)
|
|
extrinsics[("Color","Infrared_2")] = extr
|
|
extr = dds.extrinsics();
|
|
extr.rotation = (0.9999844431877136,-0.001408747979439795,-0.005395420826971531,0.0014127078466117382,0.9999987483024597,0.000730191299226135,0.0053943851962685585,-0.0007378021255135536,0.9999851584434509)
|
|
extr.translation = (-6.115333235356957e-05,-1.1482620720926207e-05,-6.2597978285339195e-06)
|
|
extrinsics[("Depth","Color")] = extr
|
|
extr = dds.extrinsics();
|
|
extr.rotation = (1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0)
|
|
extr.translation = (0.0,0.0,0.0)
|
|
extrinsics[("Depth","Infrared")] = extr
|
|
extr = dds.extrinsics();
|
|
extr.rotation = (1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0)
|
|
extr.translation = (0.0,0.0,0.0)
|
|
extrinsics[("Depth","Infrared_1")] = extr
|
|
extr = dds.extrinsics();
|
|
extr.rotation = (1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0)
|
|
extr.translation = (-0.017999781295657158,0.0,0.0)
|
|
extrinsics[("Depth","Infrared_2")] = extr
|
|
extr = dds.extrinsics();
|
|
extr.rotation = (0.9999844431877136,-0.001408747979439795,-0.005395420826971531,0.0014127078466117382,0.9999987483024597,0.000730191299226135,0.0053943851962685585,-0.0007378021255135536,0.9999851584434509)
|
|
extr.translation = (-6.115333235356957e-05,-1.1482620720926207e-05,-6.2597978285339195e-06)
|
|
extrinsics[("Infrared","Color")] = extr
|
|
extr = dds.extrinsics();
|
|
extr.rotation = (1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0)
|
|
extr.translation = (0.0,0.0,0.0)
|
|
extrinsics[("Infrared","Depth")] = extr
|
|
extr = dds.extrinsics();
|
|
extr.rotation = (1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0)
|
|
extr.translation = (0.0,0.0,0.0)
|
|
extrinsics[("Infrared","Infrared_1")] = extr
|
|
extr = dds.extrinsics();
|
|
extr.rotation = (1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0)
|
|
extr.translation = (-0.017999781295657158,0.0,0.0)
|
|
extrinsics[("Infrared","Infrared_2")] = extr
|
|
extr = dds.extrinsics();
|
|
extr.rotation = (0.9999844431877136,-0.001408747979439795,-0.005395420826971531,0.0014127078466117382,0.9999987483024597,0.000730191299226135,0.0053943851962685585,-0.0007378021255135536,0.9999851584434509)
|
|
extr.translation = (-6.115333235356957e-05,-1.1482620720926207e-05,-6.2597978285339195e-06)
|
|
extrinsics[("Infrared_1","Color")] = extr
|
|
extr = dds.extrinsics();
|
|
extr.rotation = (1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0)
|
|
extr.translation = (0.0,0.0,0.0)
|
|
extrinsics[("Infrared_1","Depth")] = extr
|
|
extr = dds.extrinsics();
|
|
extr.rotation = (1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0)
|
|
extr.translation = (0.0,0.0,0.0)
|
|
extrinsics[("Infrared_1","Infrared")] = extr
|
|
extr = dds.extrinsics();
|
|
extr.rotation = (1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0)
|
|
extr.translation = (-0.017999781295657158,0.0,0.0)
|
|
extrinsics[("Infrared_1","Infrared_2")] = extr
|
|
extr = dds.extrinsics();
|
|
extr.rotation = (0.9999844431877136,-0.001408747979439795,-0.005395420826971531,0.0014127078466117382,0.9999987483024597,0.000730191299226135,0.0053943851962685585,-0.0007378021255135536,0.9999851584434509)
|
|
extr.translation = (0.01793834939599037,-3.683977774926461e-05,-0.00010337619460187852)
|
|
extrinsics[("Infrared_2","Color")] = extr
|
|
extr = dds.extrinsics();
|
|
extr.rotation = (1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0)
|
|
extr.translation = (0.017999781295657158,0.0,0.0)
|
|
extrinsics[("Infrared_2","Depth")] = extr
|
|
extr = dds.extrinsics();
|
|
extr.rotation = (1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0)
|
|
extr.translation = (0.017999781295657158,0.0,0.0)
|
|
extrinsics[("Infrared_2","Infrared")] = extr
|
|
extr = dds.extrinsics();
|
|
extr.rotation = (1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0)
|
|
extr.translation = (0.017999781295657158,0.0,0.0)
|
|
extrinsics[("Infrared_2","Infrared_1")] = extr
|
|
|
|
return extrinsics
|
|
|