mirror of
https://github.com/EyeTrackVR/EyeTrackVR.git
synced 2025-11-04 14:39:42 +08:00
add saving functionality to some params, fix other things
This commit is contained in:
parent
e706d21731
commit
8930cc2c26
1
EyeTrackApp/.json
Normal file
1
EyeTrackApp/.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"version": 1, "right_eye": {"threshold": 60, "rotation_angle": 334, "roi_window_x": 134, "roi_window_y": 104, "roi_window_w": 132, "roi_window_h": 77, "focal_length": 30, "capture_source": "http://192.168.0.238/", "vrc_eye_position_scalar": 3000, "show_color_image": false, "gui_flip_x_axis": false}, "left_eye": {"threshold": 82, "rotation_angle": 37, "roi_window_x": 146, "roi_window_y": 108, "roi_window_w": 115, "roi_window_h": 110, "focal_length": 30, "capture_source": "http://192.168.0.62", "vrc_eye_position_scalar": 3000, "show_color_image": false, "gui_flip_x_axis": false}, "settings": {"threshold": 0, "rotation_angle": 50, "roi_window_x": 0, "roi_window_y": 0, "roi_window_w": 0, "roi_window_h": 0, "focal_length": 30, "capture_source": null, "vrc_eye_position_scalar": 3000, "show_color_image": false, "gui_flip_x_axis": false}, "eye_display_id": 0}
|
||||||
@ -19,10 +19,10 @@ class EyeTrackCameraConfig:
|
|||||||
roi_window_h: "int" = 0
|
roi_window_h: "int" = 0
|
||||||
focal_length: "int" = 30
|
focal_length: "int" = 30
|
||||||
capture_source: "Union[int, str, None]" = None
|
capture_source: "Union[int, str, None]" = None
|
||||||
vrc_eye_position_scalar: "int" = 3000
|
|
||||||
show_color_image: "bool" = False
|
show_color_image: "bool" = False
|
||||||
gui_flip_x_axis: "bool" = False
|
gui_flip_x_axis_left: "bool" = False
|
||||||
|
gui_flip_x_axis_right: "bool" = False
|
||||||
|
gui_flip_y_axis: "bool" = False
|
||||||
|
|
||||||
CONFIG_FILE_NAME = "eyetrack_settings.json"
|
CONFIG_FILE_NAME = "eyetrack_settings.json"
|
||||||
|
|
||||||
|
|||||||
@ -181,6 +181,7 @@ def main():
|
|||||||
for eye in eyes:
|
for eye in eyes:
|
||||||
if eye.started():
|
if eye.started():
|
||||||
eye.render(window, event, values)
|
eye.render(window, event, values)
|
||||||
|
settings[0].render(window, event, values)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
@ -27,8 +27,11 @@ class SettingsWidget:
|
|||||||
self.gui_recenter_eye = f"-RECENTEREYE{widget_id}-"
|
self.gui_recenter_eye = f"-RECENTEREYE{widget_id}-"
|
||||||
self.gui_mode_readout = f"-APPMODE{widget_id}-"
|
self.gui_mode_readout = f"-APPMODE{widget_id}-"
|
||||||
self.gui_show_color_image = f"-SHOWCOLORIMAGE{widget_id}-"
|
self.gui_show_color_image = f"-SHOWCOLORIMAGE{widget_id}-"
|
||||||
self.gui_flip_x_axis = f"-FLIPXAXIS{widget_id}-"
|
|
||||||
|
self.gui_flip_x_axis_left = f"-FLIPXAXISLEFT{widget_id}-"
|
||||||
|
self.gui_flip_x_axis_right = f"-FLIPXAXISRIGHT{widget_id}-"
|
||||||
self.gui_flip_y_axis = f"-FLIPYAXIS{widget_id}-"
|
self.gui_flip_y_axis = f"-FLIPYAXIS{widget_id}-"
|
||||||
|
|
||||||
self.gui_roi_message = f"-ROIMESSAGE{widget_id}-"
|
self.gui_roi_message = f"-ROIMESSAGE{widget_id}-"
|
||||||
self.gui_save_button = f"-SAVE{widget_id}-"
|
self.gui_save_button = f"-SAVE{widget_id}-"
|
||||||
|
|
||||||
@ -49,23 +52,31 @@ class SettingsWidget:
|
|||||||
# sg.Button("Recenter Eye", key=self.gui_recenter_eye, button_color = '#6f4ca1'),
|
# sg.Button("Recenter Eye", key=self.gui_recenter_eye, button_color = '#6f4ca1'),
|
||||||
|
|
||||||
# ],
|
# ],
|
||||||
[sg.Checkbox(
|
[
|
||||||
"Flip X axis",
|
sg.Checkbox(
|
||||||
default=False,
|
"Flip Left Eye X Axis",
|
||||||
key=self.gui_flip_x_axis,
|
default=self.config.gui_flip_x_axis_left,
|
||||||
|
key=self.gui_flip_x_axis_left,
|
||||||
background_color='#424042',
|
background_color='#424042',
|
||||||
),
|
),
|
||||||
|
sg.Checkbox(
|
||||||
|
"Flip Right Eye X Axis",
|
||||||
|
default=self.config.gui_flip_x_axis_left,
|
||||||
|
key=self.gui_flip_x_axis_right,
|
||||||
|
background_color='#424042',
|
||||||
|
),
|
||||||
|
|
||||||
],
|
],
|
||||||
[sg.Checkbox(
|
[sg.Checkbox(
|
||||||
"Flip Y axis",
|
"Flip Y Axis",
|
||||||
default=False,
|
default=self.config.gui_flip_y_axis,
|
||||||
key=self.gui_flip_y_axis,
|
key=self.gui_flip_y_axis,
|
||||||
background_color='#424042',
|
background_color='#424042',
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|
||||||
[
|
[
|
||||||
sg.Text("Tracking algorithim toggles:", background_color='#242224'),
|
sg.Text("Tracking Algorithim Settings:", background_color='#242224'),
|
||||||
# sg.InputText(self.config.capture_source, key=self.gui_camera_addr),
|
# sg.InputText(self.config.capture_source, key=self.gui_camera_addr),
|
||||||
],
|
],
|
||||||
|
|
||||||
@ -77,7 +88,7 @@ class SettingsWidget:
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
sg.Text("Filter paramaters:", background_color='#242224'),
|
sg.Text("Filter Paramaters:", background_color='#242224'),
|
||||||
|
|
||||||
# sg.InputText(self.config.capture_source, key=self.gui_camera_addr),
|
# sg.InputText(self.config.capture_source, key=self.gui_camera_addr),
|
||||||
],
|
],
|
||||||
@ -130,11 +141,11 @@ class SettingsWidget:
|
|||||||
# sg.Column(self.roi_layout, key=self.gui_roi_layout, background_color='#424042', visible=False),
|
# sg.Column(self.roi_layout, key=self.gui_roi_layout, background_color='#424042', visible=False),
|
||||||
],
|
],
|
||||||
|
|
||||||
[
|
# [
|
||||||
sg.Button(
|
# sg.Button(
|
||||||
"Save Settings", key=self.gui_save_button, button_color = '#6f4ca1'
|
# "Save Settings", key=self.gui_save_button, button_color = '#6f4ca1'
|
||||||
),
|
# ),
|
||||||
],
|
#],
|
||||||
]
|
]
|
||||||
|
|
||||||
self.cancellation_event = Event()
|
self.cancellation_event = Event()
|
||||||
@ -211,15 +222,32 @@ class SettingsWidget:
|
|||||||
#if self.config.rotation_angle != values[self.gui_rotation_slider]:
|
#if self.config.rotation_angle != values[self.gui_rotation_slider]:
|
||||||
# self.config.rotation_angle = int(values[self.gui_rotation_slider])
|
# self.config.rotation_angle = int(values[self.gui_rotation_slider])
|
||||||
# changed = True
|
# changed = True
|
||||||
|
# print(self.config.gui_flip_x_axis, values[self.gui_flip_x_axis])
|
||||||
if self.config.gui_flip_x_axis != values[self.gui_flip_x_axis]:
|
if self.config.gui_flip_x_axis_right != values[self.gui_flip_x_axis_right]:
|
||||||
self.config.gui_flip_x_axis = values[self.gui_flip_x_axis]
|
self.config.gui_flip_x_axis_right = values[self.gui_flip_x_axis_right]
|
||||||
changed = True
|
changed = True
|
||||||
|
|
||||||
|
if self.config.gui_flip_x_axis_left != values[self.gui_flip_x_axis_left]:
|
||||||
|
self.config.gui_flip_x_axis_left = values[self.gui_flip_x_axis_left]
|
||||||
|
changed = True
|
||||||
|
|
||||||
|
|
||||||
|
if self.config.gui_flip_y_axis != values[self.gui_flip_y_axis]:
|
||||||
|
self.config.gui_flip_y_axis = values[self.gui_flip_y_axis]
|
||||||
|
changed = True
|
||||||
|
|
||||||
|
|
||||||
|
#print(self.config.gui_flip_x_axis, values[self.gui_flip_x_axis])
|
||||||
|
# if values[self.gui_flip_x_axis] != self.config.gui_flip_x_axis:
|
||||||
|
# values[self.gui_flip_x_axis] = self.config.gui_flip_x_axis
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if changed:
|
if changed:
|
||||||
self.main_config.save()
|
self.main_config.save()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# elif self.camera.camera_status == CameraState.CONNECTING:
|
# elif self.camera.camera_status == CameraState.CONNECTING:
|
||||||
# window[self.gui_mode_readout].update("Camera Connecting")
|
# window[self.gui_mode_readout].update("Camera Connecting")
|
||||||
# elif self.camera.camera_status == CameraState.DISCONNECTED:
|
# elif self.camera.camera_status == CameraState.DISCONNECTED:
|
||||||
@ -259,7 +287,7 @@ class SettingsWidget:
|
|||||||
# try:
|
# try:
|
||||||
# window[self.gui_roi_message].update(visible=False)
|
# window[self.gui_roi_message].update(visible=False)
|
||||||
# window[self.gui_output_graph].update(visible=True)
|
# window[self.gui_output_graph].update(visible=True)
|
||||||
(maybe_image, eye_info) = self.image_queue.get(block=False)
|
#(maybe_image, eye_info) = self.image_queue.get(block=False)
|
||||||
# imgbytes = cv2.imencode(".ppm", maybe_image)[1].tobytes()
|
# imgbytes = cv2.imencode(".ppm", maybe_image)[1].tobytes()
|
||||||
# window[self.gui_tracking_image].update(data=imgbytes)
|
# window[self.gui_tracking_image].update(data=imgbytes)
|
||||||
|
|
||||||
@ -269,7 +297,7 @@ class SettingsWidget:
|
|||||||
|
|
||||||
# Relay information to OSC
|
# Relay information to OSC
|
||||||
# if eye_info.info_type != InformationOrigin.FAILURE:
|
# if eye_info.info_type != InformationOrigin.FAILURE:
|
||||||
self.osc_queue.put((self.eye_id, eye_info))
|
self.osc_queue.put((EyeId.SETTINGS))
|
||||||
#self.osc_queue.put((EyeId.SETTINGS))
|
#self.osc_queue.put((EyeId.SETTINGS))
|
||||||
# except Empty:
|
# except Empty:
|
||||||
# return
|
# return
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user