{ "variable_list": [ { "name": "probe_ref_in_tracker", "type": "transform_obj" }, { "name": "probe_in_tracker", "type": "transform_obj" }, { "name": "femur_ref_in_tracker", "type": "transform_obj" }, { "name": "femur_in_femur_ref", "type": "transform_obj", "value": [ 233.96470027218044, 42.187788316685904, 306.58865752584546, 0.8190555328954703, -0.26342165437712295, 0.24510986086006864, -0.4468536921048027 ] }, { "name": "tibia_ref_in_tracker", "type": "transform_obj" }, { "name": "tibia_in_tibia_ref", "type": "transform_obj", "value": [ 117.21224919149104, 38.32624851921699, -72.90989200004259, -0.19759914802407674, 0.6557689584549056, -0.28931051779904626, 0.6687458965242118 ] }, { "name": "camera_ref_in_tracker", "type": "transform_obj" }, { "name": "camera_ref_in_tracker_error", "type": "double_obj" }, { "name": "len_ref_in_camera_ref", "type": "transform_obj" }, { "name": "camera_in_len_ref", "type": "transform_obj" }, { "name": "len_ref_in_tracker", "type": "transform_obj" }, { "name": "camera_in_tracker", "type": "transform_obj" }, { "name": "mvs_ref_in_tracker", "type": "transform_obj" }, { "name": "left_camera_in_tracker", "type": "transform_obj" }, { "name": "right_camera_in_tracker", "type": "transform_obj" }, { "name": "drill_ref_in_tracker", "type": "transform_obj" }, { "name": "drill_in_tracker", "type": "transform_obj" }, { "name": "femur_in_tracker", "type": "transform_obj" }, { "name": "tibia_in_tracker", "type": "transform_obj" }, { "name": "probe_in_femur_ref", "type": "transform_obj" }, { "name": "probe_in_tibia_ref", "type": "transform_obj" }, { "name": "probe_in_femur", "type": "transform_obj" }, { "name": "probe_in_tibia", "type": "transform_obj" }, { "name": "femur_in_camera_ref", "type": "transform_obj" }, { "name": "tibia_in_camera_ref", "type": "transform_obj" }, { "name": "probe_tip_in_femur_ref", "type": "scalarxyz_obj" }, { "name": "probe_tip_in_tibia_ref", "type": "scalarxyz_obj" }, { "name": "picked_point_in_femur_ref", "type": "scalarxyz_obj" }, { "name": "picked_point_in_tibia_ref", "type": "scalarxyz_obj" }, { "name": "probe_tip_in_femur", "type": "scalarxyz_obj" }, { "name": "probe_tip_in_tibia", "type": "scalarxyz_obj" }, { "name": "picked_point_in_femur", "type": "scalarxyz_obj" }, { "name": "picked_point_in_tibia", "type": "scalarxyz_obj" }, { "name": "camera_in_tracker_denoised", "type": "transform_obj" }, { "name": "left_camera_in_tracker_denoised", "type": "transform_obj" }, { "name": "right_camera_in_tracker_denoised", "type": "transform_obj" }, { "name": "femur_in_tracker_denoised", "type": "transform_obj" }, { "name": "tibia_in_tracker_denoised", "type": "transform_obj" } ], "object_list": [ { "type": "transform_tree", "name": "transform_tree", "init_config": { "node_list": [ { "name": "tracker" }, { "name": "probe_ref", "parent": "tracker", "transform_var_name": "probe_ref_in_tracker" }, { "name": "probe", "parent": "probe_ref", "transform": [ 0, 0, 0, 1, 0, 0, 0 ] }, { "name": "femur_ref", "parent": "tracker", "transform_var_name": "femur_ref_in_tracker" }, { "name": "femur", "parent": "femur_ref", "transform_var_name": "femur_in_femur_ref" }, { "name": "tibia_ref", "parent": "tracker", "transform_var_name": "tibia_ref_in_tracker" }, { "name": "tibia", "parent": "tibia_ref", "transform_var_name": "tibia_in_tibia_ref" }, { "name": "camera_ref", "parent": "tracker", "transform_var_name": "camera_ref_in_tracker" }, { "name": "len_ref", "parent": "camera_ref", "transform_var_name": "len_ref_in_camera_ref" }, { "name": "camera", "parent": "len_ref", "transform_var_name": "camera_in_len_ref" }, { "name": "mvs_ref", "parent": "tracker", "transform_var_name": "mvs_ref_in_tracker" }, { "name": "left_camera", "parent": "mvs_ref", "transform": [ 43.0024873290043, -36.6555005431208, -39.1675882200710, 0.331666968316702, 0.624070730348051, 0.322514541601977, -0.629696050571802 ] }, { "name": "right_camera", "parent": "mvs_ref", "transform": [ 43.4854235778036, -37.6467021757064, -104.326293757405, 0.330462419537311, 0.628820745114726, 0.321594183888926, -0.626064086716146 ] }, { "name": "drill_ref", "parent": "tracker", "transform_var_name": "drill_ref_in_tracker" }, { "name": "drill", "parent": "drill_ref", "transform": [ -88.71110327911822, -44.459110684986626, -51.32877691381532, -0.606536084660151, 0.3634748657130698, -0.3346859426031122, 0.6228846761832131 ] } ] }, "start_config": { "watch_list": [ { "target": "len_ref", "observer": "tracker", "transform_var_name": "len_ref_in_tracker" }, { "target": "camera", "observer": "tracker", "transform_var_name": "camera_in_tracker" }, { "target": "left_camera", "observer": "tracker", "transform_var_name": "left_camera_in_tracker" }, { "target": "right_camera", "observer": "tracker", "transform_var_name": "right_camera_in_tracker" }, { "target": "drill", "observer": "tracker", "transform_var_name": "drill_in_tracker" }, { "target": "femur", "observer": "tracker", "transform_var_name": "femur_in_tracker" }, { "target": "tibia", "observer": "tracker", "transform_var_name": "tibia_in_tracker" }, { "target": "probe", "observer": "tracker", "transform_var_name": "probe_in_tracker" }, { "target": "probe", "observer": "femur_ref", "transform_var_name": "probe_in_femur_ref" }, { "target": "probe", "observer": "tibia_ref", "transform_var_name": "probe_in_tibia_ref" }, { "target": "probe", "observer": "femur", "transform_var_name": "probe_in_femur" }, { "target": "probe", "observer": "tibia", "transform_var_name": "probe_in_tibia" }, { "target": "femur", "observer": "camera_ref", "transform_var_name": "femur_in_camera_ref" }, { "target": "tibia", "observer": "camera_ref", "transform_var_name": "tibia_in_camera_ref" } ] } }, { "type": "ndi_interface", "name": "ndi", "init_config": { "address_type": "ethernet", "ip": "192.168.1.202", "tcp_port": 8765, "com_port": "/dev/ttyUSB0", "tool_list": [ { "rom_path": "/home/tpx/data/roms/20241207Exp/Probe_Small_4BallFix.rom", "serial_number": "3DD50000", "outputs": { "transform": "probe_ref_in_tracker" } }, { "rom_path": "/home/tpx/data/roms/20241207Exp/Glass_4Ball_2Fix.rom", "outputs": { "transform": "camera_ref_in_tracker", "marker_uncertainty": "camera_ref_in_tracker_error" } }, { "rom_path": "/home/tpx/data/roms/20241207Exp/Glass_4Ball_1Fix.rom", "outputs": { "transform": "mvs_ref_in_tracker" } }, { "rom_path": "/home/tpx/data/roms/20241207Exp/Glass_3Ball_7Fix.rom", "outputs": { "transform": "drill_ref_in_tracker" } }, { "rom_path": "/home/tpx/data/roms/20241207Exp/Glass_3Ball_6Fix.rom", "serial_number": "39B33001", "outputs": { "transform": "femur_ref_in_tracker" } }, { "rom_path": "/home/tpx/data/roms/20241207Exp/Glass_3Ball_5Fix.rom", "outputs": { "transform": "tibia_ref_in_tracker" } } ] }, "start_config": { "allow_unreliable": true, "prefer_stream_tracking": false } }, { "type": "variable_validity_watcher", "name": "probe_visibility_watcher", "start_config": { "variable_name": "probe_in_tracker" } }, { "type": "transform_obj_validity_watcher", "name": "camera_visibility_watcher", "start_config": { "variable_name": "camera_ref_in_tracker" } }, { "type": "transform_obj_validity_watcher", "name": "femur_visibility_watcher", "start_config": { "variable_name": "femur_ref_in_tracker" } }, { "type": "transform_obj_validity_watcher", "name": "tibia_visibility_watcher", "start_config": { "variable_name": "tibia_ref_in_tracker" } }, { "type": "scalarxyz_transformer", "name": "probe_tip_in_femur_ref_transformer", "start_config": { "transform_type": "point", "transform_var_name": "probe_in_femur_ref", "target_value": [ 0, 0, 0 ], "output_var_name": "probe_tip_in_femur_ref" }, "dependencies": [ "ndi", "transform_tree" ] }, { "type": "scalarxyz_transformer", "name": "probe_tip_in_tibia_ref_transformer", "start_config": { "transform_type": "point", "transform_var_name": "probe_in_tibia_ref", "target_value": [ 0, 0, 0 ], "output_var_name": "probe_tip_in_tibia_ref" }, "dependencies": [ "ndi", "transform_tree" ] }, { "type": "transform_stabilizer", "name": "point_picker_in_femur_ref", "start_config": { "stable_type": "point", "input_var_name": "probe_tip_in_femur_ref", "output_var_name": "picked_point_in_femur_ref", "linear_tolerance_mm": 0.15, "temporal_interval_s": 3 }, "dependencies": [ "probe_tip_in_femur_ref_transformer" ] }, { "type": "transform_stabilizer", "name": "point_picker_in_tibia_ref", "start_config": { "stable_type": "point", "input_var_name": "probe_tip_in_tibia_ref", "output_var_name": "picked_point_in_tibia_ref", "linear_tolerance_mm": 0.15, "temporal_interval_s": 3 }, "dependencies": [ "probe_tip_in_tibia_ref_transformer" ] }, { "type": "scalarxyz_obj_watcher", "name": "picked_point_watcher_for_femur_ref", "start_config": { "variable_name": "picked_point_in_femur_ref" } }, { "type": "scalarxyz_obj_watcher", "name": "picked_point_watcher_for_tibia_ref", "start_config": { "variable_name": "picked_point_in_tibia_ref" } }, { "type": "transform_obj_watcher", "name": "femur_registration_result_watcher", "start_config": { "variable_name": "femur_in_femur_ref" } }, { "type": "transform_obj_watcher", "name": "tibia_registration_result_watcher", "start_config": { "variable_name": "tibia_in_tibia_ref" } }, { "type": "kalman_denoiser", "name": "camera_denoiser", "init_config": { "variable_in": "camera_in_tracker", "variable_out": "camera_in_tracker_denoised" } }, { "type": "kalman_denoiser", "name": "left_camera_denoiser", "init_config": { "variable_in": "left_camera_in_tracker", "variable_out": "left_camera_in_tracker_denoised" } }, { "type": "kalman_denoiser", "name": "right_camera_denoiser", "init_config": { "variable_in": "right_camera_in_tracker", "variable_out": "right_camera_in_tracker_denoised" } }, { "type": "kalman_denoiser", "name": "femur_denoiser", "init_config": { "variable_in": "femur_in_tracker", "variable_out": "femur_in_tracker_denoised" } }, { "type": "kalman_denoiser", "name": "tibia_denoiser", "init_config": { "variable_in": "tibia_in_tracker", "variable_out": "tibia_in_tracker_denoised" } }, { "type": "transform_obj_recorder", "name": "camera_ref_recorder", "start_config": { "variable_name": "camera_ref_in_tracker", "save_file": "camera_ref.txt" } }, { "type": "empty_object", "name": "tracker_all", "dependencies": [ "transform_tree", "ndi", "probe_visibility_watcher", "camera_visibility_watcher", "femur_visibility_watcher", "tibia_visibility_watcher", "femur_denoiser", "tibia_denoiser", "camera_denoiser", "left_camera_denoiser", "right_camera_denoiser", "camera_ref_recorder" ] } ] }