Skip to content

Phase 5: Unsupported options in existing user-facing functions #136

Description

@suraj-ranganath

🤖

Phase 5: Unsupported Options In Existing User-Facing Functions

Summary

Close option-level gaps in functions EEGPrep already exposes to users. This phase should reduce surprising NotImplementedError paths and make existing GUI/API/console workflows feel complete.

Start after Phase 2 and Phase 4 APIs are stable. Merge after both to avoid duplicate work.

Scope

Review and close useful unsupported options in:

  • pop_erpimage
  • pop_comperp
  • pop_editset
  • pop_export
  • pop_epoch filename-backed data path
  • pop_eegfilt legacy behavior only if not stale
  • pop_runica documented algorithm/options gaps only where maintainable
  • headplot, coregister, and clean_asr missing options where they are real workflows

Do not fake external-toolbox behavior. If a path cannot work standalone, provide a clear limitation and matrix classification.

Acceptance Criteria

  • Unsupported EEGLAB options are reduced to only explicit, documented non-goals.
  • User-facing help Markdown explains supported options and limitations.
  • GUI-reachable paths keep EEGPrepSession, eegprep-console, LASTCOM, ALLCOM, and visible GUI state synchronized.
  • Tests cover sample data, invalid options, history replay, cancel/error paths, and MATLAB parity where deterministic.
  • GUI changes include side-by-side visual parity attachments.
  • Matrix rows touched by this phase are updated.

Verification

Run focused tests for each touched function, relevant console workspace tests, GUI visual parity captures for dialogs, then:

  • uv run --no-sync ruff check .
  • uv run --no-sync ruff format --check .
  • uv run --no-sync ty check
  • non-slow pytest as risk requires

/goal Prompt

/goal Close unsupported-option gaps in existing EEGPrep user-facing functions. Use EEGLAB source as behavior reference, implement only maintainable and user-relevant options, preserve GUI plus eegprep-console synchronization, add help/docs/tests/parity evidence, update the parity matrix, and classify any remaining unsupported options explicitly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    phaseEpic implementation phase

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions