Skip to content

Releases: iandol/opticka

Tweaks and twiddles…

06 Oct 06:53
Compare
Choose a tag to compare

This is mostly a bunch of small tweaks and fixes. Some fixes to procedural checkerboard stimulus and some more logging fixes to improve performance for long tasks....

Auto What's Changed

Tweaking State Machine Timing

15 Jun 10:54
5be2341
Compare
Choose a tag to compare

I did a refactor of the state machine to ensure timing is accurate. This was prompted by doing lots of photodiode vs. strobe trigger tests. Opticka is super reliable but I noticed if we asked for 2 secs maintain fixation we actually have 2.036 secs stimulus. This is because the timer itself is managed by the eyetracker, but then the state machine must make the logic decision to transition to another state and this incurs a fixed two flips offset. If you absolutely need 2 secs you must use 1.964secs for a 60hz system. The state machine timers themselves are really precise (I tested to around 0.001ms).

  • Added a UseVulkan switch to the GUI, as currently we have a bug with the display++ that is only fixed when using Vulkan.
  • Add a polar grating (radial, circular and spiral) stimulus, with an arc segment mask option for fMRI etc.
  • Add stereomode option to screenManager (only anaglyph stereo used so far).
  • Improvements to the tobii / iRec / Pupil core operator display.
  • Fix RFLocaliser that got broken when we added visibleRate.
  • Improve visibleRate frequency accuracy.
  • More Pupil Core bringup.

What's Changed

New Contributors

  • @iandol made their first contribution in #3

Full Changelog: V2.15.11...V2.15.12

Refactor of Reward System

24 May 01:24
Compare
Choose a tag to compare

We currently support 3 different reward delivery systems: (1) standard variable-length TTL (2) custom-controlled peristaltic pump (3) fooed pellet dispenser. We added a reward structure to arduinoManager to set the parameters and type, then we can use the single command giveReward() to use the appropriate interface. Opticka GUI can now select among the options.

We also moved the eyetracker managers from communication to eyetracker folder, run addOptickaToPath to update the paths. We also add a pupilCoreManager to use the pupil core headset, we should be able to use our consistent API as for the eyelink / tobii / irec, some fixup is still needed for full functionality. But so far this eyetracker is very promising!!! You need to clone https://github.com/iandol/matlab-zmq and add the lib folder to the path; zmq support is precompiled for Linux and macOS.

For the iRec eyetracker, we can now screenshot the validation results pressing F1.

You can pass -1 to the audio interface in opticka GUI to disable the audio system, as we still face random crashes in Ubuntu 22.04


Full Changelog: V2.15.10...V2.15.11

Supporting the iRecHS2 Eyetracker

31 Mar 06:40
Compare
Choose a tag to compare

We have added a new eyetracker, the iRecHS2 (https://staff.aist.go.jp/k.matsuda/iRecHS2/index_e.html) which can use machine vision camera's from FLIR and works really well. For this we did a big refactor of the eyetracker so we use base classes eyetrackerCore and eyetrackerSmooth and inherit from them. As we first supported the eyelink, the tobii and iRec functions broadly mirror the eyelinkManager. It means you can use the same experiment code and any eyetracker should work unchanged. The iRec gains the Operator screen we use for the Tobii, so you can see fixation and eye data in real time as the experiment progresses.

Full Changelog: V2.15.3...V2.15.5

V2.13.2 -- bug fixes

24 Feb 04:35
Compare
Choose a tag to compare

This release fixes a few small GUI bugs, like not saving the subject name properly, and we've added a menu to change the Arduino board type (we support the classic Uno, but also Seeeduino Xiao and Raspbery Pi Pico).

Intan recording control

23 Feb 11:53
Compare
Choose a tag to compare

V2.13 adds the ability to send start / stop commands to the Intan. It also tweaked the GUI to split out the statemachine and userfunctions to separate tabs...

We also added some examples of using the imageStimulus to make "shapes" using alpha-masked images (see optickatest.m for an example).

NOTE: This version has reworked some of the runExperiment properties that may cause you to need to edit your stateInfo files to adjust to the new property names. Read through DefaultStateInfo.m to see what has changed...

Full Changelog: V2.11...V2.13.1

V2.11

15 Dec 09:49
Compare
Choose a tag to compare

The major changes are:

  • Tobii gets a full-time monitor window to show the stimulus positions and eye plot summaries during the trial. The trackerDraw... functions used on the eyelink all work on the tobii so the same task code works to plot realtime eye data on either eyetracker.
  • We've added a preliminary reverse correlation module. This is dense binary or trinary noise, with parameters modified via a separate dialog.
  • The Help > Keyboard Mapping file now shows all keys for RFMapper module and the Tobii calibration key commands.
  • Many small tweaks.

Full Changelog: V2.09...V2.11

V2.09

03 Jan 05:26
Compare
Choose a tag to compare

Full Changelog: V2.06...V2.09

Improve GUI for editing variables, refactor for deployment

27 Feb 21:26
Compare
Choose a tag to compare

The variable editing panel has been improved, being able to live edit entries without removing them from the list. The possible entries are now dynamically generated depending on the selected stimulus.

Lots of underlying changes have been made to protocol loading and saving, and other changes to enable app deployment. Opticka can be fully deployed using the MATLAB compiler (only tested on macOS so far, but final target is Linux).

Full Changelog: V2.05...V2.06

Better UI control of eyetracker settings

29 Nov 17:00
Compare
Choose a tag to compare

Opticka has two eyetracker interfaces to Eyelink (eyelinkManager) and Tobii eyetrackers (tobiiManager). The API is largely similar and major commands to interact with the eyetracker work identically. However settings are quite different. So far most settings are set in code via the state info file (e.g. see here). In V2.05 I've added two separate UI panels with the main settings for Eyelink and Tobii eyetrackers. These provide default values, and any settings in the state machine info file will still overwrite them. Thus you now can either use the UI exclusively or mix and match.

Additionally there is a new way to save protocols where both the MAT file and StateInfo.m file are saved and the pathto the state file in the MAT file is changed so it points to this new location. This aids in making quick copies of a protocol you can then customise and edit. Opticka uses ~/MatlabFiles/Protocols as the default folder for saving protocols.