aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThéo de la Hogue2023-03-14 09:45:35 +0100
committerThéo de la Hogue2023-03-14 09:45:35 +0100
commit7c9827ba0c1e965c64eaf3ead1ce7b662d82d20c (patch)
treec1b126e74ace0ae79948a6b1e0e4838327d7d1ec
parentcd5f11aa32063f8608356065ffc6214f37c9990b (diff)
downloadargaze-7c9827ba0c1e965c64eaf3ead1ce7b662d82d20c.zip
argaze-7c9827ba0c1e965c64eaf3ead1ce7b662d82d20c.tar.gz
argaze-7c9827ba0c1e965c64eaf3ead1ce7b662d82d20c.tar.bz2
argaze-7c9827ba0c1e965c64eaf3ead1ce7b662d82d20c.tar.xz
Improving ArFeatures and general library overview.
-rw-r--r--README.md9
-rw-r--r--src/argaze/ArFeatures.py23
-rw-r--r--src/argaze/__init__.py2
3 files changed, 19 insertions, 15 deletions
diff --git a/README.md b/README.md
index d4972c5..4ed74b1 100644
--- a/README.md
+++ b/README.md
@@ -2,12 +2,15 @@ An open-source python toolkit to deal with dynamic Areas Of Interest (AOI) and g
# Architecture
-The ArGaze toolkit provides some generics data structures and algorithms to build AR environement with dynamic AOI and so allow gaze tracking with mobil eye tracker devices. It is divided in submodules dedicated to various specifics features:
+The ArGaze toolkit provides some generics data structures and algorithms to build AR environement with dynamic AOI and so allow gaze tracking with wearable eye tracker devices.
-* `argaze.ArUcoMarkers`: ArUco markers generator, detector, camera calibration, ...
-* `argaze.AreaOfInterest`: Area Of Interest (AOI) scene management for 2D and 3D environment.
+ArGaze is divided in submodules dedicated to various specifics features:
+
+* `argaze.ArFeatures`: Main classes used to load and manage AR environement assets.
* `argaze.GazeFeatures`: Generic gaze data structures definitions.
* `argaze.GazeAnalysis`: Class interface to work with various gaze analysis algorithms.
+* `argaze.ArUcoMarkers`: ArUco markers generator, detector, camera calibration, ...
+* `argaze.AreaOfInterest`: Area Of Interest (AOI) scene management for 2D and 3D environment.
* `argaze.TobiiGlassesPro2`: A gaze tracking device interface.
* `argaze.utils`: Collection of command-line high level features scripts based on ArGaze toolkit.
diff --git a/src/argaze/ArFeatures.py b/src/argaze/ArFeatures.py
index e66b1ac..e517302 100644
--- a/src/argaze/ArFeatures.py
+++ b/src/argaze/ArFeatures.py
@@ -89,25 +89,26 @@ class SceneProjectionFailed(Exception):
@dataclass
class ArScene():
- """Define an Augmented Reality scene based ArUco markers and AOI scenes."""
+ """Define an Augmented Reality scene with ArUco markers and AOI scenes."""
aruco_scene: ArUcoScene.ArUcoScene = field(init=False, default_factory=ArUcoScene.ArUcoScene)
- """ArUco scene ..."""
+ """ArUco markers 3D scene description used to estimate scene pose from detected markers: see `estimate_pose` function below."""
aoi_scene: AOI3DScene.AOI3DScene = field(init=False, default_factory=AOI3DScene.AOI3DScene)
- """AOI 3D scene ..."""
-
- angle_tolerance: float
- """Angle error tolerance allowed to validate marker pose in degree."""
-
- distance_tolerance: float
- """Distance error tolerance allowed to validate marker pose in centimeter."""
+ """AOI 3D scene description that will be projected onto estimated scene once its pose will be estimated : see `project` function below."""
aruco_axis: dict
- """Dictionary of orthogonal axis where each axis is defined by list of 3 markers identifier (first is origin)."""
+ """Optional dictionary to define orthogonal axis where each axis is defined by list of 3 markers identifier (first is origin). \
+ This pose estimation strategy is used by `estimate_pose` function when at least 3 markers are detected."""
aruco_aoi: dict
- """Dictionary of AOI defined by list of markers identifier and markers corners index tuples."""
+ """Optional dictionary of AOI defined by list of markers identifier and markers corners index tuples: see `build_aruco_aoi_scene` function below."""
+
+ angle_tolerance: float
+ """Optional angle error tolerance to validate marker pose in degree used into `estimate_pose` function."""
+
+ distance_tolerance: float
+ """Optional distance error tolerance to validate marker pose in centimeter used into `estimate_pose` function."""
def __init__(self, ar_environment: ArEnvironment, **kwargs):
diff --git a/src/argaze/__init__.py b/src/argaze/__init__.py
index d74219d..1162ba7 100644
--- a/src/argaze/__init__.py
+++ b/src/argaze/__init__.py
@@ -2,4 +2,4 @@
.. include:: ../../README.md
"""
__docformat__ = "restructuredtext"
-__all__ = ['utils','ArUcoMarkers','AreaOfInterest','ArFeatures','GazeFeatures','DataStructures','GazeAnalysis','TobiiGlassesPro2'] \ No newline at end of file
+__all__ = ['ArFeatures','GazeFeatures','GazeAnalysis','ArUcoMarkers','AreaOfInterest','DataStructures','TobiiGlassesPro2','utils'] \ No newline at end of file