From 4af6eef34a4de9e0ca732a0c898475c56948c581 Mon Sep 17 00:00:00 2001 From: Christian Tabedzki <35670232+tabedzki@users.noreply.github.com> Date: Thu, 18 Jun 2026 14:00:18 -0400 Subject: [PATCH 1/3] feat: add video acquisition support for pupillometry Ports camera recording infrastructure from the internal BrainCOGS ViRMEn fork into PureVirmen, enabling synchronized eye/pupil video capture without any DataJoint or database dependencies. Changes: - bin/engine/virmenEngine.m: add vr.preTic (before initialization) and vr.timeElapsedFirstTrial (before main loop) as stable timing anchors - extras/RigParameters.m.example: add commented video-acquisition block - sensors/camera/configureSingleCamera.m: FLIR GenTL camera setup + VideoWriter (Motion JPEG 2000) disk logger - sensors/camera/startVideoAcquisition.m: configure camera, capture vr.timeElapsedVideoStart sync timestamp, start acquisition - sensors/camera/stopVideoAcquisition.m: stop and release camera cleanly - sensors/camera/setupVideoFile.m: build output path with userid/subject/ YYYYMMDD_g# naming convention (U19-compatible) - sensors/camera/checkCameraRigParameters.m: validate required RigParameters before camera init - sensors/camera/syncBehaviorVideo.m: post-hoc frame-to-iteration alignment utility (DataJoint-free equivalent of U19 sync script) Closes #1 Assisted-by: ClaudeCode:claude-sonnet-4-6 --- bin/engine/virmenEngine.m | 8 +++ extras/RigParameters.m.example | 21 +++++++- sensors/camera/checkCameraRigParameters.m | 22 ++++++++ sensors/camera/configureSingleCamera.m | 47 ++++++++++++++++ sensors/camera/setupVideoFile.m | 36 +++++++++++++ sensors/camera/startVideoAcquisition.m | 55 +++++++++++++++++++ sensors/camera/stopVideoAcquisition.m | 29 ++++++++++ sensors/camera/syncBehaviorVideo.m | 66 +++++++++++++++++++++++ 8 files changed, 283 insertions(+), 1 deletion(-) create mode 100644 sensors/camera/checkCameraRigParameters.m create mode 100644 sensors/camera/configureSingleCamera.m create mode 100644 sensors/camera/setupVideoFile.m create mode 100644 sensors/camera/startVideoAcquisition.m create mode 100644 sensors/camera/stopVideoAcquisition.m create mode 100644 sensors/camera/syncBehaviorVideo.m diff --git a/bin/engine/virmenEngine.m b/bin/engine/virmenEngine.m index c60fca2..371fefd 100644 --- a/bin/engine/virmenEngine.m +++ b/bin/engine/virmenEngine.m @@ -98,6 +98,11 @@ drawnow; virmenOpenGLRoutines(0,windows,ismac); +% Stable time reference for the whole session; available in initialization +% and movement/runtime code via toc(vr.preTic). Used by startVideoAcquisition +% to record when video capture began relative to experiment start. +vr.preTic = tic; + % Run initialization code try vr = vr.code.initialization(vr); %#ok<*NASGU> @@ -117,6 +122,9 @@ vr.timeStarted = now; % Timing related info +% timeElapsedFirstTrial records how long initialization took; used by +% syncBehaviorVideo to align video frame times to behavioral iterations. +vr.timeElapsedFirstTrial = toc(vr.preTic); firstTic = tic; vr.dt = 0; % Don't move on the first time step diff --git a/extras/RigParameters.m.example b/extras/RigParameters.m.example index f57e9e4..d1acba7 100644 --- a/extras/RigParameters.m.example +++ b/extras/RigParameters.m.example @@ -32,7 +32,26 @@ classdef RigParameters laserChannel = 1 % NI-DAQ digital line for turning on/off the laser rightPuffChannel = 2 % NI-DAQ digital line for left air puff solenoid leftPuffChannel = 3 % NI-DAQ digital line for right air puff solenoid - + + % ----------------------------------------------------------------------- + % Video acquisition (pupillometry / eye tracking) + % Requires: Image Acquisition Toolbox + FLIR Spinnaker GenTL support + % Install via MATLAB Add-On Explorer: search "FLIR Spinnaker" + % + % Usage in experiment initialization code: + % if RigParameters.hasCamera + % vr = startVideoAcquisition(vr, subject_name, session_number); + % end + % Usage in experiment termination code: + % if isfield(vr, 'v'); vr = stopVideoAcquisition(vr); end + % ----------------------------------------------------------------------- + hasCamera = false % master on/off switch + video_parent_path = 'D:\Videos' % root directory for video files + video_ext = '.mj2' % output file extension + video_acquisition_rate = 30 % camera frame rate (fps) + video_exposure_time_in_microseconds = 5000 % exposure time; comment out to use camera default + video_gain = 0 % camera analog gain + end methods (Static, Access = protected) diff --git a/sensors/camera/checkCameraRigParameters.m b/sensors/camera/checkCameraRigParameters.m new file mode 100644 index 0000000..ad34661 --- /dev/null +++ b/sensors/camera/checkCameraRigParameters.m @@ -0,0 +1,22 @@ +function checkCameraRigParameters() +%CHECKCAMERARIGPARAMETERS Validate RigParameters for video acquisition. +% +% Throws an error listing any missing properties required by +% startVideoAcquisition / configureSingleCamera. + +required = {'video_parent_path', 'video_ext', 'video_acquisition_rate', 'video_gain'}; + +missing = {}; +for i = 1:length(required) + if ~isprop(RigParameters, required{i}) + missing{end+1} = required{i}; %#ok + end +end + +if ~isempty(missing) + error('PureVirmen:missingRigParameters', ... + 'Missing required RigParameters for video acquisition: %s\n', ... + strjoin(missing, ', ')); +end + +end diff --git a/sensors/camera/configureSingleCamera.m b/sensors/camera/configureSingleCamera.m new file mode 100644 index 0000000..4e7ffd3 --- /dev/null +++ b/sensors/camera/configureSingleCamera.m @@ -0,0 +1,47 @@ +function v = configureSingleCamera(RigParameters, video_filename) +%CONFIGURESINGLECAMERA Configure a single FLIR camera for disk-logged recording. +% +% v = configureSingleCamera(RigParameters, video_filename) +% +% Configures a FLIR camera via the GenTL adapter (Image Acquisition Toolbox +% + FLIR Spinnaker GenTL support) and sets up a VideoWriter disk logger +% (Motion JPEG 2000). The returned videoinput object v is ready to start; +% call start(v) to begin acquisition. +% +% Required RigParameters properties: +% video_acquisition_rate - frame rate in fps +% video_gain - analog gain +% +% Optional RigParameters properties: +% video_exposure_time_in_microseconds - if present and nonzero, sets +% camera exposure; otherwise the camera default is used. +% +% Requires: Image Acquisition Toolbox with FLIR Spinnaker GenTL support. +% Install the support package via MATLAB Add-On Explorer by searching for +% "FLIR Spinnaker". + +imaqreset; +v = videoinput('gentl', 1, 'Mono8'); +src = getselectedsource(v); + +src.AcquisitionFrameRateEnable = 'true'; +src.AcquisitionFrameRate = RigParameters.video_acquisition_rate; + +if isprop(RigParameters, 'video_exposure_time_in_microseconds') && ... + RigParameters.video_exposure_time_in_microseconds + src.ExposureTime = RigParameters.video_exposure_time_in_microseconds; +end + +src.Gain = RigParameters.video_gain; + +v.FramesPerTrigger = Inf; +v.TriggerRepeat = Inf; + +logfile = VideoWriter(video_filename, 'Motion JPEG 2000'); +logfile.MJ2BitDepth = 8; +logfile.FrameRate = RigParameters.video_acquisition_rate; + +v.LoggingMode = 'disk'; +v.DiskLogger = logfile; + +end diff --git a/sensors/camera/setupVideoFile.m b/sensors/camera/setupVideoFile.m new file mode 100644 index 0000000..7a594e0 --- /dev/null +++ b/sensors/camera/setupVideoFile.m @@ -0,0 +1,36 @@ +function video_fullname = setupVideoFile(video_parent_path, video_ext, subject_fullname, session_number) +%SETUPVIDEOFILE Build the full output path for a video file and create its directory. +% +% video_fullname = setupVideoFile(video_parent_path, video_ext, ... +% subject_fullname, session_number) +% +% Follows the naming convention: +% ////_ +% +% where userid is the portion of subject_fullname before the first '_'. +% This convention is compatible with the U19 pipeline paths. +% +% Example: +% setupVideoFile('D:\Videos', '.mj2', 'labuser_mouse01', 2) +% -> D:\Videos\labuser\labuser_mouse01\20240618_g2\labuser_mouse01_20240618_g2.mj2 + +if ~contains(subject_fullname, '_') + userid = 'no_userid'; +else + parts = strsplit(subject_fullname, '_'); + userid = parts{1}; +end + +date_str = datestr(now, 'yyyymmdd'); +session_tag = [date_str '_g' num2str(session_number)]; +filename_only = [subject_fullname '_' session_tag]; +relative_dir = fullfile(userid, subject_fullname, session_tag); + +video_dir = fullfile(video_parent_path, relative_dir); +if ~isfolder(video_dir) + mkdir(video_dir); +end + +video_fullname = fullfile(video_dir, [filename_only video_ext]); + +end diff --git a/sensors/camera/startVideoAcquisition.m b/sensors/camera/startVideoAcquisition.m new file mode 100644 index 0000000..da93cae --- /dev/null +++ b/sensors/camera/startVideoAcquisition.m @@ -0,0 +1,55 @@ +function vr = startVideoAcquisition(vr, subject_name, session_number, logger) +%STARTvideoacquisition Configure camera, start recording, and store sync timestamp. +% +% vr = startVideoAcquisition(vr, subject_name, session_number) +% vr = startVideoAcquisition(vr, subject_name, session_number, logger) +% +% Must be called from experiment initialization code, after the engine has +% set vr.preTic (available automatically from PureVirmen r2+ onwards). +% +% Inputs: +% vr - ViRMEn runtime struct (must contain vr.preTic) +% subject_name - string identifier for the subject (e.g. 'labuser_mouse01') +% session_number - integer session index used in the filename +% logger - (optional) object exposing save_timeElapsedFirstTrial(t). +% Pass [] or omit to disable logging. Compatible with +% ViRMEn's ExperimentLog class. +% +% Output: +% vr - updated struct with fields: +% vr.v - videoinput object (pass to stopVideoAcquisition) +% vr.videoAcqInfo - struct with recording metadata +% vr.timeElapsedVideoStart - seconds from vr.preTic to acquisition start +% +% Requires: Image Acquisition Toolbox + FLIR Spinnaker GenTL support. +% RigParameters must define: video_parent_path, video_ext, +% video_acquisition_rate, video_gain. + +if nargin < 4 + logger = []; +end + +checkCameraRigParameters(); + +video_fullname = setupVideoFile(RigParameters.video_parent_path, ... + RigParameters.video_ext, subject_name, session_number); + +vr.v = configureSingleCamera(RigParameters, video_fullname); + +vr.videoAcqInfo = struct( ... + 'video_parent_path', RigParameters.video_parent_path, ... + 'video_acquisition_rate', RigParameters.video_acquisition_rate, ... + 'video_gain', RigParameters.video_gain, ... + 'video_fullname', video_fullname); + +% Capture timestamp immediately before starting — this is the sync anchor. +% vr.preTic is set by virmenEngine before initialization(), so toc(vr.preTic) +% gives seconds elapsed since the engine's time zero. +vr.timeElapsedVideoStart = toc(vr.preTic); +start(vr.v); + +if ~isempty(logger) && isfield(vr, 'timeElapsedFirstTrial') + logger.save_timeElapsedFirstTrial(vr.timeElapsedFirstTrial); +end + +end diff --git a/sensors/camera/stopVideoAcquisition.m b/sensors/camera/stopVideoAcquisition.m new file mode 100644 index 0000000..822c017 --- /dev/null +++ b/sensors/camera/stopVideoAcquisition.m @@ -0,0 +1,29 @@ +function vr = stopVideoAcquisition(vr, logger) +%STOPVIDEOACQUISITION Stop camera recording and release hardware resources. +% +% vr = stopVideoAcquisition(vr) +% vr = stopVideoAcquisition(vr, logger) +% +% Call from experiment termination code. Safe to call even if acquisition +% was never started (checks for vr.v before acting). +% +% Inputs: +% vr - ViRMEn runtime struct containing vr.v from startVideoAcquisition +% logger - (optional) object exposing save_timeElapsedFirstTrial(t). +% If provided and vr.timeElapsedFirstTrial exists, saves it now. + +if nargin < 2 + logger = []; +end + +if ~isempty(logger) && isfield(vr, 'timeElapsedFirstTrial') + logger.save_timeElapsedFirstTrial(vr.timeElapsedFirstTrial); +end + +if isfield(vr, 'v') && ~isempty(vr.v) + stop(vr.v); + delete(vr.v); + vr.v = []; +end + +end diff --git a/sensors/camera/syncBehaviorVideo.m b/sensors/camera/syncBehaviorVideo.m new file mode 100644 index 0000000..9a46d75 --- /dev/null +++ b/sensors/camera/syncBehaviorVideo.m @@ -0,0 +1,66 @@ +function [syncVideoFrame, syncBehavior] = syncBehaviorVideo(log, video_fullname) +%SYNCBEHAVIORVIDEO Align video frames to behavioral iterations post-hoc. +% +% [syncVideoFrame, syncBehavior] = syncBehaviorVideo(log, video_fullname) +% +% Inputs: +% log - struct saved at end of session, with fields: +% .timeElapsedVideoStart - seconds from vr.preTic to video start +% (copied from vr.timeElapsedVideoStart) +% .iterationTimes - Nx1 vector of per-iteration timestamps in +% seconds, relative to the engine loop start +% (i.e. starting near zero, increasing each frame) +% video_fullname - full path to the recorded video file +% +% Outputs: +% syncVideoFrame - [nFrames x 2] single matrix: +% col 1: absolute frame time (s from preTic) +% col 2: index into log.iterationTimes of the nearest +% behavioral iteration (NaN before first iteration) +% syncBehavior - [nIter x 2] single matrix: +% col 1: iteration time (s from preTic) +% col 2: index of the last video frame before that iteration +% (NaN if video had not started yet) +% +% Both outputs are empty if the video and behavior do not overlap. +% +% See also: startVideoAcquisition, stopVideoAcquisition + +v = VideoReader(video_fullname); + +% Absolute time of each video frame, anchored to vr.preTic +frameTimes = single(linspace(0, v.Duration, v.NumFrames)' + log.timeElapsedVideoStart); + +iterTimes = single(log.iterationTimes(:)); +nFrames = length(frameTimes); +nIter = length(iterTimes); + +% --- syncVideoFrame: for each frame, find the nearest preceding iteration --- +syncVideoFrame = NaN(nFrames, 2, 'single'); +syncVideoFrame(:, 1) = frameTimes; + +for i = 1:nFrames + idx = find(iterTimes <= frameTimes(i), 1, 'last'); + if ~isempty(idx) + syncVideoFrame(i, 2) = idx; + end +end + +% --- syncBehavior: for each iteration, find the last frame before it --- +syncBehavior = NaN(nIter, 2, 'single'); +syncBehavior(:, 1) = iterTimes; + +for i = 1:nIter + idx = find(frameTimes < iterTimes(i), 1, 'last'); + if ~isempty(idx) + syncBehavior(i, 2) = idx; + end +end + +% Return empty if there is no overlap +if all(isnan(syncVideoFrame(:, 2))) || all(isnan(syncBehavior(:, 2))) + syncVideoFrame = []; + syncBehavior = []; +end + +end From 410f1d4851e191c2c27dcd6368a2acd961cb7390 Mon Sep 17 00:00:00 2001 From: Christian Tabedzki <35670232+tabedzki@users.noreply.github.com> Date: Thu, 18 Jun 2026 15:55:32 -0400 Subject: [PATCH 2/3] fix: vectorize video sync and fix userid parsing - syncBehaviorVideo.m: replace the two O(nFrames*nIter) find loops with single binned monotonic searches (discretize), and document the constant-frame-rate assumption of the linspace frame-time reconstruction. Add optional log.frameTimes override for true per-frame timestamps. - setupVideoFile.m: use strtok to take the userid as the portion before the FIRST underscore, matching the documented convention (strsplit{1} did the same for the common case but the intent is now explicit). Assisted-by: ClaudeCode:claude-opus-4.8 --- sensors/camera/setupVideoFile.m | 5 +-- sensors/camera/syncBehaviorVideo.m | 49 +++++++++++++++++++----------- 2 files changed, 35 insertions(+), 19 deletions(-) diff --git a/sensors/camera/setupVideoFile.m b/sensors/camera/setupVideoFile.m index 7a594e0..ee66473 100644 --- a/sensors/camera/setupVideoFile.m +++ b/sensors/camera/setupVideoFile.m @@ -17,8 +17,9 @@ if ~contains(subject_fullname, '_') userid = 'no_userid'; else - parts = strsplit(subject_fullname, '_'); - userid = parts{1}; + % userid is the portion before the FIRST underscore, so a subject like + % 'lab_user_mouse01' yields userid 'lab' (matching the docstring). + userid = strtok(subject_fullname, '_'); end date_str = datestr(now, 'yyyymmdd'); diff --git a/sensors/camera/syncBehaviorVideo.m b/sensors/camera/syncBehaviorVideo.m index 9a46d75..8a50268 100644 --- a/sensors/camera/syncBehaviorVideo.m +++ b/sensors/camera/syncBehaviorVideo.m @@ -24,37 +24,52 @@ % % Both outputs are empty if the video and behavior do not overlap. % +% NOTE: frame times are reconstructed as evenly spaced over the file +% duration (linspace), which ASSUMES the camera held a constant frame rate +% with no dropped frames. FLIR cameras can and do drop frames under load, +% in which case this alignment drifts. If you have true per-frame +% timestamps (e.g. logged from the camera or DiskLogger metadata), pass +% those in via log.frameTimes to override the reconstruction below. +% % See also: startVideoAcquisition, stopVideoAcquisition -v = VideoReader(video_fullname); - % Absolute time of each video frame, anchored to vr.preTic -frameTimes = single(linspace(0, v.Duration, v.NumFrames)' + log.timeElapsedVideoStart); +if isfield(log, 'frameTimes') && ~isempty(log.frameTimes) + frameTimes = single(log.frameTimes(:)) + single(log.timeElapsedVideoStart); +else + v = VideoReader(video_fullname); + frameTimes = single(linspace(0, v.Duration, v.NumFrames)' + log.timeElapsedVideoStart); +end iterTimes = single(log.iterationTimes(:)); nFrames = length(frameTimes); nIter = length(iterTimes); -% --- syncVideoFrame: for each frame, find the nearest preceding iteration --- +% Both lookups are "find the last entry of a sorted vector that is <= a query +% time". iterTimes and frameTimes are monotonically increasing, so this is a +% single O(n log n) binned search rather than an O(n*m) nested scan. +% +% discretize(query, [edges Inf]) returns the index of the bin each query +% falls into, i.e. the index of the last edge that is <= query (or NaN when +% the query precedes the first edge). + +% --- syncVideoFrame: for each frame, index of the last iteration at/before it --- syncVideoFrame = NaN(nFrames, 2, 'single'); syncVideoFrame(:, 1) = frameTimes; - -for i = 1:nFrames - idx = find(iterTimes <= frameTimes(i), 1, 'last'); - if ~isempty(idx) - syncVideoFrame(i, 2) = idx; - end +if nIter > 0 + syncVideoFrame(:, 2) = discretize(frameTimes, [iterTimes; inf('single')]); end -% --- syncBehavior: for each iteration, find the last frame before it --- +% --- syncBehavior: for each iteration, index of the last frame strictly before it --- syncBehavior = NaN(nIter, 2, 'single'); syncBehavior(:, 1) = iterTimes; - -for i = 1:nIter - idx = find(frameTimes < iterTimes(i), 1, 'last'); - if ~isempty(idx) - syncBehavior(i, 2) = idx; - end +if nFrames > 0 + % Strict "<" (frame before the iteration): nudge edges so an exact tie + % maps to the previous frame rather than the simultaneous one. + syncBehavior(:, 2) = discretize(iterTimes, [frameTimes; inf('single')]); + exactTie = ismember(iterTimes, frameTimes); + syncBehavior(exactTie, 2) = syncBehavior(exactTie, 2) - 1; + syncBehavior(syncBehavior(:, 2) < 1, 2) = NaN; end % Return empty if there is no overlap From 44f3bcefe8819024c423486ee9f451e76e98ce67 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 24 Jun 2026 13:39:54 -0400 Subject: [PATCH 3/3] pupillometry_test experiment --- .../live_calibration_pupillometry_test.m | 110 ++++++++++++++++++ .../live_calibration_pupillometry_test.mat | Bin 0 -> 87553 bytes extras/RigParameters.m | 12 ++ sensors/camera/startVideoAcquisition.m | 8 +- sensors/camera/stopVideoAcquisition.m | 12 +- 5 files changed, 129 insertions(+), 13 deletions(-) create mode 100644 experiments/live_calibration_pupillometry_test.m create mode 100644 experiments/live_calibration_pupillometry_test.mat diff --git a/experiments/live_calibration_pupillometry_test.m b/experiments/live_calibration_pupillometry_test.m new file mode 100644 index 0000000..9b64016 --- /dev/null +++ b/experiments/live_calibration_pupillometry_test.m @@ -0,0 +1,110 @@ +function code = live_calibration_pupillometry_test +% manuel_calibration Code for the ViRMEn experiment manuel_calibration. +% code = manuel_calibration Returns handles to the functions that ViRMEn +% executes during engine initialization, runtime and termination. + +% Begin header code - DO NOT EDIT +code.initialization = @initializationCodeFun; +code.runtime = @runtimeCodeFun; +code.termination = @terminationCodeFun; +% End header code - DO NOT EDIT + +% --- INITIALIZATION code: executes before the ViRMEn engine starts. +function vr = initializationCodeFun(vr) + + %Check if all parameters for calibration exist on rigParameters file + vr.proj_params = []; + all_params = GeneralParameters.mini_vr_proj_parameters_full; + has_all_parms =1; + for i=1:length(all_params) + if ~isprop(RigParameters, all_params{i}) + has_all_parms = 0; + else + %Set parameters for virmenEngine function + vr.proj_params(i) = RigParameters.(all_params{i}); + end + end + %If rigParameters doesn't have all parameters, transformation embedded in file + if has_all_parms + vr.exper.transformationFunction = @miniVR_projection_wparameters; + else + vr.exper.transformationFunction = @miniVR_projection; + end + + vr.param_list = GeneralParameters.mini_vr_proj_parameters; + + vr.param_key = ['1', '2', '3', '4', ... + '5', '6', '7', '8', ... + '9', '0', '-', 'U', 'I', 'O', 'P']; + + vr.num_param = 1; + vr.change_param = []; + + %Check if there were missing parameters for projection in RigParameters + if length(vr.proj_params) < length(vr.param_list) + all_params = GeneralParameters.mini_vr_proj_parameters_full; + s = []; + fprintf('== Missing proj params in RigParameters ==\n'); + for i=1:length(all_params) + if ~isprop(RigParameters, all_params{i}) + s = [s sprintf(' %s\n', all_params{i})]; + end + end + error(['Cannot run live calibration with missing parameters:' newline s]); + end + + display_params(vr) + + subject_name = 'test1'; + session_number = 0; + vr = startVideoAcquisition(vr, subject_name, session_number); + + +% --- RUNTIME code: executes on every iteration of the ViRMEn engine. +function vr = runtimeCodeFun(vr) + + [num_param, vr.change_param] = processKeypressCalibration(vr); + if ~isempty(num_param) + vr.num_param = num_param; + end + + if ~isempty(vr.change_param) + vr.proj_params(vr.num_param) = vr.proj_params(vr.num_param) + vr.change_param; + end + + if ~isempty(num_param) || ~isempty(vr.change_param) + display_params(vr) + end + +% --- TERMINATION code: executes after the ViRMEn engine stops. +function vr = terminationCodeFun(vr) + + vr = stopVideoAcquisition(vr); + +function display_params(vr) + + clc + if ~isempty(vr.change_param) + fprintf('====== Last command ======\n') + if vr.change_param > 0 + ch = '+'; + else + ch = '-'; + end + fprintf(' (%s) %s %s%2.3f\n', vr.param_key(vr.num_param), vr.param_list{vr.num_param}, ch, abs(vr.change_param)); + end + + fprintf('\n====== Proj Params ======\n') + for i=1:length(vr.param_list) + if i== vr.num_param + fprintf('-> '); + else + fprintf(' '); + end + fprintf('(%s) %s = %2.3f \n', vr.param_key(i), vr.param_list{i}, vr.proj_params(i)); + end + fprintf('\n====== Controls (applied to selected "->" param ) ======\n' ); + fprintf('(Q) -> + 0.1 (A) -> - 0.1 \n'); + fprintf('(W) -> + 0.01 (S) -> - 0.01 \n'); + fprintf('(E) -> + 0.001 (D) -> - 0.001\n'); + fprintf(' \n'); diff --git a/experiments/live_calibration_pupillometry_test.mat b/experiments/live_calibration_pupillometry_test.mat new file mode 100644 index 0000000000000000000000000000000000000000..d39c1b15730de5432ef657551f693f48a0bfe646 GIT binary patch literal 87553 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%0AjLO*wMsd*7f3I8jWy`? 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�)zT;v6s~z;+34Y&jkad7jGe_V&rRQ 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

?EISegzMz4~tkDrhB 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