From fbf4c80b9e7dabb6e2bbcb94df44e627de5646dc Mon Sep 17 00:00:00 2001 From: Théo de la Hogue Date: Wed, 27 Sep 2023 18:02:34 +0200 Subject: Updating illustrations. --- docs/img/aoi_2d_description.png | Bin 0 -> 7458 bytes docs/img/aoi_3d_description.png | Bin 14538 -> 16928 bytes docs/img/aoi_matcher.png | Bin 0 -> 16444 bytes docs/img/aoi_projection.png | Bin 20707 -> 0 bytes docs/img/aoi_scan_path.png | Bin 29067 -> 13583 bytes docs/img/ar_frame.png | Bin 24931 -> 16684 bytes docs/img/ar_frame_background.png | Bin 101101 -> 0 bytes docs/img/ar_frame_gaze_movement_identifier.png | Bin 27362 -> 0 bytes docs/img/ar_frame_heatmap.png | Bin 60597 -> 0 bytes docs/img/ar_frame_scan_path.png | Bin 18906 -> 0 bytes docs/img/ar_frame_visualisation.png | Bin 31964 -> 0 bytes docs/img/ar_layer.png | Bin 19460 -> 16374 bytes docs/img/ar_layer_aoi_matcher.png | Bin 22948 -> 0 bytes docs/img/ar_layer_aoi_scan_path.png | Bin 14711 -> 0 bytes docs/img/ar_layer_aoi_scene.png | Bin 9014 -> 0 bytes docs/img/aruco_camera_aoi_frame.png | Bin 0 -> 41104 bytes docs/img/aruco_camera_aoi_projection.png | Bin 57019 -> 34892 bytes docs/img/aruco_camera_frame.png | Bin 49201 -> 31515 bytes .../aruco_camera_gaze_movement_identification.png | Bin 56059 -> 36834 bytes docs/img/aruco_camera_markers_detection.png | Bin 52844 -> 35629 bytes docs/img/aruco_camera_pose_estimation.png | Bin 51798 -> 34695 bytes docs/img/aruco_dictionaries.png | Bin 89114 -> 66662 bytes docs/img/aruco_markers_description.png | Bin 17207 -> 16478 bytes docs/img/aruco_scene.png | Bin 17124 -> 0 bytes docs/img/background.png | Bin 0 -> 189282 bytes docs/img/circle_intersection.png | Bin 10800 -> 0 bytes docs/img/contains_point.png | Bin 6505 -> 0 bytes docs/img/detected_markers.png | Bin 14941 -> 0 bytes docs/img/distance.png | Bin 9679 -> 0 bytes docs/img/fixation_and_saccade.png | Bin 22230 -> 0 bytes docs/img/gaze_movement_identifier.png | Bin 0 -> 22800 bytes docs/img/get_last_before.png | Bin 9017 -> 0 bytes docs/img/get_last_until.png | Bin 9113 -> 0 bytes docs/img/heatmap.png | Bin 46531 -> 50869 bytes docs/img/opencv_aruco.png | Bin 0 -> 25065 bytes docs/img/optic_calibrated.png | Bin 9118 -> 0 bytes docs/img/optic_distorsion.png | Bin 21220 -> 0 bytes docs/img/overlapping.png | Bin 15668 -> 0 bytes docs/img/point_spread.png | Bin 8542 -> 8454 bytes docs/img/pop_last_before.png | Bin 10447 -> 0 bytes docs/img/pop_last_until.png | Bin 11074 -> 0 bytes docs/img/pose_estimation.png | Bin 15818 -> 0 bytes docs/img/scan_path.png | Bin 20567 -> 12724 bytes docs/img/scene.png | Bin 44671 -> 32079 bytes docs/img/timestamped_gaze_positions.png | Bin 23134 -> 11209 bytes docs/img/vision_cone.png | Bin 14240 -> 0 bytes docs/img/visualisation.png | Bin 0 -> 23984 bytes .../aruco_markers_pipeline/aoi_3d_description.md | 33 ++++++++------------- .../aruco_markers_pipeline/aoi_3d_frame.md | 30 +++++++++++++++---- .../aruco_markers_pipeline/aoi_3d_projection.md | 5 ++-- .../aruco_markers_description.md | 30 +++++++++---------- .../aruco_markers_pipeline/introduction.md | 6 ++-- .../aruco_markers_pipeline/pose_estimation.md | 8 ++--- .../gaze_analysis_pipeline/aoi_2d_description.md | 26 ++++++++-------- .../gaze_analysis_pipeline/aoi_analysis.md | 26 +++++++++++----- .../gaze_analysis_pipeline/background.md | 4 +-- .../configuration_and_execution.md | 4 +-- docs/user_guide/gaze_analysis_pipeline/heatmap.md | 2 +- .../timestamped_gaze_positions_edition.md | 2 +- .../gaze_analysis_pipeline/visualisation.md | 2 +- 60 files changed, 100 insertions(+), 78 deletions(-) create mode 100644 docs/img/aoi_2d_description.png create mode 100644 docs/img/aoi_matcher.png delete mode 100644 docs/img/aoi_projection.png delete mode 100644 docs/img/ar_frame_background.png delete mode 100644 docs/img/ar_frame_gaze_movement_identifier.png delete mode 100644 docs/img/ar_frame_heatmap.png delete mode 100644 docs/img/ar_frame_scan_path.png delete mode 100644 docs/img/ar_frame_visualisation.png delete mode 100644 docs/img/ar_layer_aoi_matcher.png delete mode 100644 docs/img/ar_layer_aoi_scan_path.png delete mode 100644 docs/img/ar_layer_aoi_scene.png create mode 100644 docs/img/aruco_camera_aoi_frame.png delete mode 100644 docs/img/aruco_scene.png create mode 100644 docs/img/background.png delete mode 100644 docs/img/circle_intersection.png delete mode 100644 docs/img/contains_point.png delete mode 100644 docs/img/detected_markers.png delete mode 100644 docs/img/distance.png delete mode 100644 docs/img/fixation_and_saccade.png create mode 100644 docs/img/gaze_movement_identifier.png delete mode 100644 docs/img/get_last_before.png delete mode 100644 docs/img/get_last_until.png create mode 100644 docs/img/opencv_aruco.png delete mode 100644 docs/img/optic_calibrated.png delete mode 100644 docs/img/optic_distorsion.png delete mode 100644 docs/img/overlapping.png delete mode 100644 docs/img/pop_last_before.png delete mode 100644 docs/img/pop_last_until.png delete mode 100644 docs/img/pose_estimation.png delete mode 100644 docs/img/vision_cone.png create mode 100644 docs/img/visualisation.png diff --git a/docs/img/aoi_2d_description.png b/docs/img/aoi_2d_description.png new file mode 100644 index 0000000..51a98b0 Binary files /dev/null and b/docs/img/aoi_2d_description.png differ diff --git a/docs/img/aoi_3d_description.png b/docs/img/aoi_3d_description.png index 794ef68..caf7efc 100644 Binary files a/docs/img/aoi_3d_description.png and b/docs/img/aoi_3d_description.png differ diff --git a/docs/img/aoi_matcher.png b/docs/img/aoi_matcher.png new file mode 100644 index 0000000..c9c6dcd Binary files /dev/null and b/docs/img/aoi_matcher.png differ diff --git a/docs/img/aoi_projection.png b/docs/img/aoi_projection.png deleted file mode 100644 index a83b9cd..0000000 Binary files a/docs/img/aoi_projection.png and /dev/null differ diff --git a/docs/img/aoi_scan_path.png b/docs/img/aoi_scan_path.png index 7cac491..80c65d4 100644 Binary files a/docs/img/aoi_scan_path.png and b/docs/img/aoi_scan_path.png differ diff --git a/docs/img/ar_frame.png b/docs/img/ar_frame.png index 65fa0ea..6ab7eeb 100644 Binary files a/docs/img/ar_frame.png and b/docs/img/ar_frame.png differ diff --git a/docs/img/ar_frame_background.png b/docs/img/ar_frame_background.png deleted file mode 100644 index 7bc16da..0000000 Binary files a/docs/img/ar_frame_background.png and /dev/null differ diff --git a/docs/img/ar_frame_gaze_movement_identifier.png b/docs/img/ar_frame_gaze_movement_identifier.png deleted file mode 100644 index 8a66cac..0000000 Binary files a/docs/img/ar_frame_gaze_movement_identifier.png and /dev/null differ diff --git a/docs/img/ar_frame_heatmap.png b/docs/img/ar_frame_heatmap.png deleted file mode 100644 index 812cc8f..0000000 Binary files a/docs/img/ar_frame_heatmap.png and /dev/null differ diff --git a/docs/img/ar_frame_scan_path.png b/docs/img/ar_frame_scan_path.png deleted file mode 100644 index 671d6a5..0000000 Binary files a/docs/img/ar_frame_scan_path.png and /dev/null differ diff --git a/docs/img/ar_frame_visualisation.png b/docs/img/ar_frame_visualisation.png deleted file mode 100644 index a9c9032..0000000 Binary files a/docs/img/ar_frame_visualisation.png and /dev/null differ diff --git a/docs/img/ar_layer.png b/docs/img/ar_layer.png index 418d879..ec42c22 100644 Binary files a/docs/img/ar_layer.png and b/docs/img/ar_layer.png differ diff --git a/docs/img/ar_layer_aoi_matcher.png b/docs/img/ar_layer_aoi_matcher.png deleted file mode 100644 index 63caf4d..0000000 Binary files a/docs/img/ar_layer_aoi_matcher.png and /dev/null differ diff --git a/docs/img/ar_layer_aoi_scan_path.png b/docs/img/ar_layer_aoi_scan_path.png deleted file mode 100644 index 1a4dad3..0000000 Binary files a/docs/img/ar_layer_aoi_scan_path.png and /dev/null differ diff --git a/docs/img/ar_layer_aoi_scene.png b/docs/img/ar_layer_aoi_scene.png deleted file mode 100644 index 96bfc12..0000000 Binary files a/docs/img/ar_layer_aoi_scene.png and /dev/null differ diff --git a/docs/img/aruco_camera_aoi_frame.png b/docs/img/aruco_camera_aoi_frame.png new file mode 100644 index 0000000..944f9ff Binary files /dev/null and b/docs/img/aruco_camera_aoi_frame.png differ diff --git a/docs/img/aruco_camera_aoi_projection.png b/docs/img/aruco_camera_aoi_projection.png index 59a8ab0..ec708db 100644 Binary files a/docs/img/aruco_camera_aoi_projection.png and b/docs/img/aruco_camera_aoi_projection.png differ diff --git a/docs/img/aruco_camera_frame.png b/docs/img/aruco_camera_frame.png index 443285f..0825f18 100644 Binary files a/docs/img/aruco_camera_frame.png and b/docs/img/aruco_camera_frame.png differ diff --git a/docs/img/aruco_camera_gaze_movement_identification.png b/docs/img/aruco_camera_gaze_movement_identification.png index fc9ff39..34cc74f 100644 Binary files a/docs/img/aruco_camera_gaze_movement_identification.png and b/docs/img/aruco_camera_gaze_movement_identification.png differ diff --git a/docs/img/aruco_camera_markers_detection.png b/docs/img/aruco_camera_markers_detection.png index 6192e09..a954313 100644 Binary files a/docs/img/aruco_camera_markers_detection.png and b/docs/img/aruco_camera_markers_detection.png differ diff --git a/docs/img/aruco_camera_pose_estimation.png b/docs/img/aruco_camera_pose_estimation.png index b6c2675..ebc1993 100644 Binary files a/docs/img/aruco_camera_pose_estimation.png and b/docs/img/aruco_camera_pose_estimation.png differ diff --git a/docs/img/aruco_dictionaries.png b/docs/img/aruco_dictionaries.png index ed5f287..033bbfb 100644 Binary files a/docs/img/aruco_dictionaries.png and b/docs/img/aruco_dictionaries.png differ diff --git a/docs/img/aruco_markers_description.png b/docs/img/aruco_markers_description.png index 2f3d1c2..b840fcd 100644 Binary files a/docs/img/aruco_markers_description.png and b/docs/img/aruco_markers_description.png differ diff --git a/docs/img/aruco_scene.png b/docs/img/aruco_scene.png deleted file mode 100644 index d8aea8e..0000000 Binary files a/docs/img/aruco_scene.png and /dev/null differ diff --git a/docs/img/background.png b/docs/img/background.png new file mode 100644 index 0000000..3faef14 Binary files /dev/null and b/docs/img/background.png differ diff --git a/docs/img/circle_intersection.png b/docs/img/circle_intersection.png deleted file mode 100644 index 6893d32..0000000 Binary files a/docs/img/circle_intersection.png and /dev/null differ diff --git a/docs/img/contains_point.png b/docs/img/contains_point.png deleted file mode 100644 index 71a1050..0000000 Binary files a/docs/img/contains_point.png and /dev/null differ diff --git a/docs/img/detected_markers.png b/docs/img/detected_markers.png deleted file mode 100644 index 588364d..0000000 Binary files a/docs/img/detected_markers.png and /dev/null differ diff --git a/docs/img/distance.png b/docs/img/distance.png deleted file mode 100644 index 31cd249..0000000 Binary files a/docs/img/distance.png and /dev/null differ diff --git a/docs/img/fixation_and_saccade.png b/docs/img/fixation_and_saccade.png deleted file mode 100644 index 1bd91b9..0000000 Binary files a/docs/img/fixation_and_saccade.png and /dev/null differ diff --git a/docs/img/gaze_movement_identifier.png b/docs/img/gaze_movement_identifier.png new file mode 100644 index 0000000..14dfad8 Binary files /dev/null and b/docs/img/gaze_movement_identifier.png differ diff --git a/docs/img/get_last_before.png b/docs/img/get_last_before.png deleted file mode 100644 index 97d4170..0000000 Binary files a/docs/img/get_last_before.png and /dev/null differ diff --git a/docs/img/get_last_until.png b/docs/img/get_last_until.png deleted file mode 100644 index 4af2c26..0000000 Binary files a/docs/img/get_last_until.png and /dev/null differ diff --git a/docs/img/heatmap.png b/docs/img/heatmap.png index 5f07d77..534ccc7 100644 Binary files a/docs/img/heatmap.png and b/docs/img/heatmap.png differ diff --git a/docs/img/opencv_aruco.png b/docs/img/opencv_aruco.png new file mode 100644 index 0000000..0aa161e Binary files /dev/null and b/docs/img/opencv_aruco.png differ diff --git a/docs/img/optic_calibrated.png b/docs/img/optic_calibrated.png deleted file mode 100644 index 586c4d6..0000000 Binary files a/docs/img/optic_calibrated.png and /dev/null differ diff --git a/docs/img/optic_distorsion.png b/docs/img/optic_distorsion.png deleted file mode 100644 index 2de9937..0000000 Binary files a/docs/img/optic_distorsion.png and /dev/null differ diff --git a/docs/img/overlapping.png b/docs/img/overlapping.png deleted file mode 100644 index 0fc1b72..0000000 Binary files a/docs/img/overlapping.png and /dev/null differ diff --git a/docs/img/point_spread.png b/docs/img/point_spread.png index 7ee39bc..9d14a40 100644 Binary files a/docs/img/point_spread.png and b/docs/img/point_spread.png differ diff --git a/docs/img/pop_last_before.png b/docs/img/pop_last_before.png deleted file mode 100644 index 15d02a0..0000000 Binary files a/docs/img/pop_last_before.png and /dev/null differ diff --git a/docs/img/pop_last_until.png b/docs/img/pop_last_until.png deleted file mode 100644 index 94b0c37..0000000 Binary files a/docs/img/pop_last_until.png and /dev/null differ diff --git a/docs/img/pose_estimation.png b/docs/img/pose_estimation.png deleted file mode 100644 index d814575..0000000 Binary files a/docs/img/pose_estimation.png and /dev/null differ diff --git a/docs/img/scan_path.png b/docs/img/scan_path.png index 1c77598..72af153 100644 Binary files a/docs/img/scan_path.png and b/docs/img/scan_path.png differ diff --git a/docs/img/scene.png b/docs/img/scene.png index 818c301..251c7bf 100644 Binary files a/docs/img/scene.png and b/docs/img/scene.png differ diff --git a/docs/img/timestamped_gaze_positions.png b/docs/img/timestamped_gaze_positions.png index cc08ec0..c639019 100644 Binary files a/docs/img/timestamped_gaze_positions.png and b/docs/img/timestamped_gaze_positions.png differ diff --git a/docs/img/vision_cone.png b/docs/img/vision_cone.png deleted file mode 100644 index 19c5583..0000000 Binary files a/docs/img/vision_cone.png and /dev/null differ diff --git a/docs/img/visualisation.png b/docs/img/visualisation.png new file mode 100644 index 0000000..9076e7e Binary files /dev/null and b/docs/img/visualisation.png differ diff --git a/docs/user_guide/aruco_markers_pipeline/aoi_3d_description.md b/docs/user_guide/aruco_markers_pipeline/aoi_3d_description.md index 5a1a16e..502f905 100644 --- a/docs/user_guide/aruco_markers_pipeline/aoi_3d_description.md +++ b/docs/user_guide/aruco_markers_pipeline/aoi_3d_description.md @@ -3,7 +3,7 @@ Describe 3D AOI Once [ArUco markers are placed into a scene](aruco_markers_description.md), [areas of interest (AOI)](../../argaze.md/#argaze.AreaOfInterest.AOIFeatures.AreaOfInterest) need to be described into the same 3D referential. -In the example scene, each screen is considered as an area of interest more the blue triangle area inside the top screen. +In the example scene, the screen and the sheet are considered as areas of interest. ![3D AOI description](../../img/aoi_3d_description.png) @@ -21,26 +21,20 @@ All AOI need to be described from same origin than markers in a [right-handed 3D OBJ file format could be exported from most 3D editors. ``` obj -o YellowSquare -v 6.200003 -7.275252 25.246159 -v 31.200003 -7.275252 25.246159 -v 6.200003 1.275252 1.753843 -v 31.200003 1.275252 1.753843 +o Sheet +v 14.200000 -3.000000 28.350000 +v 35.200000 -3.000000 28.350000 +v 14.200000 -3.000000 -1.35 +v 35.200000 -3.000000 -1.35 s off f 1 2 4 3 -o GrayRectangle -v 2.500000 2.500000 -0.500000 -v 37.500000 2.500000 -0.500000 -v 2.500000 27.500000 -0.500000 -v 37.500000 27.500000 -0.500000 +o Screen +v 2.750000 2.900000 -0.500000 +v 49.250000 2.900000 -0.500000 +v 2.750000 29.100000 -0.500000 +v 49.250000 29.100000 -0.500000 s off f 5 6 8 7 -o BlueTriangle -v 12.500002 7.500000 -0.500000 -v 27.500002 7.500000 -0.500000 -v 20.000002 22.500000 -0.500000 -s off -f 9 10 11 ``` Here are common OBJ file features needed to describe AOI: @@ -55,8 +49,7 @@ JSON file format allows to describe AOI vertices. ``` json { - "YellowSquare": [[6.2, -7.275252, 25.246159], [31.2, -7.275252, 25.246159], [31.2, 1.275252, 1.753843], [6.2, 1.275252, 1.753843]], - "GrayRectangle": [[2.5, 2.5, -0.5], [37.5, 2.5, -0.5], [37.5, 27.5, -0.5], [2.5, 27.5, -0.5]], - "BlueTriangle": [[12.5, 7.5, -0.5], [27.5, 7.5, -0.5], [20, 22.5, -0.5]] + "Sheet": [[14.2, -3, 28.35], [35.2, -3, 28.35], [14.2, -3, -1.35], [35.2, -3, -1.35]], + "Screen": [[2.75, 2.9, -0.5], [49.25, 2.9, -0.5], [2.75, 29.1, -0.5], [49.25, 29.1, -0.5]] } ``` diff --git a/docs/user_guide/aruco_markers_pipeline/aoi_3d_frame.md b/docs/user_guide/aruco_markers_pipeline/aoi_3d_frame.md index 8075426..032e2b6 100644 --- a/docs/user_guide/aruco_markers_pipeline/aoi_3d_frame.md +++ b/docs/user_guide/aruco_markers_pipeline/aoi_3d_frame.md @@ -3,11 +3,13 @@ Define a 3D AOI as a frame When an 3D AOI of the scene contains others coplanar 3D AOI, like a screen with GUI elements displayed on, it is better to described them as 2D AOI inside 2D coordinates system related to the containing 3D AOI. +![3D AOI frame](../../img/aruco_camera_aoi_frame.png) + ## Add ArFrame to ArUcoScene The [ArFrame](../../argaze.md/#argaze.ArFeatures.ArFrame) class defines a rectangular area where timestamped gaze positions are projected in and inside which they need to be analyzed. -Here is the previous extract where "MyScreen" AOI is defined as a frame into [ArUcoScene](../../argaze.md/#argaze.ArUcoMarkers.ArUcoScene) configuration: +Here is the previous extract where "Screen" AOI is defined as a frame into [ArUcoScene](../../argaze.md/#argaze.ArUcoMarkers.ArUcoScene) configuration: ```json { @@ -22,18 +24,34 @@ Here is the previous extract where "MyScreen" AOI is defined as a frame into [Ar "layers": { "MyLayer": { "aoi_scene": { - "MyScreen": [[2.5, 2.5, -0.5], [37.5, 2.5, -0.5], [37.5, 27.5, -0.5], [2.5, 27.5, -0.5]] + "Sheet": [[14.2, -3, 28.35], [35.2, -3, 28.35], [14.2, -3, -1.35], [35.2, -3, -1.35]], + "Screen": [[2.75, 2.9, -0.5], [49.25, 2.9, -0.5], [2.75, 29.1, -0.5], [49.25, 29.1, -0.5]] } } }, "frames": { - "MyScreen": { - "size": [350, 250], + "Screen": { + "size": [1920, 1080], "layers": { "MyLayer": { "aoi_scene": { - "BlueTriangle": [[100, 50], [250, 50], [175, 200]] - } + "GeoSector": [[860, 160], [1380, 100], [1660, 400], [1380, 740], [1440, 960], [920, 920], [680, 800], [640, 560]], + "LeftPanel": { + "Rectangle": { + "x": 0, + "y": 0, + "width": 350, + "height": 1080 + } + }, + "CircularWidget": { + "Circle": { + "cx": 1800, + "cy": 120, + "radius": 80 + } + } + } } } } diff --git a/docs/user_guide/aruco_markers_pipeline/aoi_3d_projection.md b/docs/user_guide/aruco_markers_pipeline/aoi_3d_projection.md index acbe31d..0d58d9a 100644 --- a/docs/user_guide/aruco_markers_pipeline/aoi_3d_projection.md +++ b/docs/user_guide/aruco_markers_pipeline/aoi_3d_projection.md @@ -24,9 +24,8 @@ Here is the previous extract where one layer is added to [ArUcoScene](../../arga "layers": { "MyLayer": { "aoi_scene": { - "YellowSquare": [[6.2, -7.275252, 25.246159], [31.2, -7.275252, 25.246159], [31.2, 1.275252, 1.753843], [6.2, 1.275252, 1.753843]], - "GrayRectangle": [[2.5, 2.5, -0.5], [37.5, 2.5, -0.5], [37.5, 27.5, -0.5], [2.5, 27.5, -0.5]], - "BlueTriangle": [[12.5, 7.5, -0.5], [27.5, 7.5, -0.5], [20, 22.5, -0.5]] + "Sheet": [[14.2, -3, 28.35], [35.2, -3, 28.35], [14.2, -3, -1.35], [35.2, -3, -1.35]], + "Screen": [[2.75, 2.9, -0.5], [49.25, 2.9, -0.5], [2.75, 29.1, -0.5], [49.25, 29.1, -0.5]] } } } diff --git a/docs/user_guide/aruco_markers_pipeline/aruco_markers_description.md b/docs/user_guide/aruco_markers_pipeline/aruco_markers_description.md index b3ea2bb..3addcab 100644 --- a/docs/user_guide/aruco_markers_pipeline/aruco_markers_description.md +++ b/docs/user_guide/aruco_markers_pipeline/aruco_markers_description.md @@ -3,7 +3,7 @@ Set up ArUco markers First of all, ArUco markers needs to be printed and placed into the scene. -Here is an example scene where markers are surrounding a multi-screen workspace with a triangle area inside one of them. +Here is an example scene where markers are surrounding a workspace with a screen and a sheet on the table. ![Scene](../../img/scene.png) @@ -69,19 +69,19 @@ vn 0.0000 0.0000 1.0000 s off f 1//1 2//1 4//1 3//1 o DICT_APRILTAG_16h5#1_Marker -v -1.767767 23.000002 3.767767 -v 1.767767 23.000002 0.232233 -v -1.767767 28.000002 3.767767 -v 1.767767 28.000002 0.232233 -vn 0.7071 0.0000 0.7071 +v -0.855050 24.000002 4.349232 +v 0.855050 24.000002 -0.349231 +v -0.855050 29.000002 4.349232 +v 0.855050 29.000002 -0.349231 +vn 0.9397 0.0000 0.3420 s off f 5//2 6//2 8//2 7//2 o DICT_APRILTAG_16h5#2_Marker -v 33.000000 -1.767767 4.767767 -v 38.000000 -1.767767 4.767767 -v 33.000000 1.767767 1.232233 -v 38.000000 1.767767 1.232233 -vn 0.0000 0.7071 0.7071 +v 44.000000 0.000000 9.500000 +v 49.000000 0.000000 9.500000 +v 44.000000 -0.000000 4.500000 +v 49.000000 -0.000000 4.500000 +vn 0.0000 1.0000 -0.0000 s off f 9//3 10//3 12//3 11//3 ``` @@ -110,12 +110,12 @@ JSON file format allows to describe markers places using translation and euler a "rotation": [0, 0, 0] }, "1": { - "translation": [0, 25.5, 2], - "rotation": [0, 45, 0] + "translation": [0, 26.5, 2], + "rotation": [0, 70, 0] }, "2": { - "translation": [35.5, 0, 3], - "rotation": [-45, 0, 0] + "translation": [46.5, 0, 7], + "rotation": [-90, 0, 0] } } } diff --git a/docs/user_guide/aruco_markers_pipeline/introduction.md b/docs/user_guide/aruco_markers_pipeline/introduction.md index 5a07b49..26294f7 100644 --- a/docs/user_guide/aruco_markers_pipeline/introduction.md +++ b/docs/user_guide/aruco_markers_pipeline/introduction.md @@ -1,11 +1,11 @@ Overview ======== -This section explains how to build augmented reality pipelines based on ArUco Markers technology for various use cases. +This section explains how to build augmented reality pipelines based on [ArUco Markers technology](https://www.sciencedirect.com/science/article/abs/pii/S0031320314000235) for various use cases. -The OpenCV library provides a module to detect fiducial markers into a picture and estimate their poses (cf [OpenCV ArUco tutorial page](https://docs.opencv.org/4.x/d5/dae/tutorial_aruco_detection.html)). +The OpenCV library provides a module to detect fiducial markers into a picture and estimate their poses. -![OpenCV ArUco markers](https://pyimagesearch.com/wp-content/uploads/2020/12/aruco_generate_tags_header.png) +![OpenCV ArUco markers](../../img/opencv_aruco.png) The ArGaze [ArUcoMarkers submodule](../../argaze.md/#argaze.ArUcoMarkers) eases markers creation, markers detection and 3D scene pose estimation through a set of high level classes. diff --git a/docs/user_guide/aruco_markers_pipeline/pose_estimation.md b/docs/user_guide/aruco_markers_pipeline/pose_estimation.md index 5dcde6f..6027039 100644 --- a/docs/user_guide/aruco_markers_pipeline/pose_estimation.md +++ b/docs/user_guide/aruco_markers_pipeline/pose_estimation.md @@ -27,12 +27,12 @@ Here is an extract from the JSON [ArUcoCamera](../../argaze.md/#argaze.ArUcoMark "rotation": [0, 0, 0] }, "1": { - "translation": [0, 25.5, 2], - "rotation": [0, 45, 0] + "translation": [0, 26.5, 2], + "rotation": [0, 70, 0] }, "2": { - "translation": [35.5, 0, 3], - "rotation": [-45, 0, 0] + "translation": [46.5, 0, 7], + "rotation": [-90, 0, 0] } } } diff --git a/docs/user_guide/gaze_analysis_pipeline/aoi_2d_description.md b/docs/user_guide/gaze_analysis_pipeline/aoi_2d_description.md index 0d5dbf0..ad8ee74 100644 --- a/docs/user_guide/gaze_analysis_pipeline/aoi_2d_description.md +++ b/docs/user_guide/gaze_analysis_pipeline/aoi_2d_description.md @@ -19,9 +19,9 @@ SVG file format could be exported from most vector graphics editors. ``` xml - - - + + + ``` @@ -37,20 +37,20 @@ JSON file format allows to describe AOI. ``` json { - "BlueTriangle":[[960, 664], [1113, 971], [806, 971]], - "RedSquare": { + "GeoSector": [[860, 160], [1380, 100], [1660, 400], [1380, 740], [1440, 960], [920, 920], [680, 800], [640, 560]], + "LeftPanel": { "Rectangle": { - "x": 268, - "y": 203, - "width": 308, - "height": 308 + "x": 0, + "y": 0, + "width": 350, + "height": 1080 } }, - "GreenCircle": { + "CircularWidget": { "Circle": { - "cx": 1497, - "cy": 356, - "radius": 153 + "cx": 1800, + "cy": 120, + "radius": 80 } } } diff --git a/docs/user_guide/gaze_analysis_pipeline/aoi_analysis.md b/docs/user_guide/gaze_analysis_pipeline/aoi_analysis.md index 9d2b3df..b282f80 100644 --- a/docs/user_guide/gaze_analysis_pipeline/aoi_analysis.md +++ b/docs/user_guide/gaze_analysis_pipeline/aoi_analysis.md @@ -19,10 +19,22 @@ Here is an extract from the JSON [ArFrame](../../argaze.md/#argaze.ArFeatures.Ar "layers": { "MyLayer": { "aoi_scene" : { - "upper_left_area": [[0, 0], [960, 0], [960, 540], [0, 540]], - "upper_right_area": [[960, 0], [1920, 0], [1920, 540], [960, 540]], - "lower_left_area": [[0, 540], [960, 540], [960, 1080], [0, 1080]], - "lower_right_area": [[960, 540], [1920, 540], [1920, 1080], [960, 1080]] + "GeoSector": [[860, 160], [1380, 100], [1660, 400], [1380, 740], [1440, 960], [920, 920], [680, 800], [640, 560]], + "LeftPanel": { + "Rectangle": { + "x": 0, + "y": 0, + "width": 350, + "height": 1080 + } + }, + "CircularWidget": { + "Circle": { + "cx": 1800, + "cy": 120, + "radius": 80 + } + } }, "aoi_matcher": { "DeviationCircleCoverage": { @@ -63,13 +75,13 @@ The name of an [ArLayer](../../argaze.md/#argaze.ArFeatures.ArLayer). Basically The set of 2D AOI into the layer as defined at [2D AOI description chapter](aoi_2d_description.md). -![AOI Scene](../../img/ar_layer_aoi_scene.png) +![AOI scene](../../img/aoi_2d_description.png) ### *aoi_matcher* The first [ArLayer](../../argaze.md/#argaze.ArFeatures.ArLayer) pipeline step aims to make match identified gaze movement with a layer's AOI. -![AOI Matcher](../../img/ar_layer_aoi_matcher.png) +![AOI matcher](../../img/aoi_matcher.png) The matching algorithm can be selected by instantiating a particular [AOIMatcher from GazeAnalysis submodule](pipeline_modules/aoi_matchers.md) or [from another python package](advanced_topics/module_loading.md). @@ -82,7 +94,7 @@ In the example file, the choosen matching algorithm is the [Deviation Circle Cov The second [ArLayer](../../argaze.md/#argaze.ArFeatures.ArLayer) pipeline step aims to build a [AOIScanPath](../../argaze.md/#argaze.GazeFeatures.AOIScanPath) defined as a list of [AOIScanSteps](../../argaze.md/#argaze.GazeFeatures.AOIScanStep) made by a set of successive fixations/saccades onto a same AOI. -![AOI Scan Path](../../img/ar_layer_aoi_scan_path.png) +![AOI scan path](../../img/aoi_scan_path.png) Once gaze movements are matched to AOI, they are automatically appended to the AOIScanPath if required. diff --git a/docs/user_guide/gaze_analysis_pipeline/background.md b/docs/user_guide/gaze_analysis_pipeline/background.md index a7d59f6..ee27495 100644 --- a/docs/user_guide/gaze_analysis_pipeline/background.md +++ b/docs/user_guide/gaze_analysis_pipeline/background.md @@ -3,7 +3,7 @@ Add a background Background is an optional [ArFrame](../../argaze.md/#argaze.ArFeatures.ArFrame) attribute to display any image behind pipeline visualisation. -![Background](../../img/ar_frame_background.png) +![Background](../../img/background.png) ## Load and display ArFrame background @@ -16,7 +16,7 @@ Here is an extract from the JSON ArFrame configuration file where a background p "name": "My FullHD screen", "size": [1920, 1080], ... - "background": "./joconde.png", + "background": "./bosch.png", ... "image_parameters": { ... diff --git a/docs/user_guide/gaze_analysis_pipeline/configuration_and_execution.md b/docs/user_guide/gaze_analysis_pipeline/configuration_and_execution.md index 8ddd97a..3b21cbd 100644 --- a/docs/user_guide/gaze_analysis_pipeline/configuration_and_execution.md +++ b/docs/user_guide/gaze_analysis_pipeline/configuration_and_execution.md @@ -59,7 +59,7 @@ The size of the [ArFrame](../../argaze.md/#argaze.ArFeatures.ArFrame) defines th The first [ArFrame](../../argaze.md/#argaze.ArFeatures.ArFrame) pipeline step is to identify fixations or saccades from consecutive timestamped gaze positions. -![Gaze Movement Identifier](../../img/ar_frame_gaze_movement_identifier.png) +![Gaze movement identifier](../../img/gaze_movement_identifier.png) The identification algorithm can be selected by instantiating a particular [GazeMovementIdentifier from GazeAnalysis submodule](pipeline_modules/gaze_movement_identifiers.md) or [from another python package](advanced_topics/module_loading.md). @@ -75,7 +75,7 @@ In the example file, the choosen identification algorithm is the [Dispersion Thr The second [ArFrame](../../argaze.md/#argaze.ArFeatures.ArFrame) pipeline step aims to build a [ScanPath](../../argaze.md/#argaze.GazeFeatures.ScanPath) defined as a list of [ScanSteps](../../argaze.md/#argaze.GazeFeatures.ScanStep) made by a fixation and a consecutive saccade. -![Scan Path](../../img/ar_frame_scan_path.png) +![Scan path](../../img/scan_path.png) Once fixations and saccades are identified, they are automatically appended to the ScanPath if required. diff --git a/docs/user_guide/gaze_analysis_pipeline/heatmap.md b/docs/user_guide/gaze_analysis_pipeline/heatmap.md index fe4246e..5310d64 100644 --- a/docs/user_guide/gaze_analysis_pipeline/heatmap.md +++ b/docs/user_guide/gaze_analysis_pipeline/heatmap.md @@ -3,7 +3,7 @@ Add a heatmap Heatmap is an optional [ArFrame](../../argaze.md/#argaze.ArFeatures.ArFrame) pipeline step. It is executed at each new gaze position to update heatmap image. -![Heatmap](../../img/ar_frame_heatmap.png) +![Heatmap](../../img/heatmap.png) ## Enable and display ArFrame heatmap diff --git a/docs/user_guide/gaze_analysis_pipeline/timestamped_gaze_positions_edition.md b/docs/user_guide/gaze_analysis_pipeline/timestamped_gaze_positions_edition.md index 93d2a65..2156f3b 100644 --- a/docs/user_guide/gaze_analysis_pipeline/timestamped_gaze_positions_edition.md +++ b/docs/user_guide/gaze_analysis_pipeline/timestamped_gaze_positions_edition.md @@ -3,7 +3,7 @@ Edit timestamped gaze positions Whatever eye data comes from a file on disk or from a live stream, timestamped gaze positions are required before to go further. -![Timestamped Gaze Positions](../../img/timestamped_gaze_positions.png) +![Timestamped gaze positions](../../img/timestamped_gaze_positions.png) ## Import gaze positions from CSV file diff --git a/docs/user_guide/gaze_analysis_pipeline/visualisation.md b/docs/user_guide/gaze_analysis_pipeline/visualisation.md index c9cbf2c..cf6fa41 100644 --- a/docs/user_guide/gaze_analysis_pipeline/visualisation.md +++ b/docs/user_guide/gaze_analysis_pipeline/visualisation.md @@ -3,7 +3,7 @@ Visualize pipeline steps Visualisation is not a pipeline step but each [ArFrame](../../argaze.md/#argaze.ArFeatures.ArFrame) pipeline steps outputs can be drawn in real time or afterward, depending of application purpose. -![ArFrame visualisation](../../img/ar_frame_visualisation.png) +![ArFrame visualisation](../../img/visualisation.png) ## Add image parameters to ArFrame JSON configuration file -- cgit v1.1