v2.0.0
Loading...
Searching...
No Matches
MNELIB::MNERawData Class Reference

A comprehensive raw data structure. More...

#include <mne_raw_data.h>

Public Types

typedef QSharedPointer< MNERawDataSPtr
typedef QSharedPointer< const MNERawDataConstSPtr

Public Member Functions

 MNERawData ()
 ~MNERawData ()
void add_filter_response (int *highpass_effective)
void setup_filter_bufs ()
int load_one_buffer (MNERawBufDef *buf)
int compensate_buffer (MNERawBufDef *buf)
int pick_data (mneChSelection sel, int firsts, int ns, float **picked)
int pick_data_proj (mneChSelection sel, int firsts, int ns, float **picked)
int load_one_filt_buf (MNERawBufDef *buf)
int pick_data_filt (mneChSelection sel, int firsts, int ns, float **picked)

Static Public Member Functions

static MNERawDataopen_file_comp (const QString &name, int omit_skip, int allow_maxshield, const MNEFilterDef &filter, int comp_set)
static MNERawDataopen_file (const QString &name, int omit_skip, int allow_maxshield, const MNEFilterDef &filter)

Public Attributes

QString filename
FIFFLIB::FiffStream::SPtr stream
std::unique_ptr< MNELIB::MNERawInfoinfo
QStringList ch_names
QStringList badlist
int nbad
Eigen::VectorXi bad
std::vector< MNELIB::MNERawBufDefbufs
std::vector< MNELIB::MNERawBufDeffilt_bufs
int first_samp
int omit_samp
int first_samp_old
int omit_samp_old
int nsamp
Eigen::VectorXf first_sample_val
std::unique_ptr< MNELIB::MNEProjOpproj
std::unique_ptr< MNELIB::MNESssDatasss
std::unique_ptr< MNELIB::MNECTFCompDataSetcomp
int comp_file
int comp_now
std::unique_ptr< MNEFilterDeffilter
std::unique_ptr< FilterDatafilter_data
std::unique_ptr< MNEEventListevent_list
unsigned int max_event
QString dig_trigger
unsigned int dig_trigger_mask
Eigen::VectorXf offsets
std::unique_ptr< RingBufferring
std::unique_ptr< RingBufferfilt_ring
std::unique_ptr< MNELIB::MNEDerivSetderiv
std::unique_ptr< MNELIB::MNEDerivderiv_matched

Detailed Description

A comprehensive raw data structure.

Implements the MNE Raw Data (Replaces *mneRawData,mneRawDataRec; struct of MNE-C mne_types.h).

Definition at line 97 of file mne_raw_data.h.

Member Typedef Documentation

◆ ConstSPtr

typedef QSharedPointer<const MNERawData> MNELIB::MNERawData::ConstSPtr

Const shared pointer type for MNERawData.

Definition at line 101 of file mne_raw_data.h.

◆ SPtr

typedef QSharedPointer<MNERawData> MNELIB::MNERawData::SPtr

Shared pointer type for MNERawData.

Definition at line 100 of file mne_raw_data.h.

Constructor & Destructor Documentation

◆ MNERawData()

MNERawData::MNERawData ( )

Constructs the MNE Raw Data Refactored: new_raw_data (mne_raw_data.c)

Definition at line 715 of file mne_raw_data.cpp.

◆ ~MNERawData()

MNERawData::~MNERawData ( )

Destroys the MNE Raw Data Refactored: mne_raw_free_data (mne_raw_data.c)

Definition at line 735 of file mne_raw_data.cpp.

Member Function Documentation

◆ add_filter_response()

void MNERawData::add_filter_response ( int * highpass_effective)

Create a frequency-domain filter response from the current filter definition and sampling frequency, replacing any existing response.

Parameters
[out]highpass_effectiveSet to non-zero if the highpass filter is active.

Definition at line 750 of file mne_raw_data.cpp.

◆ compensate_buffer()

int MNERawData::compensate_buffer ( MNERawBufDef * buf)

Apply CTF compensation to a loaded raw data buffer if its compensation status differs from the desired one.

Parameters
[in,out]bufThe buffer to compensate.
Returns
OK on success, FAIL on error.

Definition at line 859 of file mne_raw_data.cpp.

◆ load_one_buffer()

int MNERawData::load_one_buffer ( MNERawBufDef * buf)

Read a single raw data buffer from the FIFF file into memory, allocating from the ring buffer if needed.

Parameters
[in,out]bufThe buffer definition to load.
Returns
OK on success, FAIL on read error.

Definition at line 822 of file mne_raw_data.cpp.

◆ load_one_filt_buf()

