OpenWalnut
1.5.0dev
|
Module offers several fiber selection and coloring options depending on a hierarchical clustering. More...
#include <WMClusterDisplay.h>
Classes | |
class | MainViewEventHandler |
Small event handler class to catch left mouse buttons clicks in the main view. More... | |
Public Member Functions | |
WMClusterDisplay () | |
constructor More... | |
virtual | ~WMClusterDisplay () |
destructor More... | |
virtual const std::string | getName () const |
Gives back the name of this module. More... | |
virtual const std::string | getDescription () const |
Gives back a description of this module. More... | |
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 method. More... | |
virtual const char ** | getXPMIcon () const |
Get the icon for this module in XPM format. More... | |
Public Member Functions inherited from WModule | |
WModule () | |
Constructs a new WModule instance. More... | |
virtual | ~WModule () |
Destructor. More... | |
const InputConnectorList & | getInputConnectors () const |
Gives back input connectors. More... | |
std::shared_ptr< WModuleInputConnector > | getInputConnector (std::string name) |
Finds the named connector for the module. More... | |
std::shared_ptr< WModuleInputConnector > | findInputConnector (std::string name) |
Finds the named connector for the module. More... | |
const OutputConnectorList & | getOutputConnectors () const |
Gives back output connectors. More... | |
std::shared_ptr< WModuleOutputConnector > | getOutputConnector (std::string name) |
Finds the named connector for the module. More... | |
std::shared_ptr< WModuleOutputConnector > | findOutputConnector (std::string name) |
Finds the named connector for the module. More... | |
std::shared_ptr< WModuleConnector > | getConnector (std::string name) |
Finds the named connector for the module. More... | |
std::shared_ptr< WModuleConnector > | findConnector (std::string name) |
Finds the named connector for the module. More... | |
std::shared_ptr< WProperties > | getProperties () const |
Return a pointer to the properties object of the module. More... | |
std::shared_ptr< WProperties > | getInformationProperties () const |
Return a pointer to the information properties object of the module. More... | |
const WBoolFlag & | isInitialized () const |
Determines whether the module instance is properly initialized. More... | |
const WBoolFlag & | isUseable () const |
Checks whether the module instance is ready to be used. More... | |
const WBoolFlag & | isAssociated () const |
Checks whether this module is associated with an container. More... | |
const WBoolFlag & | isReady () const |
Checks whether this module is ready. More... | |
const WBoolFlag & | isReadyOrCrashed () const |
This is the logical or of isReady and isCrashed. More... | |
const WBoolFlag & | isRunning () const |
Returns a flag denoting whether the thread currently is running or nor. More... | |
void | waitRestored () |
This method waits for the module to be restored completely. More... | |
bool | isRestoreNeeded () const |
Check whether this module is in restore mode. More... | |
void | setRestoreNeeded (bool restore=true) |
Change the restore mode. More... | |
void | reportRestoreComplete () |
Called by loaders to tell the module that loading has been completed. More... | |
std::shared_ptr< WModuleContainer > | getAssociatedContainer () const |
The container this module is associated with. More... | |
virtual boost::signals2::connection | subscribeSignal (MODULE_SIGNAL signal, t_ModuleGenericSignalHandlerType notifier) |
Connects a specified notify function with a signal this module instance is offering. More... | |
virtual boost::signals2::connection | subscribeSignal (MODULE_SIGNAL signal, t_ModuleErrorSignalHandlerType notifier) |
Connects a specified notify function with a signal this module instance is offering. More... | |
virtual std::shared_ptr< WProgressCombiner > | getRootProgressCombiner () |
Gets the modules base progress. More... | |
virtual MODULE_TYPE | getType () const |
Gets the type of the module. More... | |
void | disconnect () |
Completely disconnects all connected connectors of this module. More... | |
WCombinerTypes::WDisconnectList | getPossibleDisconnections () |
Gives a list of all WDisconnectCombiners possible. More... | |
boost::filesystem::path | getLocalPath () const |
Returns the local path of the module. More... | |
boost::filesystem::path | getLibPath () const |
Returns the absolute path to the library containing this module. More... | |
std::string | getPackageName () const |
Returns the name of the package the module belongs to, The package name basically is the name of the library containing this and maybe other modules. More... | |
bool | isDeprecated () const |
Checks whether the module was marked as deprecated. More... | |
std::string | getDeprecationMessage () const |
Queries the deprecation message of a module if specified. More... | |
virtual WModuleMetaInformation::ConstSPtr | getMetaInformation () const |
The meta information of this module. More... | |
const std::string & | getUUID () const |
Get the UUID of the module instance. More... | |
WPropString | getRuntimeName () const |
Returns the name the user has given this module. More... | |
const WRequirement * | checkRequirements () const |
This method checks whether all the requirements of the module are complied. More... | |
virtual boost::signals2::connection | subscribeSignal (THREAD_SIGNAL signal, t_ThreadErrorSignalHandlerType notifier) |
Connects a specified notify function with a signal this thread instance is offering. More... | |
Public Member Functions inherited from WThreadedRunner | |
WThreadedRunner () | |
Default constructor. More... | |
virtual | ~WThreadedRunner () |
Destructor. More... | |
virtual void | run () |
Run thread. More... | |
void | run (THREADFUNCTION f) |
Run thread. More... | |
void | wait (bool requestFinish=false) |
Wait for the thread to be finished. More... | |
virtual void | requestStop () |
This method's purpose is to request a stop without waiting for it. More... | |
virtual boost::signals2::connection | subscribeSignal (THREAD_SIGNAL signal, t_ThreadErrorSignalHandlerType notifier) |
Connects a specified notify function with a signal this thread instance is offering. More... | |
const WBoolFlag & | isCrashed () const |
Checks whether this thread has been crashed. More... | |
const std::string & | getCrashMessage () const |
Get the message of the exception finally causing the crash. More... | |
void | setThreadName (std::string name) |
Set the name of the thread. More... | |
std::string | getThreadName () const |
Returns the current thread name. More... | |
Public Member Functions inherited from WPrototyped | |
WPrototyped () | |
Default constructor. More... | |
virtual | ~WPrototyped () |
Destructor. More... | |
template<typename T > | |
bool | isA () |
Checks whether the actual prototype has the specified runtime type. More... | |
Protected Member Functions | |
virtual void | moduleMain () |
Entry point after loading the module. More... | |
virtual void | connectors () |
Initialize the connectors this module is using. More... | |
virtual void | properties () |
Initialize the properties for this module. More... | |
Protected Member Functions inherited from WModule | |
void | threadMain () |
Thread entry point. More... | |
virtual void | onThreadException (const WException &e) |
This method is called if an exception was caught, which came from the custom thread code. More... | |
void | setAssociatedContainer (std::shared_ptr< WModuleContainer > container) |
Sets the container this module is associated with. More... | |
virtual void | requirements () |
Initialize requirements in this function. More... | |
virtual std::string | deprecated () const |
This function allows module programmers to mark their modules deprecated in a user-friendly way. More... | |
void | initialize () |
Manages initialization. More... | |
virtual void | cleanup () |
Called whenever the module should shutdown. More... | |
void | addConnector (std::shared_ptr< WModuleInputConnector > con) |
Adds the specified connector to the list of inputs. More... | |
void | addConnector (std::shared_ptr< WModuleOutputConnector > con) |
Adds the specified connector to the list of outputs. More... | |
void | removeConnectors () |
Removes all connectors properly. More... | |
virtual void | activate () |
Callback for m_active. More... | |
virtual const t_GenericSignalHandlerType | getSignalHandler (MODULE_CONNECTOR_SIGNAL signal) |
Gives the signal handler function responsible for a given signal. More... | |
virtual void | notifyConnectionEstablished (std::shared_ptr< WModuleConnector > here, std::shared_ptr< WModuleConnector > there) |
Gets called whenever a connector gets connected to the specified input. More... | |
virtual void | notifyConnectionClosed (std::shared_ptr< WModuleConnector > here, std::shared_ptr< WModuleConnector > there) |
Gets called whenever a connection between a remote and local connector gets closed. More... | |
virtual void | notifyDataChange (std::shared_ptr< WModuleConnector > input, std::shared_ptr< WModuleConnector > output) |
Gets called when the data on one input connector changed. More... | |
void | ready () |
Call this whenever your module is ready and can react on property changes. More... | |
wlog::WStreamedLogger | infoLog () const |
Logger instance for comfortable info logging. More... | |
wlog::WStreamedLogger | debugLog () const |
Logger instance for comfortable debug logging. More... | |
wlog::WStreamedLogger | warnLog () const |
Logger instance for comfortable warning- logs. More... | |
wlog::WStreamedLogger | errorLog () const |
Logger instance for comfortable error logging. More... | |
void | setLocalPath (boost::filesystem::path path) |
Sets the local module path. More... | |
void | setLibPath (boost::filesystem::path path) |
Set the path to the library which contains this module. More... | |
void | setPackageName (std::string name) |
Set the package name. More... | |
Protected Member Functions inherited from WThreadedRunner | |
virtual void | notifyStop () |
Gets called when the thread should be stopped. More... | |
void | yield () const |
Give remaining execution timeslice to another thread. More... | |
void | sleep (const int32_t t) const |
Sets thread asleep. More... | |
void | msleep (const int32_t t) const |
Sets thread asleep. More... | |
void | waitForStop () |
Let the thread sleep until a stop request was given. More... | |
void | handleDeadlyException (const WException &e, std::string sender="WThreadedRunner") |
Handle the specified exception which was not caught in the thread, which basically means the thread has crashed. More... | |
Private Member Functions | |
std::vector< std::string > | readFile (const std::string fileName) |
helper function to read a text file More... | |
bool | loadTreeAscii (std::string fileName) |
helper function to load and parse a tree file, the tree is stored in the member variable m_tree More... | |
void | initWidgets () |
inits the cluster navigation widgets More... | |
void | updateWidgets () |
updates all the overlay widgets within the osg thread More... | |
bool | widgetClicked () |
function checks all on screen buttons if they have been clicked More... | |
void | colorClusters (size_t current) |
colors subclusters depending on slider settings More... | |
void | setColor (std::vector< size_t > clusters, WColor color) |
sets a set of cluster to a single color More... | |
void | handleSelectedClusterChanged () |
function to handle user input More... | |
void | handleOffsetChanged () |
function to handle user input More... | |
void | handleSelectedLevelChanged () |
function to handle user input More... | |
void | handleBiggestClustersChanged () |
function to handle user input More... | |
void | handleColoringChanged () |
function to handle user input More... | |
void | handleMinSizeChanged () |
function to handle user input More... | |
void | handleRoiChanged () |
function to handle user input More... | |
void | handleCreateRoi () |
function to handle user input More... | |
std::string | createLabel (size_t id) |
creates a label depending ont he current labeling setting More... | |
bool | dendrogramClick (const WVector2f &pos) |
handles clicks into the dendrogram More... | |
void | createFiberGeode () |
helper function to initialize a fiber display node More... | |
Private Attributes | |
std::shared_ptr< WModuleInputData< const WDataSetFibers > > | m_fiberInput |
Input connector for a fiber dataset. More... | |
std::shared_ptr< const WDataSetFibers > | m_dataSet |
pointer to dataSet to be able to access it throughout the whole module. More... | |
std::shared_ptr< WCondition > | m_propCondition |
A condition used to notify about changes in several properties. More... | |
WPropInt | m_propSelectedCluster |
the currently selected cluster More... | |
WPropInt | m_propSelectedClusterOffset |
offset to the currently selected cluster, this allows tree navigation and return to the current cluster More... | |
WPropInt | m_propSubClusters |
number of biggest sub cluster to determine and show More... | |
WPropInt | m_propSubLevelsToColor |
number of subclusters to color differently More... | |
WPropInt | m_propMinSizeToColor |
specifies a minimum size for a cluster so that too small cluster won't get an own color More... | |
WPropInt | m_propMaxSubClusters |
number of clusters that are selected by the current roi setting and meet the ratio condition More... | |
WPropDouble | m_propBoxClusterRatio |
ratio of how many leafes of a cluster must be inside the roi setting to be considered More... | |
WPropBool | m_propShowTree |
controls the display of the tree navigation widget More... | |
WPropGroup | m_groupDendrogram |
grouping the dendrogram manipulation properties More... | |
WPropBool | m_propShowDendrogram |
controls the display of the dendrogram overlay More... | |
WPropBool | m_propResizeWithWindow |
if true position and size sliders will have no effect More... | |
WPropInt | m_propDendrogramSizeX |
controls the width of the dendrogram More... | |
WPropInt | m_propDendrogramSizeY |
controls the height of the dendrogram More... | |
WPropInt | m_propDendrogramOffsetX |
controls the horizontal origin of the dendrogram More... | |
WPropInt | m_propDendrogramOffsetY |
controls the vertical origin of the dendrogram More... | |
WPropTrigger | m_readTriggerProp |
This property triggers the actual reading,. More... | |
WPropFilename | m_propTreeFile |
The tree will be read from this file, i hope we will get a real load button some time. More... | |
WHierarchicalTreeFibers | m_tree |
stores the tree object More... | |
std::shared_ptr< WFiberSelector > | m_fiberSelector |
Point to a fiber selector, which is an adapater between the roi manager and the this module. More... | |
osg::ref_ptr< WFiberDrawable > | m_fiberDrawable |
stores pointer to the fiber drawer More... | |
osg::ref_ptr< WGEManagedGroupNode > | m_rootNode |
The root node used for this modules graphics. More... | |
std::vector< size_t > | m_biggestClusters |
stores the currently selected biggest clusters More... | |
std::vector< osg::ref_ptr< WOSGButton > > | m_treeButtonList |
list of buttons for the tree widget More... | |
std::vector< osg::ref_ptr< WOSGButton > > | m_biggestClustersButtonList |
list of buttons for biggest cluster selection More... | |
WGECamera * | m_camera |
stores the camera object More... | |
WDendrogramGeode * | m_dendrogramGeode |
stores the dendrogram geode More... | |
osgWidget::WindowManager * | m_wm |
stores a pointer to the window manager used for osg wdgets and overlay stuff More... | |
bool | m_widgetDirty |
true if the widgets need redrawing More... | |
bool | m_biggestClusterButtonsChanged |
true if the buttons for the biggest clusters need updating More... | |
bool | m_dendrogramDirty |
true if the dendrogram needs redrawing More... | |
size_t | m_rootCluster |
currently selected cluster + offset More... | |
size_t | m_labelMode |
indicates wheter the cluster number, size of custom data should be shown on labels More... | |
int | m_oldViewHeight |
stores the old viewport resolution to check whether a resize happened More... | |
int | m_oldViewWidth |
stores the old viewport resolution to check whether a resize happened More... | |
Additional Inherited Members | |
Public Types inherited from WModule | |
typedef std::vector< std::shared_ptr< WModuleInputConnector > > | InputConnectorList |
The type for the list of input connectors. More... | |
typedef std::vector< std::shared_ptr< WModuleOutputConnector > > | OutputConnectorList |
The type for the list of output connectors. More... | |
typedef std::shared_ptr< WModule > | SPtr |
Shared pointer to a WModule. More... | |
typedef std::shared_ptr< const WModule > | ConstSPtr |
Shared pointer to a const WModule. More... | |
Public Types inherited from WThreadedRunner | |
typedef std::shared_ptr< WThreadedRunner > | SPtr |
Abbreviation to a shared_ptr to this type. More... | |
typedef std::shared_ptr< const WThreadedRunner > | ConstSPtr |
Abbreviation to a const shared_ptr to this type. More... | |
typedef boost::function< void(void) > | THREADFUNCTION |
Type used for simple thread functions. More... | |
Static Public Member Functions inherited from WModule | |
static SPtr | findByUUID (std::string uuid) |
Find a module instance by UUID. More... | |
Static Public Member Functions inherited from WThreadedRunner | |
static void | setThisThreadName (std::string name) |
Static function to set the name of the calling thread. More... | |
Protected Types inherited from WModule | |
typedef std::vector< WRequirement * > | Requirements |
The type of the requirement list. More... | |
Protected Attributes inherited from WModule | |
std::shared_ptr< WProperties > | m_properties |
The property object for the module. More... | |
std::shared_ptr< WProperties > | m_infoProperties |
The property object for the module containing only module whose purpose is "PV_PURPOSE_INFORMNATION". More... | |
std::shared_ptr< WProgressCombiner > | m_progress |
Progress indicator used as parent for all progress' of this module. More... | |
WBoolFlag | m_initialized |
True if everything is initialized and ready to be used. More... | |
WBoolFlag | m_isAssociated |
True if container got associated with this flag. More... | |
WBoolFlag | m_isUsable |
True if associated && initialized. More... | |
WBoolFlag | m_isReady |
True if ready() was called. More... | |
WBoolFlag | m_isReadyOrCrashed |
It is true whenever m_isReady or WThreadedRunner::m_isCrashed is true. More... | |
WBoolFlag | m_isRunning |
True if the module currently is running. More... | |
WBoolFlag | m_isLoadFinished |
Flag to denote whether the module container and the project loader have finished their work. More... | |
bool | m_restoreMode |
Flag denoting the current restore mode. More... | |
std::shared_ptr< WProgress > | m_readyProgress |
Progress indicator for the "ready" state. More... | |
WConditionSet | m_moduleState |
The internal state of the module. More... | |
std::shared_ptr< WModuleContainer > | m_container |
The container this module belongs to. More... | |
InputConnectorList | m_inputConnectors |
Set of input connectors associated with this module. More... | |
OutputConnectorList | m_outputConnectors |
Set of output connectors associated with this module. More... | |
WPropBool | m_active |
True whenever the module should be active. More... | |
WPropString | m_runtimeName |
This property holds a user specified name for the current module instance. More... | |
boost::filesystem::path | m_localPath |
The path where the module binary resides in. More... | |
boost::filesystem::path | m_libPath |
The absolute path to the library containing this module. More... | |
std::string | m_packageName |
The name of the lib/the package containing this module. More... | |
Requirements | m_requirements |
The list of requirements. More... | |
Protected Attributes inherited from WThreadedRunner | |
boost::thread | m_thread |
Thread instance. More... | |
WBoolFlag | m_shutdownFlag |
Condition getting fired whenever the thread should quit. More... | |
WBoolFlag | m_isCrashed |
True whenever an exception is thrown during threadMain. More... | |
std::string | m_crashMessage |
The crash message. More... | |
Module offers several fiber selection and coloring options depending on a hierarchical clustering.
Definition at line 55 of file WMClusterDisplay.h.
WMClusterDisplay::WMClusterDisplay | ( | ) |
constructor
Definition at line 69 of file WMClusterDisplay.cpp.
Referenced by factory().
|
virtual |
destructor
Definition at line 78 of file WMClusterDisplay.cpp.
|
private |
colors subclusters depending on slider settings
current | root cluster to start from |
Definition at line 888 of file WMClusterDisplay.cpp.
References WHierarchicalTree::colorCluster(), WHierarchicalTree::getChildren(), WHierarchicalTree::getClusterCount(), WHierarchicalTree::getLeafesForCluster(), WHierarchicalTree::getLevel(), wge::getNthHSVColor(), WHierarchicalTreeFibers::getOutputBitfield(), m_biggestClusterButtonsChanged, m_biggestClusters, m_fiberDrawable, m_propMinSizeToColor, m_propSubLevelsToColor, m_tree, setColor(), and WHierarchicalTree::size().
Referenced by handleColoringChanged(), and handleSelectedClusterChanged().
|
protectedvirtual |
Initialize the connectors this module is using.
Reimplemented from WModule.
Definition at line 106 of file WMClusterDisplay.cpp.
References WModule::addConnector(), WModule::connectors(), and m_fiberInput.
|
private |
helper function to initialize a fiber display node
Definition at line 1000 of file WMClusterDisplay.cpp.
References m_dataSet, m_fiberDrawable, m_fiberSelector, and m_rootNode.
Referenced by moduleMain().
|
private |
creates a label depending ont he current labeling setting
id | of the cluster to create the label for |
Definition at line 807 of file WMClusterDisplay.cpp.
References WHierarchicalTree::getCustomData(), m_labelMode, m_tree, WHierarchicalTree::size(), and string_utils::toString().
Referenced by updateWidgets().
|
private |
handles clicks into the dendrogram
pos | the mouse position during the click |
Definition at line 988 of file WMClusterDisplay.cpp.
References WDendrogramGeode::getClickedCluster(), WDendrogramGeode::inDendrogramArea(), m_dendrogramGeode, and m_propSelectedCluster.
Referenced by moduleMain().
|
virtual |
Due to the prototype design pattern used to build modules, this method returns a new instance of this method.
NOTE: it should never be initialized or modified in some other way. A simple new instance is required.
Implements WModule.
Definition at line 83 of file WMClusterDisplay.cpp.
References WMClusterDisplay().
|
virtual |
Gives back a description of this module.
Implements WPrototyped.
Definition at line 98 of file WMClusterDisplay.cpp.
|
virtual |
Gives back the name of this module.
Implements WPrototyped.
Definition at line 93 of file WMClusterDisplay.cpp.
|
virtual |
Get the icon for this module in XPM format.
Reimplemented from WModule.
Definition at line 89 of file WMClusterDisplay.cpp.
|
private |
function to handle user input
Definition at line 598 of file WMClusterDisplay.cpp.
References WHierarchicalTree::colorCluster(), WHierarchicalTree::findXBiggestClusters(), WHierarchicalTree::getClusterCount(), WHierarchicalTree::getLeafesForCluster(), wge::getNthHSVColor(), WHierarchicalTreeFibers::getOutputBitfield(), m_biggestClusterButtonsChanged, m_biggestClusters, m_dendrogramDirty, m_fiberDrawable, m_propMinSizeToColor, m_propSelectedCluster, m_propSubClusters, m_rootCluster, m_tree, m_widgetDirty, setColor(), and WHierarchicalTree::size().
Referenced by moduleMain().
|
private |
function to handle user input
Definition at line 621 of file WMClusterDisplay.cpp.
References colorClusters(), m_dendrogramDirty, m_propMinSizeToColor, m_propSelectedCluster, and m_propSubLevelsToColor.
Referenced by moduleMain().
|
private |
function to handle user input
|
private |
function to handle user input
Definition at line 629 of file WMClusterDisplay.cpp.
References m_dendrogramDirty.
Referenced by moduleMain().
|
private |
function to handle user input
Definition at line 550 of file WMClusterDisplay.cpp.
References WHierarchicalTree::getChildren(), WHierarchicalTree::getLevel(), WHierarchicalTree::getParent(), m_dendrogramDirty, m_propSelectedCluster, m_propSelectedClusterOffset, m_propSubLevelsToColor, m_rootCluster, m_tree, and WHierarchicalTree::size().
Referenced by moduleMain().
|
private |
function to handle user input
Definition at line 634 of file WMClusterDisplay.cpp.
References WHierarchicalTree::colorCluster(), WHierarchicalTreeFibers::getBestClustersFittingRoi(), WHierarchicalTree::getClusterCount(), WHierarchicalTree::getLeafesForCluster(), wge::getNthHSVColor(), WHierarchicalTreeFibers::getOutputBitfield(), WKernel::getRoiManager(), WKernel::getRunningKernel(), WModule::m_active, m_biggestClusterButtonsChanged, m_biggestClusters, m_dendrogramDirty, m_fiberDrawable, m_propBoxClusterRatio, m_propMaxSubClusters, m_rootCluster, m_tree, m_widgetDirty, and setColor().
Referenced by moduleMain().
|
private |
function to handle user input
Definition at line 533 of file WMClusterDisplay.cpp.
References colorClusters(), WHierarchicalTree::getLevel(), WHierarchicalTree::getMaxLevel(), WHierarchicalTreeFibers::getOutputBitfield(), m_biggestClusters, m_dendrogramDirty, m_fiberDrawable, m_propMinSizeToColor, m_propSelectedCluster, m_propSelectedClusterOffset, m_propSubLevelsToColor, m_rootCluster, m_tree, and WHierarchicalTree::size().
Referenced by moduleMain().
|
private |
function to handle user input
|
private |
inits the cluster navigation widgets
Definition at line 236 of file WMClusterDisplay.cpp.
References WKernel::getGraphicsEngine(), WKernel::getRunningKernel(), WModule::m_active, m_camera, m_oldViewHeight, m_oldViewWidth, m_rootNode, m_treeButtonList, m_wm, and updateWidgets().
Referenced by moduleMain().
|
private |
helper function to load and parse a tree file, the tree is stored in the member variable m_tree
fileName |
Definition at line 151 of file WMClusterDisplay.cpp.
References WHierarchicalTreeFibers::addCluster(), WHierarchicalTreeFibers::addLeaf(), WModule::debugLog(), WHierarchicalTree::getClusterCount(), WHierarchicalTree::getLeafCount(), m_fiberInput, m_tree, and readFile().
Referenced by moduleMain().
|
protectedvirtual |
Entry point after loading the module.
Runs in separate thread.
Implements WModule.
Definition at line 387 of file WMClusterDisplay.cpp.
References WConditionSet::add(), createFiberGeode(), dendrogramClick(), WHierarchicalTree::getClusterCount(), WKernel::getGraphicsEngine(), WHierarchicalTree::getLeafCount(), WHierarchicalTree::getLevel(), WHierarchicalTree::getMaxLevel(), WKernel::getRoiManager(), WKernel::getRunningKernel(), handleBiggestClustersChanged(), handleColoringChanged(), handleMinSizeChanged(), handleOffsetChanged(), handleRoiChanged(), handleSelectedClusterChanged(), initWidgets(), loadTreeAscii(), WModule::m_active, m_camera, m_dataSet, m_dendrogramDirty, m_dendrogramGeode, m_fiberInput, m_fiberSelector, WModule::m_moduleState, m_propBoxClusterRatio, m_propCondition, m_propDendrogramOffsetX, m_propDendrogramOffsetY, m_propDendrogramSizeX, m_propDendrogramSizeY, m_propMaxSubClusters, m_propMinSizeToColor, m_propResizeWithWindow, m_propSelectedCluster, m_propSelectedClusterOffset, m_propShowDendrogram, m_propShowTree, m_propSubClusters, m_propSubLevelsToColor, m_propTreeFile, m_readTriggerProp, m_rootCluster, m_rootNode, WThreadedRunner::m_shutdownFlag, m_tree, m_widgetDirty, WPVBaseTypes::PV_TRIGGER_READY, WPVBaseTypes::PV_TRIGGER_TRIGGERED, WModule::ready(), WConditionSet::setResetable(), WHierarchicalTreeFibers::setRoiBitField(), updateWidgets(), and WConditionSet::wait().
|
protectedvirtual |
Initialize the properties for this module.
Reimplemented from WModule.
Definition at line 325 of file WMClusterDisplay.cpp.
References WPropertyHelper::PC_PATHEXISTS::addTo(), WPathHelper::getAppPath(), m_groupDendrogram, m_propBoxClusterRatio, m_propCondition, m_propDendrogramOffsetX, m_propDendrogramOffsetY, m_propDendrogramSizeX, m_propDendrogramSizeY, WModule::m_properties, m_propMaxSubClusters, m_propMinSizeToColor, m_propResizeWithWindow, m_propSelectedCluster, m_propSelectedClusterOffset, m_propShowDendrogram, m_propShowTree, m_propSubClusters, m_propSubLevelsToColor, m_propTreeFile, m_readTriggerProp, WModule::properties(), and WPVBaseTypes::PV_TRIGGER_READY.
|
private |
helper function to read a text file
fileName |
Definition at line 118 of file WMClusterDisplay.cpp.
References WModule::debugLog().
Referenced by loadTreeAscii().
|
private |
sets a set of cluster to a single color
clusters | vector of clusters |
color | new color |
Definition at line 969 of file WMClusterDisplay.cpp.
References m_dataSet, and m_fiberSelector.
Referenced by colorClusters(), handleBiggestClustersChanged(), and handleRoiChanged().
|
private |
updates all the overlay widgets within the osg thread
Definition at line 660 of file WMClusterDisplay.cpp.
References createLabel(), WHierarchicalTree::getChildren(), WHierarchicalTree::getClusterCount(), WKernel::getGraphicsEngine(), WHierarchicalTree::getLevel(), WHierarchicalTree::getMaxLevel(), wge::getNthHSVColor(), WHierarchicalTree::getParent(), WKernel::getRunningKernel(), m_biggestClusterButtonsChanged, m_biggestClusters, m_biggestClustersButtonList, m_camera, m_dendrogramDirty, m_dendrogramGeode, m_oldViewHeight, m_oldViewWidth, m_propDendrogramOffsetX, m_propDendrogramOffsetY, m_propDendrogramSizeX, m_propDendrogramSizeY, m_propMinSizeToColor, m_propResizeWithWindow, m_propSelectedCluster, m_propShowDendrogram, m_propShowTree, m_tree, m_treeButtonList, m_widgetDirty, m_wm, and widgetClicked().
Referenced by initWidgets(), and moduleMain().
|
private |
function checks all on screen buttons if they have been clicked
Definition at line 822 of file WMClusterDisplay.cpp.
References WHierarchicalTree::getLevel(), WHierarchicalTree::getMaxLevel(), WHierarchicalTreeFibers::getOutputBitfield(), m_biggestClustersButtonList, m_fiberDrawable, m_labelMode, m_propSelectedCluster, m_propSelectedClusterOffset, m_rootCluster, m_tree, and m_treeButtonList.
Referenced by updateWidgets().
|
private |
true if the buttons for the biggest clusters need updating
Definition at line 368 of file WMClusterDisplay.h.
Referenced by colorClusters(), handleBiggestClustersChanged(), handleRoiChanged(), and updateWidgets().
|
private |
stores the currently selected biggest clusters
Definition at line 348 of file WMClusterDisplay.h.
Referenced by colorClusters(), handleBiggestClustersChanged(), handleRoiChanged(), handleSelectedClusterChanged(), and updateWidgets().
|
private |
list of buttons for biggest cluster selection
Definition at line 358 of file WMClusterDisplay.h.
Referenced by updateWidgets(), and widgetClicked().
|
private |
stores the camera object
Definition at line 360 of file WMClusterDisplay.h.
Referenced by initWidgets(), moduleMain(), and updateWidgets().
|
private |
pointer to dataSet to be able to access it throughout the whole module.
Definition at line 256 of file WMClusterDisplay.h.
Referenced by createFiberGeode(), moduleMain(), and setColor().
|
private |
true if the dendrogram needs redrawing
Definition at line 370 of file WMClusterDisplay.h.
Referenced by handleBiggestClustersChanged(), handleColoringChanged(), handleMinSizeChanged(), handleOffsetChanged(), handleRoiChanged(), handleSelectedClusterChanged(), moduleMain(), and updateWidgets().
|
private |
stores the dendrogram geode
Definition at line 362 of file WMClusterDisplay.h.
Referenced by dendrogramClick(), moduleMain(), and updateWidgets().
|
private |
stores pointer to the fiber drawer
Definition at line 341 of file WMClusterDisplay.h.
Referenced by colorClusters(), createFiberGeode(), handleBiggestClustersChanged(), handleRoiChanged(), handleSelectedClusterChanged(), and widgetClicked().
|
private |
Input connector for a fiber dataset.
Definition at line 254 of file WMClusterDisplay.h.
Referenced by connectors(), loadTreeAscii(), and moduleMain().
|
private |
Point to a fiber selector, which is an adapater between the roi manager and the this module.
Definition at line 336 of file WMClusterDisplay.h.
Referenced by createFiberGeode(), moduleMain(), and setColor().
|
private |
grouping the dendrogram manipulation properties
Definition at line 307 of file WMClusterDisplay.h.
Referenced by properties().
|
private |
indicates wheter the cluster number, size of custom data should be shown on labels
Definition at line 374 of file WMClusterDisplay.h.
Referenced by createLabel(), and widgetClicked().
|
private |
stores the old viewport resolution to check whether a resize happened
Definition at line 376 of file WMClusterDisplay.h.
Referenced by initWidgets(), and updateWidgets().
|
private |
stores the old viewport resolution to check whether a resize happened
Definition at line 378 of file WMClusterDisplay.h.
Referenced by initWidgets(), and updateWidgets().
|
private |
ratio of how many leafes of a cluster must be inside the roi setting to be considered
Definition at line 297 of file WMClusterDisplay.h.
Referenced by handleRoiChanged(), moduleMain(), and properties().
|
private |
A condition used to notify about changes in several properties.
Definition at line 261 of file WMClusterDisplay.h.
Referenced by moduleMain(), and properties().
|
private |
controls the horizontal origin of the dendrogram
Definition at line 321 of file WMClusterDisplay.h.
Referenced by moduleMain(), properties(), and updateWidgets().
|
private |
controls the vertical origin of the dendrogram
Definition at line 322 of file WMClusterDisplay.h.
Referenced by moduleMain(), properties(), and updateWidgets().
|
private |
controls the width of the dendrogram
Definition at line 319 of file WMClusterDisplay.h.
Referenced by moduleMain(), properties(), and updateWidgets().
|
private |
controls the height of the dendrogram
Definition at line 320 of file WMClusterDisplay.h.
Referenced by moduleMain(), properties(), and updateWidgets().
|
private |
number of clusters that are selected by the current roi setting and meet the ratio condition
Definition at line 292 of file WMClusterDisplay.h.
Referenced by handleRoiChanged(), moduleMain(), and properties().
|
private |
specifies a minimum size for a cluster so that too small cluster won't get an own color
Definition at line 287 of file WMClusterDisplay.h.
Referenced by colorClusters(), handleBiggestClustersChanged(), handleColoringChanged(), handleSelectedClusterChanged(), moduleMain(), properties(), and updateWidgets().
|
private |
if true position and size sliders will have no effect
Definition at line 317 of file WMClusterDisplay.h.
Referenced by moduleMain(), properties(), and updateWidgets().
|
private |
the currently selected cluster
Definition at line 266 of file WMClusterDisplay.h.
Referenced by dendrogramClick(), handleBiggestClustersChanged(), handleColoringChanged(), handleOffsetChanged(), handleSelectedClusterChanged(), moduleMain(), properties(), updateWidgets(), and widgetClicked().
|
private |
offset to the currently selected cluster, this allows tree navigation and return to the current cluster
Definition at line 272 of file WMClusterDisplay.h.
Referenced by handleOffsetChanged(), handleSelectedClusterChanged(), moduleMain(), properties(), and widgetClicked().
|
private |
controls the display of the dendrogram overlay
Definition at line 312 of file WMClusterDisplay.h.
Referenced by moduleMain(), properties(), and updateWidgets().
|
private |
controls the display of the tree navigation widget
Definition at line 302 of file WMClusterDisplay.h.
Referenced by moduleMain(), properties(), and updateWidgets().
|
private |
number of biggest sub cluster to determine and show
Definition at line 277 of file WMClusterDisplay.h.
Referenced by handleBiggestClustersChanged(), moduleMain(), and properties().
|
private |
number of subclusters to color differently
Definition at line 282 of file WMClusterDisplay.h.
Referenced by colorClusters(), handleColoringChanged(), handleOffsetChanged(), handleSelectedClusterChanged(), moduleMain(), and properties().
|
private |
The tree will be read from this file, i hope we will get a real load button some time.
Definition at line 326 of file WMClusterDisplay.h.
Referenced by moduleMain(), and properties().
|
private |
This property triggers the actual reading,.
Definition at line 325 of file WMClusterDisplay.h.
Referenced by moduleMain(), and properties().
|
private |
currently selected cluster + offset
Definition at line 372 of file WMClusterDisplay.h.
Referenced by handleBiggestClustersChanged(), handleOffsetChanged(), handleRoiChanged(), handleSelectedClusterChanged(), moduleMain(), and widgetClicked().
|
private |
The root node used for this modules graphics.
Definition at line 346 of file WMClusterDisplay.h.
Referenced by createFiberGeode(), initWidgets(), and moduleMain().
|
private |
stores the tree object
Definition at line 331 of file WMClusterDisplay.h.
Referenced by colorClusters(), createLabel(), handleBiggestClustersChanged(), handleOffsetChanged(), handleRoiChanged(), handleSelectedClusterChanged(), loadTreeAscii(), moduleMain(), updateWidgets(), and widgetClicked().
|
private |
list of buttons for the tree widget
Definition at line 353 of file WMClusterDisplay.h.
Referenced by initWidgets(), updateWidgets(), and widgetClicked().
|
private |
true if the widgets need redrawing
Definition at line 366 of file WMClusterDisplay.h.
Referenced by handleBiggestClustersChanged(), handleRoiChanged(), moduleMain(), and updateWidgets().
|
private |
stores a pointer to the window manager used for osg wdgets and overlay stuff
Definition at line 364 of file WMClusterDisplay.h.
Referenced by initWidgets(), and updateWidgets().