Classes | |
| class | RtAveragingWorker |
| Background worker thread that accumulates and averages epochs in real time. More... | |
| class | RtAveraging |
| Controller that manages RtAveragingWorker for online epoch averaging with baseline correction. More... | |
| class | RtConnectivityWorker |
| Background worker thread that computes functional connectivity metrics in real time. More... | |
| class | RtConnectivity |
| Controller that manages RtConnectivityWorker for online connectivity computation. More... | |
| struct | RtCovComputeResult |
| Bundled output of a real-time covariance computation step containing the covariance matrix and sample count. More... | |
| class | RtCov |
| Controller that manages background covariance matrix estimation from streaming data. More... | |
| struct | FilterObject |
| Lightweight filter configuration holding kernel coefficients and overlap-add state for one channel. More... | |
| class | FilterOverlapAdd |
| Applies FIR filtering via FFT-based overlap-add convolution for continuous data streams. More... | |
| class | RtHpiWorker |
| Background worker thread that runs continuous HPI coil localization. More... | |
| class | RtHpi |
| Controller that manages RtHpiWorker for continuous head position tracking. More... | |
| struct | RtInvOpInput |
| Input bundle for the real-time inverse operator worker containing noise covariance, forward solution, and settings. More... | |
| class | RtInvOpWorker |
| Background worker thread that recomputes the MNE inverse operator when covariance updates arrive. More... | |
| class | RtInvOp |
| Controller that manages RtInvOpWorker for online inverse operator updates. More... | |
| class | RtNoiseWorker |
| Background worker that computes a noise power spectral density estimate from accumulated data blocks. More... | |
| class | RtNoise |
| Controller that manages RtNoiseWorker for real-time noise spectrum estimation. More... | |
Functions | |
| DSPSHARED_EXPORT QList< Eigen::MatrixXi > | toEventMatrix (QMap< int, QList< QPair< int, double > > > mapTriggers) |
| DSPSHARED_EXPORT QMap< int, QList< QPair< int, double > > > | detectTriggerFlanksMax (const Eigen::MatrixXd &data, const QList< int > &lTriggerChannels, int iOffsetIndex, double dThreshold, bool bRemoveOffset, int iBurstLengthSamp=100) |
| DSPSHARED_EXPORT QList< QPair< int, double > > | detectTriggerFlanksMax (const Eigen::MatrixXd &data, int iTriggerChannelIdx, int iOffsetIndex, double dThreshold, bool bRemoveOffset, int iBurstLengthSamp=100) |
| DSPSHARED_EXPORT QMap< int, QList< QPair< int, double > > > | detectTriggerFlanksGrad (const Eigen::MatrixXd &data, const QList< int > &lTriggerChannels, int iOffsetIndex, double dThreshold, bool bRemoveOffset, const QString &type, int iBurstLengthSamp=100) |
| DSPSHARED_EXPORT QList< QPair< int, double > > | detectTriggerFlanksGrad (const Eigen::MatrixXd &data, int iTriggerChannelIdx, int iOffsetIndex, double dThreshold, bool bRemoveOffset, const QString &type, int iBurstLengthSamp=100) |
| 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) |
| DSPSHARED_EXPORT bool | filterFile (QIODevice &pIODevice, QSharedPointer< FIFFLIB::FiffRawData > pFiffRawData, const UTILSLIB::FilterKernel &filterKernel, const Eigen::RowVectorXi &vecPicks=Eigen::RowVectorXi(), bool bUseThreads=false) |
| 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 | filterData (const Eigen::MatrixXd &matData, const UTILSLIB::FilterKernel &filterKernel, 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 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 FIFFLIB::FiffEvoked RTPROCESSINGLIB::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() ) |
Computes the filtered average for given fiff raw data. Reads epochs, filters each one, applies baseline correction and artifact rejection, then returns the averaged evoked response.
| [in] | raw | The raw data. |
| [in] | matEvents | The events provided in samples and event kinds. |
| [in] | fTMinS | The start time relative to the event in seconds. |
| [in] | fTMaxS | The end time relative to the event in seconds. |
| [in] | eventType | The event type. |
| [in] | bApplyBaseline | Whether to use baseline correction (mode=mean). |
| [in] | fTBaselineFromS | The start baseline correction time relative to the event in seconds. |
| [in] | fTBaselineToS | The end baseline correction time relative to the event in seconds. |
| [in] | mapReject | The thresholds per channel type to reject epochs. |
| [in] | filterKernel | The filter kernel to use when reading the fiff raw data. |
| [in] | lExcludeChs | List of channel names to exclude. |
| [in] | vecPicks | Which channels to pick. |
| DSPSHARED_EXPORT QMap< int, QList< QPair< int, double > > > RTPROCESSINGLIB::detectTriggerFlanksGrad | ( | const Eigen::MatrixXd & | data, |
| const QList< int > & | lTriggerChannels, | ||
| int | iOffsetIndex, | ||
| double | dThreshold, | ||
| bool | bRemoveOffset, | ||
| const QString & | type, | ||
| int | iBurstLengthSamp = 100 ) |
detectTriggerFlanksGrad detects flanks from a given data matrix in row wise order. This function uses a simple gradient to locate the triggers.
| [in] | data | the data used to find the trigger flanks. |
| [in] | lTriggerChannels | The indeces of the trigger channels. |
| [in] | iOffsetIndex | the offset index gets added to the found trigger flank index. |
| [in] | iThreshold | the gradient threshold value used to find the trigger flank. |
| [in] | bRemoveOffset | remove the first sample as offset. |
| [in] | type | detect rising or falling flank. Use "Rising" or "Falling" as input. |
| [in] | iBurstLengthMs | The length in samples which is skipped after a trigger was found. |
| DSPSHARED_EXPORT QList< QPair< int, double > > RTPROCESSINGLIB::detectTriggerFlanksGrad | ( | const Eigen::MatrixXd & | data, |
| int | iTriggerChannelIdx, | ||
| int | iOffsetIndex, | ||
| double | dThreshold, | ||
| bool | bRemoveOffset, | ||
| const QString & | type, | ||
| int | iBurstLengthSamp = 100 ) |
detectTriggerFlanksGrad detects flanks from a given data matrix in row wise order. This function uses a simple gradient to locate the triggers.
| [in] | data | the data used to find the trigger flanks. |
| [in] | iTriggerChannelIdx | the index of the trigger channel in the matrix. |
| [in] | iOffsetIndex | the offset index gets added to the found trigger flank index. |
| [in] | iThreshold | the gradient threshold value used to find the trigger flank. |
| [in] | bRemoveOffset | remove the first sample as offset. |
| [in] | type | detect rising or falling flank. Use "Rising" or "Falling" as input. |
| [in] | iBurstLengthMs | The length in samples which is skipped after a trigger was found. |
| DSPSHARED_EXPORT QMap< int, QList< QPair< int, double > > > RTPROCESSINGLIB::detectTriggerFlanksMax | ( | const Eigen::MatrixXd & | data, |
| const QList< int > & | lTriggerChannels, | ||
| int | iOffsetIndex, | ||
| double | dThreshold, | ||
| bool | bRemoveOffset, | ||
| int | iBurstLengthSamp = 100 ) |
detectTriggerFlanks detects flanks from a given data matrix in row wise order. This function uses a simple maxCoeff function implemented by eigen to locate the triggers.
| [in] | data | the data used to find the trigger flanks. |
| [in] | lTriggerChannels | The indeces of the trigger channels. |
| [in] | iOffsetIndex | the offset index gets added to the found trigger flank index. |
| [in] | dThreshold | the signal threshold value used to find the trigger flank. |
| [in] | bRemoveOffset | remove the first sample as offset. |
| [in] | iBurstLengthMs | The length in samples which is skipped after a trigger was found. |
| DSPSHARED_EXPORT QList< QPair< int, double > > RTPROCESSINGLIB::detectTriggerFlanksMax | ( | const Eigen::MatrixXd & | data, |
| int | iTriggerChannelIdx, | ||
| int | iOffsetIndex, | ||
| double | dThreshold, | ||
| bool | bRemoveOffset, | ||
| int | iBurstLengthSamp = 100 ) |
detectTriggerFlanks detects flanks from a given data matrix in row wise order. This function uses a simple maxCoeff function implemented by eigen to locate the triggers.
| [in] | data | the data used to find the trigger flanks. |
| [in] | iTriggerChannelIdx | the index of the trigger channel in the matrix. |
| [in] | iOffsetIndex | the offset index gets added to the found trigger flank index. |
| [in] | dThreshold | the signal threshold value used to find the trigger flank. |
| [in] | bRemoveOffset | remove the first sample as offset. |
| [in] | iBurstLengthMs | The length in samples which is skipped after a trigger was found. |
| void RTPROCESSINGLIB::filterChannel | ( | RTPROCESSINGLIB::FilterObject & | channelDataTime | ) |
This function is used to filter row-wise in parallel threads
| [in] | channelDataTime | The channel data to perform the filtering on. |
Definition at line 378 of file rt_filter.cpp.
| DSPSHARED_EXPORT Eigen::MatrixXd RTPROCESSINGLIB::filterData | ( | const Eigen::MatrixXd & | matData, |
| const UTILSLIB::FilterKernel & | filterKernel, | ||
| const Eigen::RowVectorXi & | vecPicks = Eigen::RowVectorXi(), | ||
| bool | bUseThreads = true, | ||
| bool | bKeepOverhead = false ) |
Calculates the filtered version of the raw input data based on a given list filters. The data needs to be present all at once. For continuous filtering via overlap add use the FilterOverlapAdd class.
| [in] | matData | The data which is to be filtered. |
| [in] | filterKernel | The list of filter kernels to use. |
| [in] | vecPicks | Channel indexes to filter. Default is filter all channels. |
| [in] | bUseThreads | Whether to use multiple threads. Default is set to true. |
| [in] | bKeepOverhead | Whether to keep the delayed part of the data after filtering. Default is set to false . |
| DSPSHARED_EXPORT Eigen::MatrixXd RTPROCESSINGLIB::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 ) |
Creates a user designed filter kernel and filters the raw input data. The data needs to be present all at once. For continuous filtering via overlap add use the FilterOverlapAdd class.
| [in] | matData | The data which is to be filtered. |
| [in] | type | The type of the filter: LPF, HPF, BPF, NOTCH (from enum FilterType). |
| [in] | dCenterfreq | The center of the frequency. |
| [in] | dBandwidth | The filter bandwidth. Ignored if FilterType is set to LPF,HPF. If NOTCH/BPF: bandwidth of stop-/passband. |
| [in] | dTransition | The transition band determines the width of the filter slopes (steepness). |
| [in] | dSFreq | The input data sampling frequency. |
| [in] | iOrder | Represents the order of the filter, the higher the higher is the stopband attenuation. Default is 1024 taps. |
| [in] | designMethod | The design method to use. Choose between Cosine and Tschebyscheff. Default is set to Cosine. |
| [in] | vecPicks | Channel indexes to filter. Default is filter all channels. |
| [in] | bUseThreads | Whether to use multiple threads. Default is set to true. |
| [in] | bKeepOverhead | Whether to keep the delayed part of the data after filtering. Default is set to false . |
| DSPSHARED_EXPORT Eigen::MatrixXd RTPROCESSINGLIB::filterDataBlock | ( | const Eigen::MatrixXd & | matData, |
| const Eigen::RowVectorXi & | vecPicks, | ||
| const UTILSLIB::FilterKernel & | filterKernel, | ||
| bool | bUseThreads = true ) |
Calculates the filtered version of the raw input data block. Always returns the data with half the filter length delay in the front and back.
| [in] | matData | The data which is to be filtered. |
| [in] | vecPicks | The used channel as index in RowVector. |
| [in] | filterKernel | The FilterKernel to filter the data with. |
| [in] | bUseThreads | Whether to use multiple threads. |
| DSPSHARED_EXPORT bool RTPROCESSINGLIB::filterFile | ( | QIODevice & | pIODevice, |
| QSharedPointer< FIFFLIB::FiffRawData > | pFiffRawData, | ||
| const UTILSLIB::FilterKernel & | filterKernel, | ||
| const Eigen::RowVectorXi & | vecPicks = Eigen::RowVectorXi(), | ||
| bool | bUseThreads = false ) |
Filters data from an input file based on an existing filter kernel and writes the filtered data to a pIODevice.
| [in] | pIODevice | The IO device to write to. |
| [in] | pFiffRawData | The fiff raw data object to read from. |
| [in] | filterKernel | The list of filter kernels to use. |
| [in] | vecPicks | Channel indexes to filter. Default is filter all channels. |
| [in] | bUseThreads | Whether to use multiple threads. Default is set to true. |
| DSPSHARED_EXPORT bool RTPROCESSINGLIB::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 ) |
Creates a user designed filter kernel, filters data from an input file and writes the filtered data to a pIODevice.
| [in] | pIODevice | The IO device to write to. |
| [in] | pFiffRawData | The fiff raw data object to read from. |
| [in] | type | The type of the filter: LPF, HPF, BPF, NOTCH (from enum FilterType). |
| [in] | dCenterfreq | The center of the frequency. |
| [in] | dBandwidth | The filter bandwidth. Ignored if FilterType is set to LPF,HPF. If NOTCH/BPF: bandwidth of stop-/passband. |
| [in] | dTransition | The transition band determines the width of the filter slopes (steepness). |
| [in] | dSFreq | The input data sampling frequency. |
| [in] | iOrder | Represents the order of the filter, the higher the higher is the stopband attenuation. Default is 4096 taps. |
| [in] | designMethod | The design method to use. Choose between Cosine and Tschebyscheff. Default is set to Cosine. |
| [in] | vecPicks | Channel indexes to filter. Default is filter all channels. |
| [in] | bUseThreads | Whether to use multiple threads. Default is set to true. |
| QList< MatrixXi > RTPROCESSINGLIB::toEventMatrix | ( | QMap< int, QList< QPair< int, double > > > | mapTriggers | ) |
Transforms QMap with stored information about events per stim channel to a list of event matrices.
| [in] | mapTriggers | The QMap to be transformed. |
| [in] | A | list of transformed Eigen matrices. |
Definition at line 58 of file rt_detect_trigger.cpp.