EyeSort v0.5.0
EyeSort v0.5.0 Release Notes:
Label Queue Workflow
The labeling interface has been redesigned around a queue-based model. Users can now stage multiple label configurations before applying them, review queued labels in a dedicated listbox, remove individual entries before committing, and execute all queued labels in a single sequential pass. A per-session CSV summary log (eyesort_labeling_summary_NNN.csv) is written to the output directory on each batch run.
Smarter Conflict Resolution
The conflict resolution prompt has been replaced with a custom dialog that displays all unique existing→new code pairs (with descriptions and event counts) and includes an "Apply this choice to all future conflicts" checkbox. A single user decision now propagates automatically across all queued labels and all datasets in a batch run.
RTL Language Support
Right-to-left reading direction is now supported end-to-end. Interest area boundaries and word pixel positions are computed right-to-left when enabled, and the flag is exposed as a checkbox in the pop_load_text_ia GUI and propagated through the full labeling pipeline. The minimum saccade x-displacement threshold has also been reduced.
Trial Labeling Fixes
- Region pass numbering is now tracked independently per region rather than with a single trial-level counter. Skipped regions are correctly initialized to pass 2 on first entry.
- First-pass detection (
is_first_pass_region) is now derived from a single shared variable per fixation, eliminating the risk of inconsistent results from multiple independent loop passes. - Regression trial marking (
is_regression_trial) is deferred to a single pass after the main event loop, replacing two inline O(n) sweeps that previously fired mid-loop. - Cross-trial saccade boundaries are now correctly excluded from
prevSaccadeMap/nextSaccadeMapby walking to the nearest fixation with a valid trial number.
Interest Area Text File
The spacing constraint between regions has been removed. Users may now format the interest area text file however they prefer on a per-experiment basis.
Cache Directory
Auto-saved runtime files (last_label_config.mat, last_label_queue.mat, last_text_ia_config.mat) are now written to a cache/ subdirectory within the plugin folder. The .gitignore has been updated accordingly.
Getting Started
- 📄 User Manual: EyeSort_Manual.pdf
- Important: The user manual has not been fully updated to reflect all the changes done in this update. Will update release when manual has been updated.
- 📦 Compatible sample datasets + IA file (one-click download):
Download:EyeSort_Compatible_Files.zip
If you encounter any bugs, inconsistencies, or unexpected behavior, please open an issue so it can be addressed. Thank you!