int MNERawData::load_one_filt_buf ( MNERawBufDef * buf)

Load a single filter-sized buffer by picking projected unfiltered data with taper margins for overlap-add filtering.

Parameters
[in,out]bufThe filter buffer definition to load.
Returns
OK on success, FAIL on error.

Definition at line 1191 of file mne_raw_data.cpp.

◆ open_file()

MNERawData * MNERawData::open_file ( const QString & name,
int omit_skip,
int allow_maxshield,
const MNEFilterDef & filter )
static

Open a raw FIFF file using the file's native compensation grade. Convenience wrapper for open_file_comp() with comp_set = -1.

Parameters
[in]namePath to the raw FIFF file.
[in]omit_skipIf non-zero, discard initial skip samples.
[in]allow_maxshieldIf non-zero, allow MaxShield data.
[in]filterFilter definition to apply.
Returns
A new raw data object, or NULL on failure. Caller takes ownership.

Definition at line 1717 of file mne_raw_data.cpp.

◆ open_file_comp()

MNERawData * MNERawData::open_file_comp ( const QString & name,
int omit_skip,
int allow_maxshield,
const MNEFilterDef & filter,
int comp_set )
static

Open a raw FIFF file with explicit compensation grade.

Reads channel info, compensation data, SSS data, sets up data/filter buffers and bad channels, and returns a fully initialized raw data object.

Parameters
[in]namePath to the raw FIFF file.
[in]omit_skipIf non-zero, discard initial skip samples.
[in]allow_maxshieldIf non-zero, allow MaxShield data.
[in]filterFilter definition to apply.
[in]comp_setDesired compensation grade (-1 for file native).
Returns
A new raw data object, or NULL on failure. Caller takes ownership.

Definition at line 1443 of file mne_raw_data.cpp.

◆ pick_data()

int MNERawData::pick_data ( mneChSelection sel,
int firsts,
int ns,
float ** picked )

Extract raw data samples for selected channels (including derived channels) with compensation applied, zero-padding or edge-extending as needed at boundaries.

Parameters
[in]selChannel selection descriptor.
[in]firstsFirst sample index (absolute).
[in]nsNumber of samples to extract.
[out]pickedArray of per-channel data vectors (pre-allocated).
Returns
OK on success, FAIL on error.

Definition at line 911 of file mne_raw_data.cpp.

◆ pick_data_filt()

int MNERawData::pick_data_filt ( mneChSelection sel,
int firsts,
int ns,
float ** picked )

Pick filtered data for a channel selection by loading filter buffers, applying the frequency-domain filter per channel (skipping stimulus channels), and accumulating overlapping results.

Parameters
[in]selChannel selection descriptor.
[in]firstsFirst sample index (absolute).
[in]nsNumber of samples to extract.
[out]pickedArray of per-channel data vectors (pre-allocated).
Returns
OK on success, FAIL on error.

Definition at line 1229 of file mne_raw_data.cpp.

◆ pick_data_proj()

int MNERawData::pick_data_proj ( mneChSelection sel,
int firsts,
int ns,
float ** picked )

Extract raw data with SSP projection applied to each time sample before channel selection.

Parameters
[in]selChannel selection descriptor.
[in]firstsFirst sample index (absolute).
[in]nsNumber of samples to extract.
[out]pickedArray of per-channel data vectors (pre-allocated).
Returns
OK on success, FAIL on error.

Definition at line 1062 of file mne_raw_data.cpp.

◆ setup_filter_bufs()

void MNERawData::setup_filter_bufs ( )

Allocate filter output buffers spanning the entire raw data range (with taper overlap), initialize a ring buffer for filtered data, and create the filter response.

Definition at line 774 of file mne_raw_data.cpp.

Member Data Documentation

◆ bad

Eigen::VectorXi MNELIB::MNERawData::bad

Boolean array marking bad channels (0 = good, 1 = bad).

Definition at line 249 of file mne_raw_data.h.

◆ badlist

QStringList MNELIB::MNERawData::badlist

Bad channel names.

Definition at line 247 of file mne_raw_data.h.

◆ bufs

std::vector<MNELIB::MNERawBufDef> MNELIB::MNERawData::bufs

Raw data buffer definitions.

Definition at line 250 of file mne_raw_data.h.

◆ ch_names

QStringList MNELIB::MNERawData::ch_names

Channel names as a flat list.

Definition at line 246 of file mne_raw_data.h.

◆ comp

std::unique_ptr<MNELIB::MNECTFCompDataSet> MNELIB::MNERawData::comp

CTF compensation data.

Definition at line 260 of file mne_raw_data.h.

