Open
Conversation
When enabled, continuously tracks the running min/max of each face expression and eye-lid channel, updating the calibration Lower/Upper bounds accordingly. This eliminates the need for users to manually set calibration ranges. - Add AutoCalibrationEnabled property and ResetAutoCalibration to ICalibrationService / CalibrationService - Subscribe CalibrationService to ExpressionChangeEvent to track per-channel min/max with a 0.5 seed value - Fire AutoCalibrationReset event so CalibrationViewModel can refresh sliders synchronously before tracking begins - Add saved setting toggle in AppSettingsViewModel and AppSettingsView
653795e to
daf2f6c
Compare
dfgHiatus
reviewed
Feb 27, 2026
| }; | ||
|
|
||
| // Face expression names ordered by inference output index (matches ParameterSenderService.FaceExpressionMap) | ||
| private static readonly string[] FaceExpressionNames = |
Collaborator
There was a problem hiding this comment.
Instead of re-declaring this, we ought to make the ParameterSenderService.EyeExpressionMap/ParameterSenderService.FaceExpressionMap static readonly.
| return; | ||
|
|
||
| var calParam = _calibrationService.GetExpressionSettings(setting.Name); | ||
| var upperChanged = Math.Abs(setting.Upper - calParam.Upper) > 0.0001f; |
Collaborator
There was a problem hiding this comment.
Should this use an epsilon?
Member
Author
There was a problem hiding this comment.
The 0.0001f threshold skips the update when the difference is just floating point noise caused from the double to float conversions through the Avalonia RangeSlider bindings
Member
Author
There was a problem hiding this comment.
replacing with setting.Upper != calParam.Upper would be fine too
…nNames - Make ParameterSenderService.EyeExpressionMap and FaceExpressionMap public static readonly so they can be referenced directly - CalibrationService.FaceExpressionNames now derives from ParameterSenderService.FaceExpressionMap.Keys instead of maintaining a hardcoded duplicate - Remove unused _parameterSenderService field from CalibrationViewModel
Contributor
|
Tested and works on my end. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When enabled, continuously tracks the running min/max of each face expression and eye lid channel, updating the calibration Lower/Upper bounds accordingly. This eliminates the need for users to manually set calibration ranges.