v2.0.0
Loading...
Searching...
No Matches
mne_raw_data.cpp File Reference

Definition of the MNERawData Class. More...

#include "mne_raw_data.h"
#include <QFile>
#include <QTextStream>
#include <Eigen/Core>
#include <math.h>
Include dependency graph for mne_raw_data.cpp:

Go to the source code of this file.

Classes

struct  MNELIB::RingBuffer
 Circular ring buffer for managing raw-data matrix allocations. More...
struct  MNELIB::RingBuffer::Entry
struct  MNELIB::FilterData
 Pre-computed frequency-domain filter state used for FFT-based raw data filtering. More...

Namespaces

namespace  MNELIB
 Core MNE data structures (source spaces, source estimates, hemispheres).

Macros

#define _USE_MATH_DEFINES
#define TRUE   1
#define FALSE   0
#define FAIL   -1
#define OK   0
#define MALLOC_36(x, t)
#define REALLOC_36(x, y, t)
#define ALLOC_CMATRIX_36(x, y)
#define FREE_36(x)
#define FREE_CMATRIX_36(m)
#define APPROX_RING_BUF_SIZE   (600*1024*1024)

Functions

float ** mne_cmatrix_36 (int nr, int nc)
void mne_free_cmatrix_36 (float **m)
void mne_free_name_list_36 (char **list, int nlist)
void mne_string_to_name_list (const QString &s, QStringList &listp, int &nlistp)
QString mne_name_list_to_string (const QStringList &list)
QString mne_channel_names_to_string (const QList< FIFFLIB::FiffChInfo > &chs, int nch)
void mne_channel_names_to_name_list (const QList< FIFFLIB::FiffChInfo > &chs, int nch, QStringList &listp, int &nlistp)
int mne_compare_filters (const MNEFilterDef &f1, const MNEFilterDef &f2)
void mne_fft_ana (float *data, int np, std::vector< float > &)
void mne_fft_syn (float *data, int np, std::vector< float > &)
int mne_apply_filter (const MNEFilterDef &filter, FilterData *d, float *data, int ns, int zero_pad, float dc_offset, int kind)
std::unique_ptr< FilterDatamne_create_filter_response (const MNEFilterDef &filter, float sfreq, int *highpass_effective)
int mne_read_raw_buffer_t (FiffStream::SPtr &stream, const FiffDirEntry::SPtr &ent, MNERawBufDef::RowMajorMatrixXf &data, int nchan, int nsamp, const QList< FIFFLIB::FiffChInfo > &chs, int *pickno, int npick)
int mne_read_bad_channel_list_from_node (FiffStream::SPtr &stream, const FiffDirNode::SPtr &pNode, QStringList &listp, int &nlistp)
int mne_read_bad_channel_list (const QString &name, QStringList &listp, int &nlistp)
int mne_sparse_vec_mult2 (FiffSparseMatrix *mat, float *vector, float *res)
int mne_sparse_mat_mult2 (FiffSparseMatrix *mat, const MNERawBufDef::RowMajorMatrixXf &mult, int ncol, float **res)

Detailed Description

Definition of the MNERawData Class.

Author
Lorenz Esch lesch.nosp@m.@mgh.nosp@m..harv.nosp@m.ard..nosp@m.edu; Matti Hamalainen msh@n.nosp@m.mr.m.nosp@m.gh.ha.nosp@m.rvar.nosp@m.d.edu; Christoph Dinh chdin.nosp@m.h@nm.nosp@m.r.mgh.nosp@m..har.nosp@m.vard..nosp@m.edu
Since
0.1.0
Date
January, 2017

LICENSE

Copyright (C) 2017, Lorenz Esch, Matti Hamalainen, Christoph Dinh. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of MNE-CPP authors nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Definition in file mne_raw_data.cpp.

Macro Definition Documentation

◆ _USE_MATH_DEFINES

#define _USE_MATH_DEFINES

Definition at line 48 of file mne_raw_data.cpp.

◆ ALLOC_CMATRIX_36

#define ALLOC_CMATRIX_36 ( x,
y )
Value:
float ** mne_cmatrix_36(int nr, int nc)

Definition at line 78 of file mne_raw_data.cpp.

◆ APPROX_RING_BUF_SIZE

#define APPROX_RING_BUF_SIZE   (600*1024*1024)

Definition at line 707 of file mne_raw_data.cpp.

◆ FAIL

#define FAIL   -1

Definition at line 68 of file mne_raw_data.cpp.

◆ FALSE

#define FALSE   0

Definition at line 64 of file mne_raw_data.cpp.

◆ FREE_36

#define FREE_36 ( x)
Value:
if ((char *)(x) != NULL) free((char *)(x))