◆ comp_file

int MNELIB::MNERawData::comp_file

Compensation grade stored in the file.

Definition at line 261 of file mne_raw_data.h.

◆ comp_now

int MNELIB::MNERawData::comp_now

Current compensation grade applied to data.

Definition at line 262 of file mne_raw_data.h.

◆ deriv

std::unique_ptr<MNELIB::MNEDerivSet> MNELIB::MNERawData::deriv

Derivation data definitions.

Definition at line 272 of file mne_raw_data.h.

◆ deriv_matched

std::unique_ptr<MNELIB::MNEDeriv> MNELIB::MNERawData::deriv_matched

Derivation data matched to this raw data.

Definition at line 273 of file mne_raw_data.h.

◆ dig_trigger

QString MNELIB::MNERawData::dig_trigger

Name of the digital trigger channel.

Definition at line 267 of file mne_raw_data.h.

◆ dig_trigger_mask

unsigned int MNELIB::MNERawData::dig_trigger_mask

Bit mask applied to digital trigger channel.

Definition at line 268 of file mne_raw_data.h.

◆ event_list

std::unique_ptr<MNEEventList> MNELIB::MNERawData::event_list

Trigger event list.

Definition at line 265 of file mne_raw_data.h.

◆ filename

QString MNELIB::MNERawData::filename

Path to the raw FIFF file.

Definition at line 242 of file mne_raw_data.h.

◆ filt_bufs

std::vector<MNELIB::MNERawBufDef> MNELIB::MNERawData::filt_bufs

Filtered data buffer definitions.

Definition at line 251 of file mne_raw_data.h.

◆ filt_ring

std::unique_ptr<RingBuffer> MNELIB::MNERawData::filt_ring

Ring buffer for filtered data.

Definition at line 271 of file mne_raw_data.h.

◆ filter

std::unique_ptr<MNEFilterDef> MNELIB::MNERawData::filter

Filter definition (highpass/lowpass).

Definition at line 263 of file mne_raw_data.h.

◆ filter_data

std::unique_ptr<FilterData> MNELIB::MNERawData::filter_data

Pre-computed frequency-domain filter state.

Definition at line 264 of file mne_raw_data.h.

◆ first_samp

int MNELIB::MNERawData::first_samp

First sample index in the file.

Definition at line 252 of file mne_raw_data.h.

◆ first_samp_old

int MNELIB::MNERawData::first_samp_old

First sample index (old-version compatible value).

Definition at line 254 of file mne_raw_data.h.

◆ first_sample_val

Eigen::VectorXf MNELIB::MNERawData::first_sample_val

Values at the first sample (for DC offset correction before filtering).

Definition at line 257 of file mne_raw_data.h.

◆ info

std::unique_ptr<MNELIB::MNERawInfo> MNELIB::MNERawData::info

Raw data information loaded using MNE routines.

Definition at line 245 of file mne_raw_data.h.

◆ max_event

unsigned int MNELIB::MNERawData::max_event

Maximum event number in use.

Definition at line 266 of file mne_raw_data.h.

◆ nbad

int MNELIB::MNERawData::nbad

Number of bad channels.

Definition at line 248 of file mne_raw_data.h.

◆ nsamp

int MNELIB::MNERawData::nsamp

Total number of samples in the file.

Definition at line 256 of file mne_raw_data.h.

◆ offsets

Eigen::VectorXf MNELIB::MNERawData::offsets

DC offset corrections for display.

Definition at line 269 of file mne_raw_data.h.

◆ omit_samp

int MNELIB::MNERawData::omit_samp

Number of skip samples omitted from the beginning.

Definition at line 253 of file mne_raw_data.h.

◆ omit_samp_old

int MNELIB::MNERawData::omit_samp_old

Omitted samples (old-version compatible value).

Definition at line 255 of file mne_raw_data.h.

◆ proj

std::unique_ptr<MNELIB::MNEProjOp> MNELIB::MNERawData::proj

SSP projection operator.

Definition at line 258 of file mne_raw_data.h.

◆ ring

std::unique_ptr<RingBuffer> MNELIB::MNERawData::ring

Ring buffer for raw data.

Definition at line 270 of file mne_raw_data.h.

◆ sss

std::unique_ptr<MNELIB::MNESssData> MNELIB::MNERawData::sss

SSS data found in this file.

Definition at line 259 of file mne_raw_data.h.

◆ stream

FIFFLIB::FiffStream::SPtr MNELIB::MNERawData::stream

Open FIFF stream for reading.

Definition at line 244 of file mne_raw_data.h.


The documentation for this class was generated from the following files: