aboutsummaryrefslogtreecommitdiff
path: root/src/argaze/GazeAnalysis/NGram.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/argaze/GazeAnalysis/NGram.py')
-rw-r--r--src/argaze/GazeAnalysis/NGram.py20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/argaze/GazeAnalysis/NGram.py b/src/argaze/GazeAnalysis/NGram.py
index f3f0cca..1ae8a07 100644
--- a/src/argaze/GazeAnalysis/NGram.py
+++ b/src/argaze/GazeAnalysis/NGram.py
@@ -20,19 +20,31 @@ from argaze import GazeFeatures
@dataclass
class AOIScanPathAnalyzer(GazeFeatures.AOIScanPathAnalyzer):
+ """
+ Parameters:
+ n: lenght of grams to search.
+ """
+
+ n: int = field(default=2)
def __post_init__(self):
- pass
+ self.__ngrams_count = {}
- def analyze(self, aoi_scan_path: GazeFeatures.AOIScanPathType, n: int) -> dict:
+ def analyze(self, aoi_scan_path: GazeFeatures.AOIScanPathType):
"""Analyze aoi scan path."""
assert(len(aoi_scan_path) > 1)
sequence = str(aoi_scan_path)
- ngrams = zip(*[sequence[i:] for i in range(n)])
+ ngrams = zip(*[sequence[i:] for i in range(self.n)])
ngrams = [ngram for ngram in ngrams]
- return {tuple([aoi_scan_path.get_letter_aoi(l) for l in ngram]) : ngrams.count(ngram) for ngram in ngrams}
+ self.__ngrams_count = {tuple([aoi_scan_path.get_letter_aoi(l) for l in ngram]) : ngrams.count(ngram) for ngram in ngrams}
+
+ @property
+ def ngrams_count(self) -> dict:
+
+ return self.__ngrams_count
+ \ No newline at end of file