Skip to content

Commit 3511691

Browse files
committed
add neutral face calibration, adjust checkbox pos
1 parent f7d792c commit 3511691

File tree

3 files changed

+29
-1
lines changed

3 files changed

+29
-1
lines changed

BabbleApp/camera_widget.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ def __init__(self, widget_id: Tab, main_config: BabbleConfig, osc_queue: Queue):
3535
self.gui_vertical_flip = f"-VERTICALFLIP{widget_id}-"
3636
self.gui_horizontal_flip = f"-HORIZONTALFLIP{widget_id}-"
3737
self.use_calibration = f"-USECALIBRATION{widget_id}-"
38+
self.use_n_calibration = f"-USENCALIBRATION{widget_id}-"
3839
self.osc_queue = osc_queue
3940
self.main_config = main_config
4041
self.cam_id = widget_id
@@ -106,8 +107,17 @@ def __init__(self, widget_id: Tab, main_config: BabbleConfig, osc_queue: Queue):
106107
[
107108
sg.Button("Start Calibration", key=self.gui_restart_calibration, button_color='#539e8a', tooltip = "Start calibration. Look all arround to all extreams without blinking until sound is heard.",),
108109
sg.Button("Stop Calibration", key=self.gui_stop_calibration, button_color='#539e8a', tooltip = "Stop calibration manualy.",),
110+
],
111+
[
112+
sg.Checkbox(
113+
"Use Neurtal Calibration:",
114+
default=self.config.use_n_calibration,
115+
key=self.use_n_calibration,
116+
background_color='#424042',
117+
tooltip="Toggle use of calibration using minimum values found during a neutral pose calibration step.",
118+
),
109119
sg.Checkbox(
110-
"Use Calibration:",
120+
"Use Full Calibration:",
111121
default=self.config.use_calibration,
112122
key=self.use_calibration,
113123
background_color='#424042',
@@ -239,6 +249,9 @@ def render(self, window, event, values):
239249
self.config.use_calibration = values[self.use_calibration]
240250
changed = True
241251

252+
if self.config.use_n_calibration != values[self.use_n_calibration]:
253+
self.config.use_n_calibration = values[self.use_n_calibration]
254+
changed = True
242255

243256
if changed:
244257
self.main_config.save()

BabbleApp/config.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ class BabbleCameraConfig(BaseModel):
1717
roi_window_h: int = 0
1818
capture_source: Union[int, str, None] = None
1919
use_calibration: bool = False
20+
use_n_calibration: bool = True
2021
gui_vertical_flip: bool = False
2122
gui_horizontal_flip: bool = False
2223

BabbleApp/osc_calibrate_filter.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,18 @@ def cal_osc(self, array):
6262
calibrated_array[i] = calibrated_value
6363
array = calibrated_array
6464

65+
if self.settings.calib_array is not None and self.config.use_n_calibration:
66+
self.min_max_array = np.fromstring(self.settings.calib_array.replace('[', '').replace(']', ''), sep=',')
67+
self.min_max_array = self.min_max_array.reshape((2, 45))
68+
69+
calibrated_array = np.zeros_like(array)
70+
for i, value in enumerate(array):
71+
min_value = self.min_max_array[0, i]
72+
73+
74+
calibrated_value = (value - min_value) / (1.0 - min_value)
75+
76+
calibrated_array[i] = calibrated_value
77+
array = calibrated_array
78+
6579
return array

0 commit comments

Comments
 (0)