This controller organizes data streaming and interpolation matrix calculations. It only uses Queued signals in order to be thread safe with the underlying workers.
More...
#include <rtsourcedatacontroller.h>
|
void | interpolationInfoLeftChanged (const Eigen::MatrixX3f &matVerticesLeft, const QVector< QVector< int > > &vecNeighborVerticesLeft, const QVector< int > &vecMappedSubsetLeft) |
|
void | interpolationInfoRightChanged (const Eigen::MatrixX3f &matVerticesRight, const QVector< QVector< int > > &vecNeighborVerticesRight, const QVector< int > &vecMappedSubsetRight) |
|
void | annotationInfoLeftChanged (const Eigen::VectorXi &vecLabelIdsLeftHemi, const QList< FSLIB::Label > &lLabels, const Eigen::VectorXi &vecVertNoLeft) |
|
void | annotationInfoRightChanged (const Eigen::VectorXi &vecLabelIdsRightHemi, const QList< FSLIB::Label > &lLabels, const Eigen::VectorXi &vecVertNoRight) |
|
void | surfaceColorChanged (const Eigen::MatrixX4f &matColorLeft, const Eigen::MatrixX4f &matColorRight) |
|
void | streamSmoothedDataChanged (bool bStreamSmoothedData) |
|
void | interpolationFunctionChanged (const QString &sInterpolationFunction) |
|
void | cancelDistanceChanged (double dCancelDist) |
|
void | thresholdsChanged (const QVector3D &vecThresholds) |
|
void | visualizationTypeChanged (int iVisType) |
|
void | sFreqChanged (double dSFreq) |
|
void | numberAveragesChanged (int iNumAvr) |
|
void | loopStateChanged (bool bLoopState) |
|
void | colormapTypeChanged (const QString &sColormapType) |
|
void | rawDataChanged (const Eigen::MatrixXd &data) |
|
void | newInterpolationMatrixLeftAvailable (QSharedPointer< Eigen::SparseMatrix< float > > pMatInterpolationMatrixLeftHemi) |
|
void | newInterpolationMatrixRightAvailable (QSharedPointer< Eigen::SparseMatrix< float > > pMatInterpolationMatrixRightHemi) |
|
void | newRtRawDataAvailable (const Eigen::VectorXd &vecDataVectorLeftHemi, const Eigen::VectorXd &vecDataVectorRightHemi) |
|
void | newRtSmoothedDataAvailable (const Eigen::MatrixX4f &matColorMatrixLeftHemi, const Eigen::MatrixX4f &matColorMatrixRightHemi) |
|
|
| RtSourceDataController () |
|
| ~RtSourceDataController () |
|
void | setStreamingState (bool bStreamingState) |
|
void | setInterpolationFunction (const QString &sInterpolationFunction) |
|
void | setLoopState (bool bLoopState) |
|
void | setCancelDistance (double dCancelDist) |
|
void | setTimeInterval (int iMSec) |
|
void | setInterpolationInfo (const Eigen::MatrixX3f &matVerticesLeft, const Eigen::MatrixX3f &matVerticesRight, const QVector< QVector< int > > &vecNeighborVerticesLeft, const QVector< QVector< int > > &vecNeighborVerticesRight, const Eigen::VectorXi &vecVertNoLeftHemi, const Eigen::VectorXi &vecVertNoRightHemi) |
|
void | setSurfaceColor (const Eigen::MatrixX4f &matColorLeft, const Eigen::MatrixX4f &matColorRight) |
|
void | setAnnotationInfo (const Eigen::VectorXi &vecLabelIdsLeftHemi, const Eigen::VectorXi &vecLabelIdsRightHemi, const QList< FSLIB::Label > &lLabelsLeftHemi, const QList< FSLIB::Label > &lLabelsRightHemi, const Eigen::VectorXi &vecVertNoLeft, const Eigen::VectorXi &vecVertNoRight) |
|
void | setThresholds (const QVector3D &vecThresholds) |
|
void | setVisualizationType (int iVisType) |
|
void | setColormapType (const QString &sColormapType) |
|
void | setNumberAverages (int iNumAvr) |
|
void | setSFreq (double dSFreq) |
|
void | setStreamSmoothedData (bool bStreamSmoothedData) |
|
void | addData (const Eigen::MatrixXd &data) |
|
This controller organizes data streaming and interpolation matrix calculations. It only uses Queued signals in order to be thread safe with the underlying workers.
This controller organizes data streaming and interpolation matrix calculations. It only uses Queued signals in order to be thread safe with the underlying workers.
Definition at line 83 of file rtsourcedatacontroller.h.
◆ ConstSPtr
◆ SPtr
◆ RtSourceDataController()
RtSourceDataController::RtSourceDataController |
( |
| ) |
|
◆ ~RtSourceDataController()
RtSourceDataController::~RtSourceDataController |
( |
| ) |
|
◆ addData()
void RtSourceDataController::addData |
( |
const Eigen::MatrixXd & |
data | ) |
|
◆ annotationInfoLeftChanged
void DISP3DLIB::RtSourceDataController::annotationInfoLeftChanged |
( |
const Eigen::VectorXi & |
vecLabelIdsLeftHemi, |
|
|
const QList< FSLIB::Label > & |
lLabels, |
|
|
const Eigen::VectorXi & |
vecVertNoLeft |
|
) |
| |
|
signal |
Emit this signal whenever the interpolation info for the left hemisphere changed.
- Parameters
-
[in] | vecLabelIdsLeftHemi | The labels ids for each of the left hemipshere surface vertex idx. |
[in] | lLabels | The label information. |
[in] | vecVertNoLeft | The vertNos for the left hemisphere. |
◆ annotationInfoRightChanged
void DISP3DLIB::RtSourceDataController::annotationInfoRightChanged |
( |
const Eigen::VectorXi & |
vecLabelIdsRightHemi, |
|
|
const QList< FSLIB::Label > & |
lLabels, |
|
|
const Eigen::VectorXi & |
vecVertNoRight |
|
) |
| |
|
signal |
Emit this signal whenever the interpolation info for the right hemisphere changed.
- Parameters
-
[in] | vecLabelIdsRightHemi | The labels ids for each of the right hemipshere surface vertex idx. |
[in] | lLabels | The label information. |
[in] | vecVertNoRight | The vertNos for the right hemisphere. |
◆ cancelDistanceChanged
void DISP3DLIB::RtSourceDataController::cancelDistanceChanged |
( |
double |
dCancelDist | ) |
|
|
signal |
Emit this signal whenever the cancel distance changed.
- Parameters
-
[in] | dCancelDist | The new cancel distance value in meters. |
◆ colormapTypeChanged
void DISP3DLIB::RtSourceDataController::colormapTypeChanged |
( |
const QString & |
sColormapType | ) |
|
|
signal |
Emit this signal whenever the colormap changed.
- Parameters
-
[in] | sColormapType | The new colormap type. |
◆ interpolationFunctionChanged
void DISP3DLIB::RtSourceDataController::interpolationFunctionChanged |
( |
const QString & |
sInterpolationFunction | ) |
|
|
signal |
Emit this signal whenever the interpolation function changed.
- Parameters
-
[in] | sInterpolationFunction | Function that computes interpolation coefficients using the distance values. |
◆ interpolationInfoLeftChanged
void DISP3DLIB::RtSourceDataController::interpolationInfoLeftChanged |
( |
const Eigen::MatrixX3f & |
matVerticesLeft, |
|
|
const QVector< QVector< int > > & |
vecNeighborVerticesLeft, |
|
|
const QVector< int > & |
vecMappedSubsetLeft |
|
) |
| |
|
signal |
Emit this signal whenever the interpolation info for the left hemisphere changed.
- Parameters
-
[in] | matVerticesLeft | The mesh information in form of vertices. |
[in] | vecNeighborVerticesLeft | The neighbor vertex information. |
[in] | vecMappedSubsetLeft | Vector index position represents the id of the sensor and the qint in each cell is the vertex it is mapped to. |
◆ interpolationInfoRightChanged
void DISP3DLIB::RtSourceDataController::interpolationInfoRightChanged |
( |
const Eigen::MatrixX3f & |
matVerticesRight, |
|
|
const QVector< QVector< int > > & |
vecNeighborVerticesRight, |
|
|
const QVector< int > & |
vecMappedSubsetRight |
|
) |
| |
|
signal |
Emit this signal whenever the interpolation info for the right hemisphere changed.
- Parameters
-
[in] | matVerticesRight | The mesh information in form of vertices. |
[in] | vecNeighborVerticesRight | The neighbor vertex information. |
[in] | vecMappedSubsetRight | Vector index position represents the id of the sensor and the qint in each cell is the vertex it is mapped to. |
◆ loopStateChanged
void DISP3DLIB::RtSourceDataController::loopStateChanged |
( |
bool |
bLoopState | ) |
|
|
signal |
Emit this signal whenever the loop state changed.
- Parameters
-
[in] | bLoopState | The new looping state. |
◆ newInterpolationMatrixLeftAvailable
void DISP3DLIB::RtSourceDataController::newInterpolationMatrixLeftAvailable |
( |
QSharedPointer< Eigen::SparseMatrix< float > > |
pMatInterpolationMatrixLeftHemi | ) |
|
|
signal |
Emit this signal whenever a new interpolation matrix for the left hemisphere is available.
- Parameters
-
[in] | pMatInterpolationMatrixLeftHemi | The new interpolation matrix for the left hemisphere. |
◆ newInterpolationMatrixRightAvailable
void DISP3DLIB::RtSourceDataController::newInterpolationMatrixRightAvailable |
( |
QSharedPointer< Eigen::SparseMatrix< float > > |
pMatInterpolationMatrixRightHemi | ) |
|
|
signal |
Emit this signal whenever a new interpolation matrix for the right hemisphere is available.
- Parameters
-
[in] | pMatInterpolationMatrixRightHemi | The new interpolation matrix for the right hemisphere. |
◆ newRtRawDataAvailable
void DISP3DLIB::RtSourceDataController::newRtRawDataAvailable |
( |
const Eigen::VectorXd & |
vecDataVectorLeftHemi, |
|
|
const Eigen::VectorXd & |
vecDataVectorRightHemi |
|
) |
| |
|
signal |
Emit this signal whenever a new raw data is streamed. This function is usefull, e.g., when the interpolation is done on shader (GPU) level.
- Parameters
-
[in] | vecDataVectorLeftHemi | The new streamed raw data for the left hemispehre. |
[in] | vecDataVectorRightHemi | The new streamed raw data for the right hemispehre. |
◆ newRtSmoothedDataAvailable
void DISP3DLIB::RtSourceDataController::newRtSmoothedDataAvailable |
( |
const Eigen::MatrixX4f & |
matColorMatrixLeftHemi, |
|
|
const Eigen::MatrixX4f & |
matColorMatrixRightHemi |
|
) |
| |
|
signal |
Emit this signal whenever a new interpolated raw data is streamed.
- Parameters
-
[in] | matColorMatrixLeftHemi | The new streamed interpolated raw data in form of RGB colors per vertex for the left hemisphere. |
[in] | matColorMatrixRightHemi | The new streamed interpolated raw data in form of RGB colors per vertex for the right hemisphere. |
◆ numberAveragesChanged
void DISP3DLIB::RtSourceDataController::numberAveragesChanged |
( |
int |
iNumAvr | ) |
|
|
signal |
Emit this signal whenever the number of averages changed.
- Parameters
-
[in] | iNumAvr | The new number of averages. |
◆ onNewInterpolationMatrixLeftCalculated()
void RtSourceDataController::onNewInterpolationMatrixLeftCalculated |
( |
QSharedPointer< Eigen::SparseMatrix< float > > |
pMatInterpolationMatrixLeftHemi | ) |
|
|
protected |
Call this function whenever a new interpolation matrix for the left hemisphere is available to be dispatched.
- Parameters
-
[in] | pMatInterpolationMatrixLeftHemi | The new interpolation matrix for the left hemisphere. |
Definition at line 354 of file rtsourcedatacontroller.cpp.
◆ onNewInterpolationMatrixRightCalculated()
void RtSourceDataController::onNewInterpolationMatrixRightCalculated |
( |
QSharedPointer< Eigen::SparseMatrix< float > > |
pMatInterpolationMatrixRightHemi | ) |
|
|
protected |
Call this function whenever a new interpolation matrix for the right hemisphere is available to be dispatched.
- Parameters
-
[in] | pMatInterpolationMatrixRightHemi | The new interpolation matrix for the right hemisphere. |
Definition at line 361 of file rtsourcedatacontroller.cpp.
◆ onNewRtRawData()
void RtSourceDataController::onNewRtRawData |
( |
const Eigen::VectorXd & |
vecDataVectorLeftHemi, |
|
|
const Eigen::VectorXd & |
vecDataVectorRightHemi |
|
) |
| |
|
protected |
Call this function whenever new raw data is available to be dispatched. This function is usefull, e.g., when the interpolation is done on shader (GPU) level.
- Parameters
-
[in] | vecDataVectorLeftHemi | The new streamed raw data for the left hemispehre. |
[in] | vecDataVectorRightHemi | The new streamed raw data for the right hemispehre. |
Definition at line 336 of file rtsourcedatacontroller.cpp.
◆ onNewSmoothedRtRawData()
void RtSourceDataController::onNewSmoothedRtRawData |
( |
const Eigen::MatrixX4f & |
matColorMatrixLeftHemi, |
|
|
const Eigen::MatrixX4f & |
matColorMatrixRightHemi |
|
) |
| |
|
protected |
Call this function whenever new interpolated raw data is available to be dispatched.
- Parameters
-
[in] | matColorMatrixLeftHemi | The new streamed interpolated raw data in form of RGB colors per vertex for the left hemisphere. |
[in] | matColorMatrixRightHemi | The new streamed interpolated raw data in form of RGB colors per vertex for the right hemisphere. |
Definition at line 345 of file rtsourcedatacontroller.cpp.
◆ rawDataChanged
void DISP3DLIB::RtSourceDataController::rawDataChanged |
( |
const Eigen::MatrixXd & |
data | ) |
|
|
signal |
Emit this signal whenever new data to be streamed was added.
- Parameters
-
◆ setAnnotationInfo()
void RtSourceDataController::setAnnotationInfo |
( |
const Eigen::VectorXi & |
vecLabelIdsLeftHemi, |
|
|
const Eigen::VectorXi & |
vecLabelIdsRightHemi, |
|
|
const QList< FSLIB::Label > & |
lLabelsLeftHemi, |
|
|
const QList< FSLIB::Label > & |
lLabelsRightHemi, |
|
|
const Eigen::VectorXi & |
vecVertNoLeft, |
|
|
const Eigen::VectorXi & |
vecVertNoRight |
|
) |
| |
Set annotation info.
- Parameters
-
[in] | vecLabelIdsLeftHemi | The labels ids for each of the left hemipshere surface vertex idx. |
[in] | vecLabelIdsRightHemi | The labels ids for each of the right hemipshere surface vertex idx. |
[in] | lLabelsLeftHemi | The label information for the left hemisphere. |
[in] | lLabelsRightHemi | The label information for the right hemisphere. |
[in] | vecVertNoLeft | The vertNos for the left hemisphere. |
[in] | vecVertNoRight | The vertNos for the right hemisphere. |
Definition at line 269 of file rtsourcedatacontroller.cpp.
◆ setCancelDistance()
void RtSourceDataController::setCancelDistance |
( |
double |
dCancelDist | ) |
|
This function sets the cancel distance used in distance calculations for the interpolation. Distances higher than this are ignored, i.e. the respective coefficients are set to zero. Warning: Using this function can take some seconds because recalculation are required.
- Parameters
-
[in] | dCancelDist | The new cancel distance value in meters. |
Definition at line 212 of file rtsourcedatacontroller.cpp.
◆ setColormapType()
void RtSourceDataController::setColormapType |
( |
const QString & |
sColormapType | ) |
|
◆ setInterpolationFunction()
void RtSourceDataController::setInterpolationFunction |
( |
const QString & |
sInterpolationFunction | ) |
|
This function sets the function that is used in the interpolation process. Warning: Using this function can take some seconds because recalculation are required.
- Parameters
-
[in] | sInterpolationFunction | Function that computes interpolation coefficients using the distance values. |
Definition at line 198 of file rtsourcedatacontroller.cpp.
◆ setInterpolationInfo()
void RtSourceDataController::setInterpolationInfo |
( |
const Eigen::MatrixX3f & |
matVerticesLeft, |
|
|
const Eigen::MatrixX3f & |
matVerticesRight, |
|
|
const QVector< QVector< int > > & |
vecNeighborVerticesLeft, |
|
|
const QVector< QVector< int > > & |
vecNeighborVerticesRight, |
|
|
const Eigen::VectorXi & |
vecVertNoLeftHemi, |
|
|
const Eigen::VectorXi & |
vecVertNoRightHemi |
|
) |
| |
Sets the interpoaltion inforamtion about the surfaces etc. Warning: Using this function can take some seconds because recalculation are required.
- Parameters
-
[in] | matVerticesLeft | The surface vertices in 3D space for the left hemisphere. |
[in] | matVerticesRight | The surface vertices in 3D space for the right hemisphere. |
[in] | vecNeighborVerticesLeft | The neighbor vertices for the left hemisphere. |
[in] | vecNeighborVerticesRight | The neighbor vertices for the right hemisphere. |
[in] | vecVertNoLeftHemi | The vertex indexes for the left hemipshere. |
[in] | vecVertNoRightHemi | The vertex indexes for the right hemipshere. |
Definition at line 232 of file rtsourcedatacontroller.cpp.
◆ setLoopState()
void RtSourceDataController::setLoopState |
( |
bool |
bLoopState | ) |
|
◆ setNumberAverages()
void RtSourceDataController::setNumberAverages |
( |
int |
iNumAvr | ) |
|
◆ setSFreq()
void RtSourceDataController::setSFreq |
( |
double |
dSFreq | ) |
|
◆ setStreamingState()
void RtSourceDataController::setStreamingState |
( |
bool |
bStreamingState | ) |
|
Set the streaming state (start/stop streaming).
- Parameters
-
[in] | bStreamingState | The new straming state. |
Definition at line 187 of file rtsourcedatacontroller.cpp.
◆ setStreamSmoothedData()
void RtSourceDataController::setStreamSmoothedData |
( |
bool |
bStreamSmoothedData | ) |
|
Sets the state whether to stream smoothed or raw data
- Parameters
-
[in] | bStreamSmoothedData | The new state. |
Definition at line 322 of file rtsourcedatacontroller.cpp.
◆ setSurfaceColor()
void RtSourceDataController::setSurfaceColor |
( |
const Eigen::MatrixX4f & |
matColorLeft, |
|
|
const Eigen::MatrixX4f & |
matColorRight |
|
) |
| |
Set the color of the vertices for the left and right hemisphere.
- Parameters
-
[in] | matColorLeft | The color of the vertices for the left hemisphere. |
[in] | matColorRight | The color of the vertices for the right hemisphere. |
Definition at line 260 of file rtsourcedatacontroller.cpp.
◆ setThresholds()
void RtSourceDataController::setThresholds |
( |
const QVector3D & |
vecThresholds | ) |
|
Set the normalization value.
- Parameters
-
[in] | vecThresholds | The new threshold values used for normalizing the data. |
Definition at line 287 of file rtsourcedatacontroller.cpp.
◆ setTimeInterval()
void RtSourceDataController::setTimeInterval |
( |
int |
iMSec | ) |
|
Set the time in MSec to wait inbetween data samples.
- Parameters
-
[in] | iMSec | The new length in milli Seconds to wait inbetween data samples. |
Definition at line 219 of file rtsourcedatacontroller.cpp.
◆ setVisualizationType()
void RtSourceDataController::setVisualizationType |
( |
int |
iVisType | ) |
|
◆ sFreqChanged
void DISP3DLIB::RtSourceDataController::sFreqChanged |
( |
double |
dSFreq | ) |
|
|
signal |
Emit this signal whenever the sampling frequency changed.
- Parameters
-
[in] | dSFreq | The new sampling frequency. |
◆ streamSmoothedDataChanged
void DISP3DLIB::RtSourceDataController::streamSmoothedDataChanged |
( |
bool |
bStreamSmoothedData | ) |
|
|
signal |
Emit this signal whenever the fiff info changed.
- Parameters
-
[in] | info | The fiff info including the new bad channels. |
◆ surfaceColorChanged
void DISP3DLIB::RtSourceDataController::surfaceColorChanged |
( |
const Eigen::MatrixX4f & |
matColorLeft, |
|
|
const Eigen::MatrixX4f & |
matColorRight |
|
) |
| |
|
signal |
Emit this signal whenever the color of the vertices for the left and right hemisphere changed.
- Parameters
-
[in] | matColorLeft | The color of the vertices for the left hemisphere. |
[in] | matColorRight | The color of the vertices for the right hemisphere. |
◆ thresholdsChanged
void DISP3DLIB::RtSourceDataController::thresholdsChanged |
( |
const QVector3D & |
vecThresholds | ) |
|
|
signal |
Emit this signal whenever the thresholds changed.
- Parameters
-
[in] | vecThresholds | The new threshold values used for normalizing the data. |
◆ visualizationTypeChanged
void DISP3DLIB::RtSourceDataController::visualizationTypeChanged |
( |
int |
iVisType | ) |
|
|
signal |
Emit this signal whenever the visualization type changed.
- Parameters
-
[in] | iVisType | The new visualization type. |
◆ m_iMSecInterval
int DISP3DLIB::RtSourceDataController::m_iMSecInterval |
|
protected |
◆ m_pRtInterpolationLeftWorker
◆ m_pRtInterpolationRightWorker
◆ m_pRtSourceDataWorker
◆ m_rtInterpolationLeftWorkerThread
QThread DISP3DLIB::RtSourceDataController::m_rtInterpolationLeftWorkerThread |
|
protected |
◆ m_rtInterpolationRightWorkerThread
QThread DISP3DLIB::RtSourceDataController::m_rtInterpolationRightWorkerThread |
|
protected |
◆ m_rtSourceDataWorkerThread
QThread DISP3DLIB::RtSourceDataController::m_rtSourceDataWorkerThread |
|
protected |
◆ m_timer
QTimer DISP3DLIB::RtSourceDataController::m_timer |
|
protected |
The documentation for this class was generated from the following files: