clean_channels: make the RANSAC random seed a parameter
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 77/100
Research direction
Read clean_channels.py and inspect clean_channels where RandomState(5489) creates the RANSAC subsets; compare how calc_projector accepts a random stream. Add a seed parameter with the existing value as its default, record the chosen value in EEG["etc"], and check that the default preserves results while callers can select a seed.
Written by the indexing model from the issue text.
Description
clean_channels draws its RANSAC subsets from numpy.random.RandomState(5489), hardcoded (clean_channels.py, "replicate
MATLAB's default randseed"). A pipeline that records every parameter cannot list or change the seed:
import inspect, eegprep
from eegprep import clean_channels
print(list(inspect.signature(clean_channels).parameters))
# ['EEG', 'corr_threshold', 'noise_threshold', 'window_len', 'max_broken_time', 'num_samples', 'subset_size']
print([l.strip() for l in inspect.getsource(inspect.getmodule(clean_channels)).splitlines() if "RandomState(5489)" in l])
Expected: a keyword (for example seed: int = 5489, so results do not change) and the value used recorded in
EEG["etc"]. calc_projector already accepts a stream.
Checked on eegprep 0.5.0 and on the develop branch at commit 89eb411 (2026-11-05).
- Dominant language
- Python
- Stars
- 38
- Forks
- 7
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 65
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from sccn/eegprep
-
fuzz fuzz-unconfirmed
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
Maintainers usually reply within 1 day
-
clean_channels: raise on degenerate channel locations instead of returning a meaningless resultOpen
Difficulty 2/5 1-3 hours Newbie friendliness 73/100
sccn/eegprep#539 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
sccn/eegprep#533 · 1 comment ·
Maintainers usually reply within 1 day
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
strawberry-graphql/strawberry#4794 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
dataforgoodfr/cetolog#21 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
btclib-org/btclib#2932 ·
Maintainers usually reply within 1 day
-
metrics priority: medium
Difficulty 1/5 1-3 hours Newbie friendliness 86/100
LearningCircuit/local-deep-research#8336 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 80/100