54#include <QSharedPointer>
55#include <QtConcurrent/QtConcurrent>
62#include <unsupported/Eigen/FFT>
107 QSharedPointer<FIFFLIB::FiffRawData> pFiffRawData,
115 const Eigen::RowVectorXi &vecPicks = Eigen::RowVectorXi(),
116 bool bUseThreads =
true);
132 QSharedPointer<FIFFLIB::FiffRawData> pFiffRawData,
134 const Eigen::RowVectorXi &vecPicks = Eigen::RowVectorXi(),
135 bool bUseThreads =
false);
164 const Eigen::RowVectorXi &vecPicks = Eigen::RowVectorXi(),
165 bool bUseThreads =
true,
166 bool bKeepOverhead =
false);
183 const Eigen::RowVectorXi& vecPicks = Eigen::RowVectorXi(),
184 bool bUseThreads =
true,
185 bool bKeepOverhead =
false);
200 const Eigen::RowVectorXi& vecPicks,
202 bool bUseThreads =
true);
234 const Eigen::MatrixXi& matEvents,
239 float fTBaselineFromS,
241 const QMap<QString,double>& mapReject,
243 const QStringList &lExcludeChs = QStringList(),
244 const Eigen::RowVectorXi& vecPicks = Eigen::RowVectorXi());
256 typedef QSharedPointer<FilterOverlapAdd>
SPtr;
257 typedef QSharedPointer<const FilterOverlapAdd>
ConstSPtr;
278 Eigen::MatrixXd
calculate(
const Eigen::MatrixXd& matData,
286 const Eigen::RowVectorXi &vecPicks = Eigen::RowVectorXi(),
287 bool bFilterEnd =
true,
288 bool bUseThreads =
true,
289 bool bKeepOverhead =
false);
304 Eigen::MatrixXd
calculate(
const Eigen::MatrixXd& matData,
306 const Eigen::RowVectorXi& vecPicks = Eigen::RowVectorXi(),
307 bool bFilterEnd =
true,
308 bool bUseThreads =
true,
309 bool bKeepOverhead =
false);
318 Eigen::MatrixXd m_matOverlapBack;
319 Eigen::MatrixXd m_matOverlapFront;
FiffInfo class declaration.
FiffEvoked class declaration.
The FilterKernel class represents a filter object that generates the FIR filter coefficients using Pa...
dsp library export/import macros.
FIFF file I/O and data structures (raw, epochs, evoked, covariance, forward).
DSPSHARED_EXPORT FIFFLIB::FiffEvoked computeFilteredAverage(const FIFFLIB::FiffRawData &raw, const Eigen::MatrixXi &matEvents, float fTMinS, float fTMaxS, qint32 eventType, bool bApplyBaseline, float fTBaselineFromS, float fTBaselineToS, const QMap< QString, double > &mapReject, const UTILSLIB::FilterKernel &filterKernel, const QStringList &lExcludeChs=QStringList(), const Eigen::RowVectorXi &vecPicks=Eigen::RowVectorXi())
DSPSHARED_EXPORT Eigen::MatrixXd filterData(const Eigen::MatrixXd &matData, int type, double dCenterfreq, double dBandwidth, double dTransition, double dSFreq, int iOrder=1024, int designMethod=UTILSLIB::FilterKernel::m_designMethods.indexOf(UTILSLIB::FilterParameter("Cosine")), const Eigen::RowVectorXi &vecPicks=Eigen::RowVectorXi(), bool bUseThreads=true, bool bKeepOverhead=false)
DSPSHARED_EXPORT Eigen::MatrixXd filterDataBlock(const Eigen::MatrixXd &matData, const Eigen::RowVectorXi &vecPicks, const UTILSLIB::FilterKernel &filterKernel, bool bUseThreads=true)
DSPSHARED_EXPORT void filterChannel(FilterObject &channelDataTime)
DSPSHARED_EXPORT bool filterFile(QIODevice &pIODevice, QSharedPointer< FIFFLIB::FiffRawData > pFiffRawData, int type, double dCenterfreq, double dBandwidth, double dTransition, double dSFreq, int iOrder=4096, int designMethod=UTILSLIB::FilterKernel::m_designMethods.indexOf(UTILSLIB::FilterParameter("Cosine")), const Eigen::RowVectorXi &vecPicks=Eigen::RowVectorXi(), bool bUseThreads=true)
Named filter-design parameter descriptor holding a human-readable name and description (e....
The FilterKernel class provides methods to create/design a FIR filter kernel.
static QVector< FilterParameter > m_designMethods
Lightweight filter configuration holding kernel coefficients and overlap-add state for one channel.
UTILSLIB::FilterKernel filterKernel
Eigen::RowVectorXd vecData
Applies FIR filtering via FFT-based overlap-add convolution for continuous data streams.
QSharedPointer< const FilterOverlapAdd > ConstSPtr
Eigen::MatrixXd calculate(const Eigen::MatrixXd &matData, const UTILSLIB::FilterKernel &filterKernel, const Eigen::RowVectorXi &vecPicks=Eigen::RowVectorXi(), bool bFilterEnd=true, bool bUseThreads=true, bool bKeepOverhead=false)
Eigen::MatrixXd calculate(const Eigen::MatrixXd &matData, int type, double dCenterfreq, double dBandwidth, double dTransition, double dSFreq, int iOrder=1024, int designMethod=UTILSLIB::FilterKernel::m_designMethods.indexOf(UTILSLIB::FilterParameter("Cosine")), const Eigen::RowVectorXi &vecPicks=Eigen::RowVectorXi(), bool bFilterEnd=true, bool bUseThreads=true, bool bKeepOverhead=false)
QSharedPointer< FilterOverlapAdd > SPtr
FIFF raw measurement data.