mne-tools / mne-tools/mne-python

Raw browser issues (and ideas)

Open
#10,955 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

BUG ENH
Dominant language
Python
Stars
3.5k
Forks
1.6k
Avg merge
1d 6h
Merged PRs (30d)
100

Description

I think that a couple of features might be missing from our raw browser (not specific to any backend):

  1. There is no indication of the absolute values of a channel, because the scale bar only shows a range. It would be very helpful if e.g. the zero value (or min/max) was shown as well.
  2. The browser always shows "0.0 AU" in the scale bar for "stim" and "misc" channels (and possibly other types).
  3. There is only one scale bar even if there are two different channels types (e.g. "misc" and "stim").
  4. Could we automatically show the best unit prefix (e.g. instead of 20,000µV -> 20mV)? This would make the scale bar easier to read for more exotic scalings.

Here's an example which demonstrates these issues:

import mne
from numpy.random import default_rng

fs, nchans = 250, 3
rng = default_rng(42)
data = rng.standard_normal(size=(nchans, 50 * fs)) * 5e-6
data[0] += 10
info = mne.create_info(nchans, fs, ["eeg", "misc", "stim"])
raw = mne.io.RawArray(data, info)
raw.plot()
  1. The first channel has an offset of 10V, but this is not apparent from the plot.
  2. The second channel has a scale bar with "0.0 AU".
  3. The third channel does not have a separate scale bar, although it has a different type than the second channel.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by running the provided Python example with mne.io.RawArray and raw.plot() to reproduce the scale-bar behavior. Trace the raw browser entry point and assess the four requested behaviors: absolute values, nonzero units, separate bars for channel types, and automatic unit prefixes. Done means the requested scale information is displayed correctly for the example without backend-specific assumptions.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data-visualization
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.