aboutsummaryrefslogtreecommitdiff
path: root/docs/user_guide/aruco_markers_pipeline
diff options
context:
space:
mode:
authorThéo de la Hogue2023-09-06 17:50:31 +0200
committerThéo de la Hogue2023-09-06 17:50:31 +0200
commit5a2f3b420303db6df3f9e68abcfb9bb937b6ccd7 (patch)
treecae05652f4a07eaefc4ebb403d73f6382893a884 /docs/user_guide/aruco_markers_pipeline
parente1803530ca3b07dc0f2fdce68805e44195e38fa3 (diff)
downloadargaze-5a2f3b420303db6df3f9e68abcfb9bb937b6ccd7.zip
argaze-5a2f3b420303db6df3f9e68abcfb9bb937b6ccd7.tar.gz
argaze-5a2f3b420303db6df3f9e68abcfb9bb937b6ccd7.tar.bz2
argaze-5a2f3b420303db6df3f9e68abcfb9bb937b6ccd7.tar.xz
More work on ArUco markers pipeline documentation.
Diffstat (limited to 'docs/user_guide/aruco_markers_pipeline')
-rw-r--r--docs/user_guide/aruco_markers_pipeline/aruco_camera_configuration_and_execution.md28
-rw-r--r--docs/user_guide/aruco_markers_pipeline/aruco_scene.md56
-rw-r--r--docs/user_guide/aruco_markers_pipeline/introduction.md4
3 files changed, 69 insertions, 19 deletions
diff --git a/docs/user_guide/aruco_markers_pipeline/aruco_camera_configuration_and_execution.md b/docs/user_guide/aruco_markers_pipeline/aruco_camera_configuration_and_execution.md
index 9b1db42..7b30fd1 100644
--- a/docs/user_guide/aruco_markers_pipeline/aruco_camera_configuration_and_execution.md
+++ b/docs/user_guide/aruco_markers_pipeline/aruco_camera_configuration_and_execution.md
@@ -3,7 +3,7 @@ Configure and execute ArUcoCamera
Once [ArUco markers are placed into a scene](aruco_scene_creation.md) and [the camera optic have been calibrated](optic_parameters_calibration.md), everything is ready to setup an ArUco marker pipeline thanks to [ArUcoCamera](../../argaze.md/#argaze.ArUcoMarkers.ArUcoCamera) class.
-As it inherits from [ArFrame](../../argaze.md/#argaze.ArFeatures.ArFrame), the [ArUcoCamera](../../argaze.md/#argaze.ArUcoMarkers.ArUcoCamera) class benefits from all the services of a [gaze analysis pipeline](./user_guide/gaze_analysis_pipeline/introduction.md). Besides, the [ArUcoCamera](../../argaze.md/#argaze.ArUcoMarkers.ArUcoCamera) class projects [ArUcoScenes](../../argaze.md/#argaze.ArUcoMarkers.ArUcoScene)'s layers into its own layers thanks to ArUco markers pose estimations made by its [ArUcoDetector](../../argaze.md/#argaze.ArUcoMarkers.ArUcoDetector).
+As it inherits from [ArFrame](../../argaze.md/#argaze.ArFeatures.ArFrame), the [ArUcoCamera](../../argaze.md/#argaze.ArUcoMarkers.ArUcoCamera) class benefits from all the services described in [gaze analysis pipeline section](./user_guide/gaze_analysis_pipeline/introduction.md).
![ArUco camera frame](../../img/aruco_camera_frame.png)
@@ -11,24 +11,17 @@ As it inherits from [ArFrame](../../argaze.md/#argaze.ArFeatures.ArFrame), the [
The [ArUcoCamera](../../argaze.md/#argaze.ArUcoMarkers.ArUcoCamera) internal pipeline loads from a JSON configuration file thanks to [ArUcoCamera.from_json](../../argaze.md/#argaze.ArUcoMarkers.ArUcoCamera.from_json) class method.
-Here is a simple JSON ArUcoCamera configuration file example:
+Here is a simple JSON [ArUcoCamera](../../argaze.md/#argaze.ArUcoMarkers.ArUcoCamera) configuration file example:
```json
{
"name": "My FullHD camera",
"size": [1920, 1080],
"aruco_detector": {
- "dictionary": {
- "name": "DICT_APRILTAG_16h5"
- },
+ "dictionary": "DICT_APRILTAG_16h5",
"marker_size": 5,
"optic_parameters": "optic_parameters.json",
},
- "scenes": {
- "main_scene" : {
- "aruco_markers_group": "aruco_description.json"
- }
- },
"image_parameters": {
"background_weight": 1,
"draw_detected_markers": {
@@ -52,21 +45,22 @@ aruco_camera = ArUcoCamera.ArUcoCamera.from_json('./configuration.json')
Now, let's understand the meaning of each JSON entry.
-### Name (inherited from ArFrame)
+### Name - *inherited from [ArFrame](../../argaze.md/#argaze.ArFeatures.ArFrame)*
The name of the [ArUcoCamera](../../argaze.md/#argaze.ArUcoMarkers.ArUcoCamera) frame. Basically useful for visualisation purpose.
-### Size (inherited from ArFrame)
+### Size - *inherited from [ArFrame](../../argaze.md/#argaze.ArFeatures.ArFrame)*
-The size of the [ArUcoCamera](../../argaze.md/#argaze.ArUcoMarkers.ArUcoCamera) frame in pixels. Be aware that gaze positions have to be in the same range of value.
+The size of the [ArUcoCamera](../../argaze.md/#argaze.ArUcoMarkers.ArUcoCamera) frame in pixels. Be aware that gaze positions have to be in the same range of value to be projected in.
-### ArUco detector
+### ArUco Detector
-...
+The first [ArUcoCamera](../../argaze.md/#argaze.ArUcoMarkers.ArUcoCamera) pipeline step is to detect ArUco markers inside input image.
-### Scenes
+The [ArUcoDetector](../../argaze.md/#argaze.ArUcoMarkers.ArUcoDetector) is in charge to detect ...
-...
+!!! warning
+ JSON *aruco_detector* entry is mandatory.
### Image parameters (inherited from ArFrame)
diff --git a/docs/user_guide/aruco_markers_pipeline/aruco_scene.md b/docs/user_guide/aruco_markers_pipeline/aruco_scene.md
new file mode 100644
index 0000000..2f37fa7
--- /dev/null
+++ b/docs/user_guide/aruco_markers_pipeline/aruco_scene.md
@@ -0,0 +1,56 @@
+Add an ArUcoScene
+=================
+
+An [ArUcoScene](../../argaze.md/#argaze.ArUcoMarkers.ArUcoScene) class defines ...
+
+Besides, the [ArUcoCamera](../../argaze.md/#argaze.ArUcoMarkers.ArUcoCamera) class projects [ArUcoScenes](../../argaze.md/#argaze.ArUcoMarkers.ArUcoScene)'s layers into its own layers thanks to ArUco markers pose estimations made by its [ArUcoDetector](../../argaze.md/#argaze.ArUcoMarkers.ArUcoDetector).
+
+![ArUco scene](../../img/aruco_scene.png)
+
+## Add ArUcoScene to ArUcoCamera JSON configuration file
+
+An [ArUcoCamera](../../argaze.md/#argaze.ArUcoMarkers.ArUcoCamera) instance can contains multiples [ArUcoScene](../../argaze.md/#argaze.ArUcoMarkers.ArUcoScene).
+
+Here is an extract from the JSON ArUcoCamera configuration file with a sample where one scene is added:
+
+```json
+{
+ "name": "My FullHD camera",
+ "size": [1920, 1080],
+ ...
+ "scenes": {
+ "MyScene" : {
+ "aruco_markers_group": "aruco_description.json"
+ },
+ "layers": {
+ "MyLayer": {
+ "aoi_scene": "aoi_description.obj"
+ }
+ }
+ },
+ "layers": {
+ "MyLayer": {}
+ }
+ ...
+}
+```
+
+Now, let's understand the meaning of each JSON entry.
+
+### "MyLayer"
+
+The name of the [ArUcoScene](../../argaze.md/#argaze.ArUcoMarkers.ArUcoScene). Basically useful for visualisation purpose.
+
+### ArUco markers group
+
+...
+
+### Layers
+
+...
+
+### AOI scene
+
+The [AOIScene](../../argaze.md/#argaze.AreaOfInterest.AOIFeatures.AOIScene) defines a set of 2D [AreaOfInterest](../../argaze.md/#argaze.AreaOfInterest.AOIFeatures.AreaOfInterest) registered by name.
+
+![AOI Scene](../../img/ar_layer_aoi_scene.png)
diff --git a/docs/user_guide/aruco_markers_pipeline/introduction.md b/docs/user_guide/aruco_markers_pipeline/introduction.md
index ae174f3..77b93a2 100644
--- a/docs/user_guide/aruco_markers_pipeline/introduction.md
+++ b/docs/user_guide/aruco_markers_pipeline/introduction.md
@@ -18,8 +18,8 @@ To build your own ArUco markers pipeline, you need to know:
* [How to setup ArUco markers into a scene](aruco_markers_description.md),
* [How to calibrate optic parameters](optic_parameters_calibration.md),
* [How to deal with an ArUcoCamera instance](aruco_camera_configuration_and_execution.md),
-* [How to add ArScene instance](ar_scene.md),
-* [How to visualize ArCamera and ArScenes](visualisation.md)
+* [How to add ArLayer instance](ar_layer.md),
+* [How to visualize ArUcoCamera and ArLayers](visualisation.md)
More advanced features are also explained like: