Expose IBO settings, Fix UVC cameras

This commit is contained in:
Prohurtz 2023-06-17 12:25:06 -05:00
parent 7081723ac0
commit 41b11fe134
3 changed files with 47 additions and 5 deletions

View File

@ -45,6 +45,9 @@ class AlgoSettingsWidget:
self.gui_threshold_slider = f"-BLOBTHRESHOLD{widget_id}-" self.gui_threshold_slider = f"-BLOBTHRESHOLD{widget_id}-"
self.gui_HSF_radius_left = f"-HSFRADIUSLEFT{widget_id}-" self.gui_HSF_radius_left = f"-HSFRADIUSLEFT{widget_id}-"
self.gui_HSF_radius_right = f"-HSFRADIUSRIGHT{widget_id}-" self.gui_HSF_radius_right = f"-HSFRADIUSRIGHT{widget_id}-"
self.ibo_filter_samples = f"-IBOFILTERSAMPLE{widget_id}-"
self.calibration_samples = f"-CALIBRATIONSAMPLES{widget_id}-"
self.ibo_fully_close_eye_threshold = f"-CLOSETHRESH{widget_id}-"
self.main_config = main_config self.main_config = main_config
self.config = main_config.settings self.config = main_config.settings
self.osc_queue = osc_queue self.osc_queue = osc_queue
@ -146,6 +149,9 @@ class AlgoSettingsWidget:
), ),
sg.Text("Blob", background_color='#424042'), sg.Text("Blob", background_color='#424042'),
], ],
[
sg.Text("Blink Algo Settings:", background_color='#242224')
],
[ [
sg.Checkbox( sg.Checkbox(
"Intensity Based Openness", "Intensity Based Openness",
@ -159,6 +165,29 @@ class AlgoSettingsWidget:
key=self.gui_BLINK, key=self.gui_BLINK,
background_color='#424042', background_color='#424042',
), ),
],
[
sg.Text("IBO Filter Sample Size", background_color='#424042'),
sg.InputText(
self.config.ibo_filter_samples,
key=self.ibo_filter_samples,
size=(0,10),
),
sg.Text("Calibration Samples", background_color='#424042'),
sg.InputText(
self.config.calibration_samples,
key=self.calibration_samples,
size=(0,10),
),
sg.Text("IBO Close Threshold", background_color='#424042'),
sg.InputText(
self.config.ibo_fully_close_eye_threshold,
key=self.ibo_fully_close_eye_threshold,
size=(0,10),
),
], ],
[ [
sg.Checkbox( sg.Checkbox(
@ -174,7 +203,9 @@ class AlgoSettingsWidget:
background_color='#424042', background_color='#424042',
), ),
], ],
[
sg.Text("Advanced Tracking Algorithim Settings:", background_color='#242224')
],
[sg.Checkbox( [sg.Checkbox(
"HSF: Skip Auto Radius", "HSF: Skip Auto Radius",
default=self.config.gui_skip_autoradius, default=self.config.gui_skip_autoradius,
@ -255,7 +286,7 @@ class AlgoSettingsWidget:
self.widget_layout = [ self.widget_layout = [
[ [
sg.Text("Tracking Algorithm Settings:", background_color='#242224'), sg.Text("Tracking Algorithm Order Settings:", background_color='#242224'),
], ],
[ [
sg.Column(self.general_settings_layout, key=self.gui_general_settings_layout, background_color='#424042' ), sg.Column(self.general_settings_layout, key=self.gui_general_settings_layout, background_color='#424042' ),
@ -366,6 +397,18 @@ class AlgoSettingsWidget:
self.config.gui_blob_maxsize = values[self.gui_blob_maxsize] self.config.gui_blob_maxsize = values[self.gui_blob_maxsize]
changed = True changed = True
if self.config.ibo_filter_samples != int(values[self.ibo_filter_samples]):
self.config.ibo_filter_samples = int(values[self.ibo_filter_samples])
changed = True
if self.config.ibo_fully_close_eye_threshold != float(values[self.ibo_fully_close_eye_threshold]):
self.config.ibo_fully_close_eye_threshold = float(values[self.ibo_fully_close_eye_threshold])
changed = True
if self.config.calibration_samples != int(values[self.calibration_samples]):
self.config.calibration_samples = int(values[self.calibration_samples])
changed = True
if changed: if changed:
self.main_config.save() self.main_config.save()
#print(self.main_config) #print(self.main_config)

View File

@ -82,7 +82,7 @@ class Camera:
self.config.capture_source != None and self.config.capture_source != "" self.config.capture_source != None and self.config.capture_source != ""
): ):
if (self.config.capture_source[:3] == "COM"): if "COM" in str(self.current_capture_source):
if ( if (
self.serial_connection is None self.serial_connection is None
or self.camera_status == CameraState.DISCONNECTED or self.camera_status == CameraState.DISCONNECTED
@ -117,7 +117,7 @@ class Camera:
if should_push and not self.capture_event.wait(timeout=0.02): if should_push and not self.capture_event.wait(timeout=0.02):
continue continue
if self.config.capture_source != None: if self.config.capture_source != None:
if (self.current_capture_source[:3] == "COM"): if "COM" in str(self.current_capture_source):
self.get_serial_camera_picture(should_push) self.get_serial_camera_picture(should_push)
else: else:
self.get_cv2_camera_picture(should_push) self.get_cv2_camera_picture(should_push)

View File

@ -74,7 +74,6 @@ class EyeTrackSettingsConfig(BaseModel):
osc_invert_eye_close: bool = False osc_invert_eye_close: bool = False
class EyeTrackConfig(BaseModel): class EyeTrackConfig(BaseModel):
version: int = 1 version: int = 1
right_eye: EyeTrackCameraConfig = EyeTrackCameraConfig() right_eye: EyeTrackCameraConfig = EyeTrackCameraConfig()