56#include <Eigen/SparseCore>
66#include <QSharedPointer>
108 typedef QSharedPointer<FiffStream>
SPtr;
126 explicit FiffStream(QByteArray * a, QIODevice::OpenMode mode);
151 QList<FiffDirEntry::SPtr>&
dir();
160 const QList<FiffDirEntry::SPtr>&
dir()
const;
214 bool get_evoked_entries(
const QList<FiffDirNode::SPtr> &evoked_node, QStringList &comments, QList<fiff_int_t> &aspect_kinds, QString &t);
232 bool open(QIODevice::OpenModeFlag mode = QIODevice::ReadOnly);
404 bool read_tag(QSharedPointer<FiffTag>& p_pTag,
421 bool allow_maxshield =
true,
422 bool is_littleEndian =
false);
482 Eigen::RowVectorXd& cals,
483 Eigen::MatrixXi sel = defaultMatrixXi,
484 bool bResetRange =
true);
774 bool write_raw_buffer(
const Eigen::MatrixXd& buf,
const Eigen::SparseMatrix<double>& mult);
818 bool check_beginning(QSharedPointer<FiffTag>& p_pTag);
828 QList<FiffDirEntry::SPtr> make_dir(
bool *ok=
nullptr);
835 QList<FiffDirEntry::SPtr> m_dir;
Fiff library export/import macros.
#define FIFFSHARED_EXPORT
FiffDirEntry class declaration.
FiffDirNode class declaration, which provides fiff dir tree processing methods.
FiffId class declaration.
Old fiff_type declarations - replace them.
void write_coord_trans(FiffStream::SPtr &t_pStream, const FiffCoordTrans &trans)
FIFF file I/O and data structures (raw, epochs, evoked, covariance, forward).
Measurement channel position and coil type.
Coordinate transformation description.
CTF software compensation data.
Digitization point description.
Digitization points container and description.
QSharedPointer< FiffDirNode > SPtr
Universally unique identifier.
static FiffId & getDefault()
FIFF measurement file information.
FIFF raw measurement data.
fiff_long_t write_tag(const QSharedPointer< FiffTag > &p_pTag, fiff_long_t pos=-1)
bool write_raw_buffer(const Eigen::MatrixXd &buf, const Eigen::RowVectorXd &cals)
fiff_long_t write_cov(const FiffCov &p_FiffCov)
bool read_cov(const FiffDirNode::SPtr &p_Node, fiff_int_t cov_kind, FiffCov &p_covData)
fiff_long_t write_dir_entries(const QList< FiffDirEntry::SPtr > &dir, fiff_long_t pos=-1)
fiff_long_t start_block(fiff_int_t kind)
fiff_long_t write_float_matrix(fiff_int_t kind, const Eigen::MatrixXf &mat)
fiff_long_t write_proj(const QList< FiffProj > &projs)
bool read_tag(QSharedPointer< FiffTag > &p_pTag, fiff_long_t pos=-1)
fiff_long_t write_int_matrix(fiff_int_t kind, const Eigen::MatrixXi &mat)
bool read_meas_info_base(const FiffDirNode::SPtr &p_Node, FiffInfoBase &p_InfoForward)
fiff_long_t write_dig_point(const FiffDigPoint &dig)
fiff_long_t write_int(fiff_int_t kind, const fiff_int_t *data, fiff_int_t nel=1, fiff_int_t next=FIFFV_NEXT_SEQ)
static bool setup_read_raw(QIODevice &p_IODevice, FiffRawData &data, bool allow_maxshield=true, bool is_littleEndian=false)
QList< FiffCtfComp > read_ctf_comp(const FiffDirNode::SPtr &p_Node, const QList< FiffChInfo > &p_Chs)
fiff_long_t write_float(fiff_int_t kind, const float *data, fiff_int_t nel=1)
fiff_long_t write_id(fiff_int_t kind, const FiffId &id=FiffId::getDefault())
fiff_long_t write_float_sparse_rcs(fiff_int_t kind, const Eigen::SparseMatrix< float > &mat)
QSharedPointer< const FiffStream > ConstSPtr
fiff_long_t write_ch_pos(const FiffChPos &chpos)
bool write_raw_buffer(const Eigen::MatrixXd &buf, const Eigen::SparseMatrix< double > &mult)
void write_rt_command(fiff_int_t command, const QString &data)
bool get_evoked_entries(const QList< FiffDirNode::SPtr > &evoked_node, QStringList &comments, QList< fiff_int_t > &aspect_kinds, QString &t)
bool read_tag_data(QSharedPointer< FiffTag > &p_pTag, fiff_long_t pos=-1)
fiff_long_t write_name_list(fiff_int_t kind, const QStringList &data)
bool read_meas_info(const FiffDirNode::SPtr &p_Node, FiffInfo &p_Info, FiffDirNode::SPtr &p_NodeInfo)
bool open(QIODevice::OpenModeFlag mode=QIODevice::ReadOnly)
bool write_raw_buffer(const Eigen::MatrixXd &buf)
fiff_long_t read_tag_info(QSharedPointer< FiffTag > &p_pTag, bool p_bDoSkip=true)
fiff_long_t write_named_matrix(fiff_int_t kind, const FiffNamedMatrix &mat)
bool read_rt_tag(QSharedPointer< FiffTag > &p_pTag)
FiffStream(QIODevice *p_pIODevice)
static QStringList split_name_list(QString p_sNameList)
fiff_long_t write_string(fiff_int_t kind, const QString &data)
QStringList read_bad_channels(const FiffDirNode::SPtr &p_Node)
fiff_long_t write_evoked_set(const FiffEvokedSet &p_FiffEvokedSet)
const FiffDirNode::SPtr & dirtree() const
bool read_digitizer_data(const FiffDirNode::SPtr &p_Node, FiffDigitizerData &p_digData)
static FiffStream::SPtr start_writing_raw(QIODevice &p_IODevice, const FiffInfo &info, Eigen::RowVectorXd &cals, Eigen::MatrixXi sel=defaultMatrixXi, bool bResetRange=true)
fiff_long_t write_dir_pointer(fiff_int_t dirpos, fiff_long_t pos=-1, fiff_int_t next=FIFFV_NEXT_SEQ)
static FiffStream::SPtr start_file(QIODevice &p_IODevice)
fiff_long_t write_info_base(const FiffInfoBase &p_FiffInfoBase)
fiff_long_t end_block(fiff_int_t kind, fiff_int_t next=FIFFV_NEXT_SEQ)
fiff_long_t write_float_sparse_ccs(fiff_int_t kind, const Eigen::SparseMatrix< float > &mat)
fiff_long_t write_ch_info(const FiffChInfo &ch)
fiff_long_t write_ctf_comp(const QList< FiffCtfComp > &comps)
fiff_long_t write_double(fiff_int_t kind, const double *data, fiff_int_t nel=1)
QList< FiffProj > read_proj(const FiffDirNode::SPtr &p_Node)
static FiffStream::SPtr open_update(QIODevice &p_IODevice)
FiffDirNode::SPtr make_subtree(QList< FiffDirEntry::SPtr > &dentry)
bool read_named_matrix(const FiffDirNode::SPtr &p_Node, fiff_int_t matkind, FiffNamedMatrix &mat)
void finish_writing_raw()
QSharedPointer< FiffStream > SPtr
QList< FiffDirEntry::SPtr > & dir()