diff --git a/docs/hyperion_processor_algorithm.md b/docs/hyperion_processor_algorithm.md index 45d50a4..5c0c502 100644 --- a/docs/hyperion_processor_algorithm.md +++ b/docs/hyperion_processor_algorithm.md @@ -6,6 +6,17 @@ This document outlines the algorithm implemented in the `HyperionProcessor` modu The primary goal of the `HyperionProcessor` is to transform a captured screen image into a set of colors suitable for driving an LED strip, creating an Ambilight-like effect. It focuses on accurately sampling colors from relevant areas of the screen while ignoring irrelevant parts like black borders. +### Configurable Parameters and Defaults + +The behavior of the `HyperionProcessor` can be influenced by several parameters, which are passed during its initialization via a `QJsonObject`. These parameters allow for fine-tuning the algorithm's response to different content and user preferences. + +* **`blackBorderThreshold`**: This parameter controls the sensitivity of the black border detection. It is a floating-point value. + * **Default Value:** `0.1` +* **`smoothingFactor`**: This parameter determines the degree of color smoothing applied to the calculated LED colors. It is a floating-point value, where higher values result in smoother transitions between colors. + * **Default Value:** `0.1` + +Note that the LED layout (number of LEDs on each side) is provided separately via the `LedLayout` struct and is not part of this `QJsonObject` configuration. + ## Processing Steps The `HyperionProcessor` follows a multi-step pipeline to achieve this: