Comments (7)
we could add this but maybe a better way is indeed to make epochs from raw with fixed length such as 1s. I would allow you do reject bad segments for the SSP computation.
wdyt?
from mne-python.
I think both ways will make sense for different uses. In my code, I actually don't want epoch rejection because there is some large, low-frequency drift (that goes away with a couple continuous projectors) that would disqualify all epochs. I currently have code for doing it by chunking epochs with a chosen fixed length, but I was hoping to get something that was actually equivalent to what is done in mne_process_raw (to stay as close as possible).
from mne-python.
I noticed that the way the projectors are computed in compute_proj_evoked in proj.py is by taking the sum across epochs of the matrix multiplications (channelsxtime into timexchannels). I am curious why this is done instead of using the matrix multiplication of the temporally-concatenated (across epochs) matrices (chanellsxconcatenated_time into concatenated_timexchannels)? I understand the former is probably more efficient, but is one preferable to another from a mathematical standpoint? I ask because I noticed that I got different results when "faking" continuous projection calculation by using consecutive 1, 10, or 100 second windows to create epochs from my raw data.
from mne-python.
I submitted some continuous SSP code to code review so we can discuss it there.
from mne-python.
I currently have code for doing it by chunking epochs with a chosen fixed length
a function like:
mne.make_fix_length_events(raw, duration=4)
would be convenient to have.
I noticed that the way the projectors are computed in compute_proj_evoked
in proj.py is by taking the sum across epochs of the matrix multiplications
(channelsxtime into timexchannels). I am curious why this is done instead of
using the matrix multiplication of the temporally-concatenated (across
epochs) matrices (chanellsxconcatenated_time into
concatenated_timexchannels)?
memory allocation. You don't need to read everything in memory by doing so.
I understand the former is probably more
efficient, but is one preferable to another from a mathematical standpoint?
no just efficiency
I ask because I noticed that I got different results when "faking"
continuous projection calculation by using consecutive 1, 10, or 100 second
windows to create epochs from my raw data.
hum. can you submit a test script?
from mne-python.
I'll add the make_fix_length_events(raw, duration=4) [but I'll probably make the default 1 second] function to my modified codebase, where we can continue the discussion. Closing this one.
from mne-python.
perfect !
from mne-python.
Related Issues (20)
- BUG: Incompatibility of `sample_weight` with sklearn 1.4+ HOT 2
- BUG: Wrong output for adjacency=False
- bad colormap behavior when brain vlim sliders crossover
- Eyelink: Accept blank recording dates? HOT 3
- Release workflow HOT 16
- The PyQt6 dependency HOT 14
- Logging issue in jupyter kernel when logs are issued in a Thread HOT 4
- Add an SSVEP classification algorithm as a new feature HOT 3
- ValueError: Points have to be provided as one dimensional arrays of length 3. HOT 2
- Request for Sensor Labeling Check in Child-Customized MEG System HOT 2
- Depend on `h5io` and `pymatreader` by default HOT 3
- Tracking issue for (implicit) MNE dependencies still lacking binary wheels for `aarch64` (ARM Linux) HOT 3
- small security upgrade to our upload action
- MAINT: Switch to *_array instead of *_matrix for sparse
- RuntimeWarning for channels with different filter settings on import HOT 12
- Cannot build HTML docs HOT 1
- Export EDF using `mne.export.export_raw`: Signal range error when original data range does not include zero AND data is not equal-length HOT 10
- Add the possibility to provide custom color mapping for channels in raw.plot() HOT 2
- Add reader for annotations in MIT format HOT 3
- Remove average parameter from CSP and SPoC plotting methods HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mne-python.