Definition at line 121 of file mne_raw_data.cpp.

◆ FREE_CMATRIX_36

#define FREE_CMATRIX_36 ( m)
Value:
void mne_free_cmatrix_36(float **m)

Definition at line 123 of file mne_raw_data.cpp.

◆ MALLOC_36

#define MALLOC_36 ( x,
t )
Value:
(t *)malloc((x)*sizeof(t))

Definition at line 75 of file mne_raw_data.cpp.

◆ OK

#define OK   0

Definition at line 72 of file mne_raw_data.cpp.

◆ REALLOC_36

#define REALLOC_36 ( x,
y,
t )
Value:
(t *)((x == NULL) ? malloc((y)*sizeof(t)) : realloc((x),(y)*sizeof(t)))

Definition at line 76 of file mne_raw_data.cpp.

◆ TRUE

#define TRUE   1

Definition at line 60 of file mne_raw_data.cpp.

Function Documentation

◆ mne_apply_filter()

int mne_apply_filter ( const MNEFilterDef & filter,
FilterData * d,
float * data,
int ns,
int zero_pad,
float dc_offset,
int kind )

Definition at line 322 of file mne_raw_data.cpp.

◆ mne_channel_names_to_name_list()

void mne_channel_names_to_name_list ( const QList< FIFFLIB::FiffChInfo > & chs,
int nch,
QStringList & listp,
int & nlistp )

Definition at line 242 of file mne_raw_data.cpp.

◆ mne_channel_names_to_string()

QString mne_channel_names_to_string ( const QList< FIFFLIB::FiffChInfo > & chs,
int nch )

Definition at line 226 of file mne_raw_data.cpp.

◆ mne_cmatrix_36()

float ** mne_cmatrix_36 ( int nr,
int nc )

Definition at line 104 of file mne_raw_data.cpp.

◆ mne_compare_filters()

int mne_compare_filters ( const MNEFilterDef & f1,
const MNEFilterDef & f2 )

Definition at line 278 of file mne_raw_data.cpp.

◆ mne_create_filter_response()

std::unique_ptr< FilterData > mne_create_filter_response ( const MNEFilterDef & filter,
float sfreq,
int * highpass_effective )

Definition at line 392 of file mne_raw_data.cpp.

◆ mne_fft_ana()

void mne_fft_ana ( float * data,
int np,
std::vector< float > &  )

Definition at line 300 of file mne_raw_data.cpp.

◆ mne_fft_syn()

void mne_fft_syn ( float * data,
int np,
std::vector< float > &  )

Definition at line 311 of file mne_raw_data.cpp.

◆ mne_free_cmatrix_36()

void mne_free_cmatrix_36 ( float ** m)

Definition at line 125 of file mne_raw_data.cpp.

◆ mne_free_name_list_36()

void mne_free_name_list_36 ( char ** list,
int nlist )

Definition at line 172 of file mne_raw_data.cpp.

◆ mne_name_list_to_string()

QString mne_name_list_to_string ( const QStringList & list)

Definition at line 208 of file mne_raw_data.cpp.

◆ mne_read_bad_channel_list()

int mne_read_bad_channel_list ( const QString & name,
QStringList & listp,
int & nlistp )

Definition at line 621 of file mne_raw_data.cpp.

◆ mne_read_bad_channel_list_from_node()

int mne_read_bad_channel_list_from_node ( FiffStream::SPtr & stream,
const FiffDirNode::SPtr & pNode,
QStringList & listp,
int & nlistp )

Definition at line 591 of file mne_raw_data.cpp.

◆ mne_read_raw_buffer_t()

int mne_read_raw_buffer_t ( FiffStream::SPtr & stream,
const FiffDirEntry::SPtr & ent,
MNERawBufDef::RowMajorMatrixXf & data,
int nchan,
int nsamp,
const QList< FIFFLIB::FiffChInfo > & chs,
int * pickno,
int npick )

Definition at line 493 of file mne_raw_data.cpp.

◆ mne_sparse_mat_mult2()

int mne_sparse_mat_mult2 ( FiffSparseMatrix * mat,
const MNERawBufDef::RowMajorMatrixXf & mult,
int ncol,
float ** res )

Definition at line 670 of file mne_raw_data.cpp.

◆ mne_sparse_vec_mult2()

int mne_sparse_vec_mult2 ( FiffSparseMatrix * mat,
float * vector,
float * res )

Definition at line 639 of file mne_raw_data.cpp.

◆ mne_string_to_name_list()

void mne_string_to_name_list ( const QString & s,
QStringList & listp,
int & nlistp )

Definition at line 192 of file mne_raw_data.cpp.