Releases: sslnevefocusrite/EyeFlow
Release list
EyeFlow Waveform Fixture Extractor 0.1.0
EyeFlow Waveform Fixture Extractor 0.1.0
A standalone Windows application for creating compact waveform-only HDF5
fixtures from EyeFlow outputs.
Use
- Download
EyeFlowWaveformFixtureExtractor.exe. - Verify it against
EyeFlowWaveformFixtureExtractor.exe.sha256. - Double-click the executable.
- Choose an EyeFlow H5 file or folder and a separate output folder.
- Use Validate inputs first, then Extract fixtures.
No Python installation is required.
Privacy boundary
The extractor copies only an explicit allow-list of numeric artery/vein
waveforms, beat timing, and optional per-beat signals. It does not copy source
filenames, HDF5 attributes, images, masks, maps, the full retinal velocity
volume, or acquisition metadata.
Extracted waveforms remain patient-derived and potentially sensitive. Follow
the applicable data-governance rules and do not upload them to a public
repository without explicit approval.
Verification
- Built from commit
8df0d2awith Python 3.12.10 and PyInstaller 6.21.0. - Packaged executable self-test completed successfully on a full EyeFlow H5.
- The test input was reduced from 516.85 MB to a 539.3 KiB fixture.
- All 67 EyeFlow repository tests passed.
- Ruff reported no issues in the extractor source and tests.
- Microsoft Defender found no threats in the published executable.
The executable is not code-signed. Windows SmartScreen may show an
unrecognized-app warning; verify the SHA-256 checksum before running it.
EyeFlow 0.11.4rc1 waveform robustness validation
Validation-only build
This prerelease is intended for evaluation on a measurement PC before the upstream pull request is considered ready. It installs side by side as EyeFlow 0.11.4rc1 and should not replace your current reference installation or results.
What this build changes
- Preserves the existing high-confidence systolic detector, then conservatively recovers one supported upstroke inside an approximately two-cycle gap.
- Applies one paired artery/vein beat-quality mask to reject intervals distorted by motion spikes, dips, implausible duration, or waveform inconsistency.
- Re-extracts accepted beats from the original signal so a rejected long interval cannot distort the interpolation length of otherwise clean beats.
- Uses the same accepted beats for heart rate, velocity summaries, RI, PI, and waveform-shape metrics while leaving the metric formulas unchanged.
- Writes auditable beat-level QC results under
QualityControl/Beat.
Suggested measurement-PC test
- Keep your current EyeFlow installation and outputs as the reference.
- Install this RC and process a representative mix of clean recordings, missed-peak cases, minima dips, and motion artifacts with the same pipeline/settings.
- Compare the old and RC outputs, especially:
QualityControl/Beat/RecoveredBoundaryCount/valueQualityControl/Beat/AcceptedCount/valueQualityControl/Beat/RejectedCount/valueQualityControl/Beat/AcceptedMask/valueQualityControl/Beat/RejectionFlags/valueArtery/VelocityPerBeat/beatPeriodSeconds/value
- Check that supported missed boundaries are recovered, artifact intervals are rejected, and clean recordings remain effectively unchanged.
- Retain the output H5 files and note any recordings where a beat was unexpectedly recovered or rejected.
Validation completed before upload
- All 74 automated tests pass.
- Packaged CLI startup and help output pass.
- Packaged GUI opens a responsive
EyeFlow 0.11.4rc1window. - Local generalized regression: three supported missed boundaries recovered, four artifact beats rejected, and four clean controls were exact no-ops across 156 scalar summaries.
- Seeded stress testing: 100/100 attenuated beats recovered within two samples, with no false recovery in true pauses, no clean-run QC false positives, and no missed injected artifacts.
Deliberate limits
- Recovery handles one missing boundary, not multiple consecutive missed boundaries.
- A beat-shaped motion upslope at the expected phase cannot be distinguished by timing alone; residual and paired-template QC remain important.
- With too few clean reference beats, template rejection is disabled, while residual and duration checks remain active.
- If all intervals are rejected, the pipeline reports a clear error instead of silently using contaminated beats.
Build identity and integrity
- Commit:
e7d6b6bb5019175edf91d25feca83d23fe5c8943 - Installer SHA-256:
52E2D2B0C17F01B6892016515DD7E9855C5EB977ECBB912D17C6FE5AD2D3E504
The installer is not code-signed, so Windows SmartScreen may show an unrecognized-app warning. No measurement data or case identifiers are included in this release.