push version v3.9.2,
XML: fix reading xml-based formats
ABF1,ABF2: warn if scaling factors might be wrong;
[b4c] ABF: improvements on ABF1 and ABF2
[b4c] disable use of internal copy of tinyxml
[b4c] FEF: add workaround for reading data from CNSystem's TaskforceMonitor
[b4c] MFER: several improvements fixing some potential security issues
Merge branch 'master' of ssh://git.code.sf.net/p/biosig/code
[b4c] MFER: add guard against unintended and potentially unsafe use of MFER
[b4c] MFER: add guard against unintended and potentially unsafe use of MFER
updating preparation of release for biosig4octave
[b4m,b4c] move mex-files from biosig4matlab/t400*/ to biosig4c++/mex/
[b4c] nicolet: avoid re-definition of uuid_t to avoid conflicts on mingw
Merge branch 'talos-2025'
[b4c] MFER: improve sanity checks
[b4c] RHD2000: fix case when all channels are disabled
[b4c] NEX: improve sanity check, fix event counting
[b4c] ABF: better sanity checks
[b4c] GDF: better sanity check of reading event table
[b4c] fix reading ISHNE data
push version number to v3.9.1
[b4m] sumskipnan: add support for Weight vector in script version (avoids te need for sumskipnan_mex)
[b4c] replace finite() with isfinite() (finite is obsolete since C99)
build support for modern macosx platform
[b4c] update build system Debian13/Trixie (gcc 14, autoconf 2.72)
[b4c] nicoletE: improve parsing
Merge branch 'master' of https://git.code.sf.net/p/biosig/code
[b4c] assume LittleEndian as default, make sure GDF and CFS use LittleEndian
[b4c] ACQ/BioPac: reading with same sampling rate on all channesl is now supported
[b4c] ACQ/BioPac: reading with same sampling rate on all channesl is now supported
[b4c] ACQ/BioPac: enable more versions, and add basic support BigEndian files
[b4c] restructure code for ACQ, FIFF; add NicoletE
Installation
[debian] attempt to add matlab-biosig
[b4py] adapt building wheels for windows
[b4py] fix extraction of sweeps - use example from stimfit issue #108
push version to v3.9.0
[b4c] add configure options to control static and dynamic/shared builds
[b4c] CFS bug fix (issue #108 of stimfit)
[b4c] FIFF: identify and disable bad channels
[debian] remove obsolete files - backport from debian's biosig-2.6.1 package
[b4m] add demo how to select and combine sweeps from one or more files
[b4c] push version to 2.6.3
[b4c] FIFF: fix compilation errors on mingw
[b4py] update README; improve demo2
mexSSAVE: honor HDR.FLAG.{UCAL,OVERFLOWDETECTION} fields;
mexSSAVE: HDR.EVENT.POS needs conversion from 1-based (Matlab/Octave) to 0-based indexing in GDF and C/C++
mexSSAVE: define output status
[b4c] FIFF: initial support implemented - part 1
Thanks for your reply! it has really cleared things up for me!!!
Dear Freya, I believe I provided a fair and balanced assessment what the method can and can not provide. Whether this is "convincing", or in other words good enough for your purpose, is not up to me to decide.
Thanks again for your reply! Our neurofeedback training protocol only collected EEG signals from the central zone (Fz/FC1/FC2/FCz/Cz). For this aspect, regression analysis may be more suitable for us. As you said, any method has the potential to increase noise when removing EOG artefacts. If we still use the regression approach, we report (Fig 3 [1]) and (Fig 4, [1]. ) via a pre-experiment , is this convincing enough? I meant to report only how many EOG artifacts were removed from the EEG data, not...
Thanks again for your reply! Our neurofeedback training protocol only collected EEG signals from the central zone (Fz/FC1/FC2/FCz/Cz). For this aspect, regression analysis may be more suitable for us. As you said, any method has the potential to increase noise when removing EOG artefacts. If we still use the regression approach, we report (Fig 3 [1]) and (Fig 4, [1]. ) via a pre-experiment , is this convincing enough?
For most pratical purposes, the method described in [1] as good as you can get. Make sure that the EOG channel are close to the eyes so that it does not pick up to much EEG activity. If you want to improve on that, you might try some subspace methods (ICA, PCA, etc.) but you need a large number of electrodes (at least 20, probably more) in order to identify a 3rd spatial EOG component. Concering the 1/f analysis, you should take into account that this might be conflated by other artifact sources,...
Thanks so much for your suggestion – it's really helpful! We're currently using the Brain Products system to collect EEG data, and gathering EOG data through a ground electrode (AFz) and a subocular channel. Our main goal is to analyze aperiodic neural activity through real-time signal processing. However, as you anticipated, in the process of removing the ocular artifacts, we also ended up removing some of the aperiodic neural activity (the 1/f fit gave us negative values, which is unusual). We...
For most pratical purposes, the method described in [1] as good as you can get. Make sure that the EOG channel are close to the eyes so that it does not pick up to much EEG activity. If you want to improve on that, you might try some subspace methods (ICA, PCA, etc.) but you need a large number of electrodes (at least 20, probably more) in order to identify a 3rd spatial EOG component. Concering the 1/f analysis, you should take into account that this might be conflated by other artifact sources,...
Thanks so much for your suggestion – it's really helpful! We're currently using the Brain Products system to collect EEG data, and gathering EOG data through a ground electrode (AFz) and a subocular channel. Our main goal is to analyze aperiodic neural activity through real-time signal processing. However, as you anticipated, in the process of removing the ocular artifacts, we also ended up removing some of the aperiodic neural activity (the 1/f fit gave us negative values). We tried adjusting the...
Hello Freya, Concering 1): I'm not using EEGLAB so I can not comment on this. do you mean "rtsBCI" [2] (no rstBCI) which is the Matlab/Simulink-based recording from Reinhard Scherer.? It that case, you might need to add simulink block that multiplies the sampling vector with a suitable, sparse, re-referencing matrix. Concering 2). Technically, you can. The question is about the resulting signal quality. (i), you will capture and reduce only 1 spatial EOG components. (ii), which reference electrode...
Hello Freya, Concering 1): I'm not using EEGLAB so I can not comment on this. do you mean "rtsBCI" (no rstBCI) which is the Matlab/Simulink-based recording from Reinhard Scherer.? It that case, you might need to add simulink block that multiplies the sampling vector with a suitable, sparse, re-referencing matrix. Concering 2). Technically, you can. The question is about the resulting signal quality. (i), you will capture and reduce only 1 spatial EOG components. (ii), which reference electrode are...
Hello, Alois!We are currently engaged in the process of designing a neurofeedback training protocol. We would like to process the 5 channels of the central area online, and we think that it would be better to use linear regression to remove eye movement artefacts. We found your article published in 2007 demonstrated in detail the computational process and advantages of this method (Schlögl et al., 2007) and its use in biosig (Vidaurre et al., 2011). Our questions now are: 1, we added the biosig plugin...
Hello, Alois!We are currently engaged in the process of designing a neurofeedback training protocol. We would like to process the 5 channels of the central area online, and we think that it would be better to use linear regression to remove eye movement artefacts. We found your article published in 2005 demonstrated in detail the computational process and advantages of this method (Schlögl et al., 2007) and its use in biosig (Vidaurre et al., 2011). Our questions now are: 1, we added the biosig plugin...
[b4py] generate python/README.md with autoconf
[b4c] HEKA: improving support for HEKA versions that requires swapping
[b4m] stimfit: fix plotting of event fitting; improve docu; plot detected events with wrong direction
[b4c] RHD: blocksize for RHD v1.x is 60 samples
[b4c] backport patches from homebrew/biosig
update docu and build instructions, cross-compiling libbiosig, and release build
[b4py] update README and convert to markdown format
Installation
Installation
Installation
[b4py] building wheels for windows (64bit) using wine and mingw/mxe
push version to 2.6.1