32 #include <osg/Texture1D>
33 #include <osgSim/ScalarsToColors>
35 #include "core/kernel/WModule.h"
72 virtual std::shared_ptr< WModule >
factory()
const;
79 virtual const std::string
getName()
const;
111 std::shared_ptr< WModuleConnector > , std::shared_ptr< WModuleConnector > );
118 std::shared_ptr< WModuleConnector > , std::shared_ptr< WModuleConnector > );
236 std::shared_ptr< WFlag< std::shared_ptr< WEEGEvent > > >
m_event;
290 std::vector< osg::ref_ptr< WROIBox > >
m_rois;
Class which contains EEG recording data, read from a WPagerEEG.
Class which calculates a source position from an EEG recording at a given time position.
GUI event handler class used for the 2D EEG view.
Class to wrap around the osg Group node and providing a thread safe add/removal mechanism.
Test module to open a new widget and display EEG data.
void closeCustomWidget()
Disconnects the m_node from the custom widget and closes the widget.
WPropDouble m_ySpacing
the distance between two curves of the graph in pixel as property
osg::ref_ptr< osg::Node > m_headSurfaceNode
OSG node for the 3D display of the head surface.
std::shared_ptr< WFlag< std::shared_ptr< WEEGEvent > > > m_event
event marking a special time position as WFlag
bool m_wasActive
The current active-state.
virtual void moduleMain()
Entry point after loading the module.
virtual std::shared_ptr< WModule > factory() const
Due to the prototype design pattern used to build modules, this method returns a new instance of this...
WPropBool m_proofOfConcept
Property determining whether we only show the proof of concept or the real dipoles.
double m_currentEventTime
The time of the current event.
std::shared_ptr< WModuleInputData< WEEG2 > > m_eeg_input
Input connector for a EEG dataset.
WPropDouble m_yPos
the y position in pixel at the lower edge as property
std::shared_ptr< WEEGSourceCalculator > m_sourceCalculator
calculates a source position at a given time position
virtual void notifyDataChange(std::shared_ptr< WModuleConnector >, std::shared_ptr< WModuleConnector >)
Gets called when the data on one input connector changed.
osg::ref_ptr< osg::Node > drawLabels()
Draw the electrode labels in 3D.
virtual const char ** getXPMIcon() const
Get the icon for this module in XPM format.
WPropBool m_snapToDipole
Property determining whether the selected time position should be snapped to an active dipole.
osg::ref_ptr< osg::Node > drawHeadSurface()
Draw the head surface in 3D.
osg::ref_ptr< osgSim::ScalarsToColors > m_colorMap
A ScalarsToColors object mapping the potentials at the electrodes to colors.
virtual const std::string getDescription() const
Gets the description for this module.
virtual void connectors()
Initialize connectors in this function.
std::shared_ptr< WCondition > m_propCondition
A condition used to notify about changes in several properties.
WPropDouble m_ROIsize
Size of the region of interest.
std::shared_ptr< WUIViewWidget > m_widget
Custom widget which is used by this module to display its data.
void redraw()
Removes all Nodes from m_rootNode2d and m_rootNode3d and adds new ones based on the current data stor...
WPropBool m_drawLabels
Property determining whether electrode labels should be drawn.
WPropInt m_graphWidth
the width of the graph in pixel as property
WPropBool m_drawElectrodes
Property determining whether electode positions should be drawn.
bool openCustomWidget()
Opens a custom widget and connects the m_node with it.
virtual const std::string getName() const
Gets the name of this module.
WPropGroup m_appearanceGroup
Group for parameters that adjust the appearance of the EEG widget.
WPropDouble m_colorSensitivity
The sensitivity of the color map as property.
osg::ref_ptr< osg::Node > drawElectrodes()
Draw the electrode positions in 3D.
WBoolFlag m_dataChanged
Bool flag which gets set when the data was changed.
void createColorMap()
Prepare textures for colormapping EEG signal.
WPropBool m_butterfly
Property switching between standard and butterfly plot of curves (overlay of all curves in one row)
virtual void notifyConnectionEstablished(std::shared_ptr< WModuleConnector >, std::shared_ptr< WModuleConnector >)
Gets called whenever a connector gets connected to the specified input.
WPropDouble m_ySensitivity
the sensitivity of the graph in microvolt per pixel as property
osg::ref_ptr< osg::Node > m_electrodesNode
OSG node for the 3D display of the electrode positions.
virtual void requirements()
Initialize requirements for this module.
std::vector< osg::ref_ptr< WROIBox > > m_rois
The ROIs around the source dipole positions at the time determined by m_event.
osg::ref_ptr< osg::Node > m_labelsNode
OSG node for the 3D display of the electrode labels.
osg::ref_ptr< WGEGroupNode > m_rootNode3d
OSG node for all 3D stuff of this module.
osg::ref_ptr< WEEGViewHandler > m_handler
GUI event handler used for interactive changing of many properties.
osg::ref_ptr< osg::Texture1D > m_colorMapTexture
A 1D texture containing the color map as image.
std::shared_ptr< WModuleInputData< WDataSetDipoles > > m_dipoles_input
Input connector for dipoles of EEG data.
virtual ~WMEEGView()
destructor
std::shared_ptr< WDataSetDipoles > m_dipoles
Pointer to the loaded dipoles dataset.
WPropBool m_drawHeadSurface
Property determining whether the head surface should be drawn.
WPropGroup m_manualNavigationGroup
Group for parameters that are normally adjusted using mouse actions.
virtual void properties()
Initialize properties in this function.
WPropDouble m_timePos
the time position in seconds where to start the graph at the left edge as property
WMEEGView()
default constructor
osg::ref_ptr< WGEGroupNode > m_rootNode2d
OSG node for all 2D stuff of this module.
std::shared_ptr< WEEG2 > m_eeg
Pointer to the loaded EEG dataset.
WPropInt m_labelsWidth
the width of the label display in pixel as property
WPropDouble m_timeRange
the width of the graph in seconds as property
Class representing a single module of OpenWalnut.
A box representing a region of interest.