diff options
author | Paul Elder <paul.elder@ideasonboard.com> | 2022-11-11 02:05:53 +0900 |
---|---|---|
committer | Paul Elder <paul.elder@ideasonboard.com> | 2022-11-25 15:37:26 +0900 |
commit | db99d966633c5d7a5b33d03d653f1839d9feaaea (patch) | |
tree | 392733c7b0bfc3fb06a865a1f990db65a0af8bf6 /utils/tuning/libtuning/average.py | |
parent | 19dc8c28f63c2dc8842b88c1fd45c999c7171398 (diff) |
utils: tuning: libtuning: Implement math helpers
Implement math helpers for libtuning. This includes:
- Average, a wrapper class for numpy averaging functions
- Gradient, a class that represents gradients, for distributing and
mapping
- Smoothing, a wrapper class for cv2 smoothing functions
Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'utils/tuning/libtuning/average.py')
-rw-r--r-- | utils/tuning/libtuning/average.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/utils/tuning/libtuning/average.py b/utils/tuning/libtuning/average.py new file mode 100644 index 00000000..e28770d7 --- /dev/null +++ b/utils/tuning/libtuning/average.py @@ -0,0 +1,21 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# +# Copyright (C) 2022, Paul Elder <paul.elder@ideasonboard.com> +# +# average.py - Wrapper for numpy averaging functions to enable duck-typing + +import numpy as np + + +# @brief Wrapper for np averaging functions so that they can be duck-typed +class Average(object): + def __init__(self): + pass + + def average(self, np_array): + raise NotImplementedError + + +class Mean(Average): + def average(self, np_array): + return np.mean(np_array) |