OpenWalnut  1.5.0dev
Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
WMDeterministicFTMori Class Reference

This module implements the simple fiber tracking algorithm by Mori et al. More...

#include <WMDeterministicFTMori.h>

+ Inheritance diagram for WMDeterministicFTMori:
+ Collaboration diagram for WMDeterministicFTMori:

Public Member Functions

 WMDeterministicFTMori ()
 Standard Constructor. More...
 
virtual ~WMDeterministicFTMori ()
 Destructor. More...
 
virtual std::shared_ptr< WModulefactory () const
 Returns a new instance of this module. More...
 
virtual const char ** getXPMIcon () const
 Get the icon for this module in XPM format. More...
 
virtual const std::string getName () const
 Return the name of this module. More...
 
virtual const std::string getDescription () const
 Return the description of this module. More...
 
- Public Member Functions inherited from WModule
 WModule ()
 Constructs a new WModule instance. More...
 
virtual ~WModule ()
 Destructor. More...
 
const InputConnectorListgetInputConnectors () const
 Gives back input connectors. More...
 
std::shared_ptr< WModuleInputConnectorgetInputConnector (std::string name)
 Finds the named connector for the module. More...
 
std::shared_ptr< WModuleInputConnectorfindInputConnector (std::string name)
 Finds the named connector for the module. More...
 
const OutputConnectorListgetOutputConnectors () const
 Gives back output connectors. More...
 
std::shared_ptr< WModuleOutputConnectorgetOutputConnector (std::string name)
 Finds the named connector for the module. More...
 
std::shared_ptr< WModuleOutputConnectorfindOutputConnector (std::string name)
 Finds the named connector for the module. More...
 
std::shared_ptr< WModuleConnectorgetConnector (std::string name)
 Finds the named connector for the module. More...
 
std::shared_ptr< WModuleConnectorfindConnector (std::string name)
 Finds the named connector for the module. More...
 
std::shared_ptr< WPropertiesgetProperties () const
 Return a pointer to the properties object of the module. More...
 
std::shared_ptr< WPropertiesgetInformationProperties () const
 Return a pointer to the information properties object of the module. More...
 
const WBoolFlagisInitialized () const
 Determines whether the module instance is properly initialized. More...
 
const WBoolFlagisUseable () const
 Checks whether the module instance is ready to be used. More...
 
const WBoolFlagisAssociated () const
 Checks whether this module is associated with an container. More...
 
const WBoolFlagisReady () const
 Checks whether this module is ready. More...
 
const WBoolFlagisReadyOrCrashed () const
 This is the logical or of isReady and isCrashed. More...
 
const WBoolFlagisRunning () 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< WModuleContainergetAssociatedContainer () 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< WProgressCombinergetRootProgressCombiner ()
 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 WRequirementcheckRequirements () 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 WBoolFlagisCrashed () 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 ()
 The worker function, runs in its own thread. More...
 
virtual void connectors ()
 Initialize the module's connectors. More...
 
virtual void properties ()
 Initialize the module's properties. More...
 
virtual void activate ()
 Callback. 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 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 Types

typedef WMDeterministicFTMori This
 the class itself More...
 
typedef WThreadedPerVoxelOperation< float, 6, double, 4 > TPVOFloat
 the threaded per-voxel function for the eigenvector computation (float input) More...
 
typedef WThreadedPerVoxelOperation< double, 6, double, 4 > TPVODouble
 the threaded per-voxel function for the eigenvector computation (double input) More...
 
typedef WThreadedFunction< TPVOFloatEigenFunctionTypeFloat
 the thread pool type for the eigencomputation (float input) More...
 
typedef WThreadedFunction< TPVODoubleEigenFunctionTypeDouble
 the thread pool type for the eigencomputation (double input) More...
 
typedef WValueSet< double > FloatValueSetType
 the valueset type More...
 
typedef std::vector< WVector3dFiberType
 the fiber type More...
 
typedef wtracking::WThreadedTrackingFunction Tracking
 the threaded tracking functor More...
 
typedef WThreadedFunction< TrackingTrackingFuncType
 the tracking threadpool More...
 

Private Member Functions

TPVOFloat::OutTransmitType const eigenFuncFloat (TPVOFloat::TransmitType const &input)
 The function that computes the eigenvectors from the input tensor field. More...
 
TPVODouble::OutTransmitType const eigenFuncDouble (TPVODouble::TransmitType const &input)
 The function that computes the eigenvectors from the input tensor field. More...
 
boost::array< double, 4 > const computeFaAndEigenVec (WTensorSym< 2, 3, double > const &m) const
 The function that does the actual fa and eigenvector computations. More...
 
WVector3d getEigenDirection (std::shared_ptr< WDataSetSingle const > ds, wtracking::WTrackingUtility::JobType const &j)
 Calculate the direction of the eigenvector with largest magnitude. More...
 
void fiberVis (FiberType const &f)
 The fiber visitor. More...
 
void pointVis (WVector3d const &)
 The point visitor. More...
 
void resetTracking ()
 Reset the tracking function and abort the current one, if there is a current one. More...
 
void resetEigenFunction ()
 Resets the threaded function/threadpool. More...
 
void resetProgress (std::size_t todo)
 Resets the current progress to 0. More...
 

Private Attributes

std::shared_ptr< WConditionm_propCondition
 A condition for property changes. More...
 
std::shared_ptr< WDataSetSinglem_dataSet
 A pointer to the input tensor dataset. More...
 
std::shared_ptr< WDataSetFibersm_fiberSet
 The output dataset. Stores all fibers extracted from the input tensor field. More...
 
std::shared_ptr< WModuleOutputData< WDataSetFibers > > m_output
 The output Connector. More...
 
std::shared_ptr< WModuleInputData< WDataSetSingle > > m_input
 The input Connector. More...
 
std::shared_ptr< WDataSetSinglem_eigenField
 Stores eigenvectors and fractional anisotropy of the input dataset. More...
 
std::shared_ptr< TPVOFloatm_eigenOperationFloat
 the functor used for the calculation of the eigenvectors More...
 
std::shared_ptr< TPVODoublem_eigenOperationDouble
 the functor used for the calculation of the eigenvectors More...
 
std::shared_ptr< WProgressm_currentProgress
 the object that keeps track of the current progress More...
 
std::shared_ptr< WThreadedFunctionBasem_eigenPool
 The threadpool for the eigenvector and fa computations. More...
 
std::shared_ptr< TrackingFuncTypem_trackingPool
 The threadpool for the tracking. More...
 
WFiberAccumulator m_fiberAccu
 The fiber accumulator. More...
 
WPropDouble m_minFA
 The minimum FA property. More...
 
WPropInt m_minPoints
 The minimum number of points property. More...
 
WPropDouble m_minCos
 The minimum cosine property. More...
 
double m_currentMinFA
 The current minimum FA property. More...
 
std::size_t m_currentMinPoints
 The current minimum number of points property. More...
 
double m_currentMinCos
 The current minimum cosine property. 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< WModuleSPtr
 Shared pointer to a WModule. More...
 
typedef std::shared_ptr< const WModuleConstSPtr
 Shared pointer to a const WModule. More...
 
- Public Types inherited from WThreadedRunner
typedef std::shared_ptr< WThreadedRunnerSPtr
 Abbreviation to a shared_ptr to this type. More...
 
typedef std::shared_ptr< const WThreadedRunnerConstSPtr
 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< WPropertiesm_properties
 The property object for the module. More...
 
std::shared_ptr< WPropertiesm_infoProperties
 The property object for the module containing only module whose purpose is "PV_PURPOSE_INFORMNATION". More...
 
std::shared_ptr< WProgressCombinerm_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< WProgressm_readyProgress
 Progress indicator for the "ready" state. More...
 
WConditionSet m_moduleState
 The internal state of the module. More...
 
std::shared_ptr< WModuleContainerm_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...
 

Detailed Description

This module implements the simple fiber tracking algorithm by Mori et al.

S. Mori, B. Crain, V. Chacko, and P. van Zijl, "Three-dimensional tracking of axonal projections in the brain by magnetic resonance imaging", Annals of Neurology 45, pp. 265-269, 1999

Definition at line 61 of file WMDeterministicFTMori.h.

Member Typedef Documentation

◆ EigenFunctionTypeDouble

the thread pool type for the eigencomputation (double input)

Definition at line 136 of file WMDeterministicFTMori.h.

◆ EigenFunctionTypeFloat

the thread pool type for the eigencomputation (float input)

Definition at line 133 of file WMDeterministicFTMori.h.

◆ FiberType

typedef std::vector< WVector3d > WMDeterministicFTMori::FiberType
private

the fiber type

Definition at line 142 of file WMDeterministicFTMori.h.

◆ FloatValueSetType

the valueset type

Definition at line 139 of file WMDeterministicFTMori.h.

◆ This

the class itself

Definition at line 64 of file WMDeterministicFTMori.h.

◆ TPVODouble

typedef WThreadedPerVoxelOperation< double, 6, double, 4 > WMDeterministicFTMori::TPVODouble
private

the threaded per-voxel function for the eigenvector computation (double input)

Definition at line 130 of file WMDeterministicFTMori.h.

◆ TPVOFloat

typedef WThreadedPerVoxelOperation< float, 6, double, 4 > WMDeterministicFTMori::TPVOFloat
private

the threaded per-voxel function for the eigenvector computation (float input)

Definition at line 127 of file WMDeterministicFTMori.h.

◆ Tracking

the threaded tracking functor

Definition at line 145 of file WMDeterministicFTMori.h.

◆ TrackingFuncType

the tracking threadpool

Definition at line 148 of file WMDeterministicFTMori.h.

Constructor & Destructor Documentation

◆ WMDeterministicFTMori()

WMDeterministicFTMori::WMDeterministicFTMori ( )

Standard Constructor.

Definition at line 47 of file WMDeterministicFTMori.cpp.

Referenced by factory().

+ Here is the caller graph for this function:

◆ ~WMDeterministicFTMori()

WMDeterministicFTMori::~WMDeterministicFTMori ( )
virtual

Destructor.

Definition at line 58 of file WMDeterministicFTMori.cpp.

Member Function Documentation

◆ activate()

void WMDeterministicFTMori::activate ( )
protectedvirtual

Callback.

This function gets called whenever the modules "active" state changes.

Reimplemented from WModule.

Definition at line 236 of file WMDeterministicFTMori.cpp.

References WModule::activate().

+ Here is the call graph for this function:

◆ computeFaAndEigenVec()

boost::array< double, 4 > const WMDeterministicFTMori::computeFaAndEigenVec ( WTensorSym< 2, 3, double > const &  m) const
private

The function that does the actual fa and eigenvector computations.

Parameters
mThe tensor to calculate the fa and largest eigenvector from.
Returns
The largest eigenvector and fa (in this order).

Definition at line 371 of file WMDeterministicFTMori.cpp.

Referenced by eigenFuncDouble(), and eigenFuncFloat().

+ Here is the caller graph for this function:

◆ connectors()

void WMDeterministicFTMori::connectors ( )
protectedvirtual

Initialize the module's connectors.

Reimplemented from WModule.

Definition at line 199 of file WMDeterministicFTMori.cpp.

References WModule::addConnector(), WModule::connectors(), m_input, and m_output.

+ Here is the call graph for this function:

◆ eigenFuncDouble()

WMDeterministicFTMori::TPVODouble::OutTransmitType const WMDeterministicFTMori::eigenFuncDouble ( TPVODouble::TransmitType const &  input)
private

The function that computes the eigenvectors from the input tensor field.

Parameters
inputA subarray of a valueset that consists of the 6 floats that make up the tensor.
Returns
The components of the largest eigenvector and the fa value in a 4-double array.

Definition at line 431 of file WMDeterministicFTMori.cpp.

References computeFaAndEigenVec(), and m_currentProgress.

+ Here is the call graph for this function:

◆ eigenFuncFloat()

WMDeterministicFTMori::TPVOFloat::OutTransmitType const WMDeterministicFTMori::eigenFuncFloat ( TPVOFloat::TransmitType const &  input)
private

The function that computes the eigenvectors from the input tensor field.

Parameters
inputA subarray of a valueset that consists of the 6 floats that make up the tensor.
Returns
The components of the largest eigenvector and the fa value in a 4-double array.

Definition at line 416 of file WMDeterministicFTMori.cpp.

References computeFaAndEigenVec(), and m_currentProgress.

+ Here is the call graph for this function:

◆ factory()

std::shared_ptr< WModule > WMDeterministicFTMori::factory ( ) const
virtual

Returns a new instance of this module.

Returns
A new instance of this module.

Implements WModule.

Definition at line 62 of file WMDeterministicFTMori.cpp.

References WMDeterministicFTMori().

+ Here is the call graph for this function:

◆ fiberVis()

void WMDeterministicFTMori::fiberVis ( FiberType const &  f)
private

The fiber visitor.

Adds a fiber to the result data and increment the progress.

Parameters
fThe fiber.

Definition at line 358 of file WMDeterministicFTMori.cpp.

References WFiberAccumulator::add(), m_currentMinPoints, m_currentProgress, and m_fiberAccu.

Referenced by resetTracking().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getDescription()

const std::string WMDeterministicFTMori::getDescription ( ) const
virtual

Return the description of this module.

Returns
This module's description.

Implements WPrototyped.

Definition at line 77 of file WMDeterministicFTMori.cpp.

◆ getEigenDirection()

WVector3d WMDeterministicFTMori::getEigenDirection ( std::shared_ptr< WDataSetSingle const >  ds,
wtracking::WTrackingUtility::JobType const &  j 
)
private

Calculate the direction of the eigenvector with largest magnitude.

Parameters
dsThe dataset.
jThe job, that means the current position and direction of the last fiber segment.
Returns
The direction to follow.

Definition at line 317 of file WMDeterministicFTMori.cpp.

References m_currentMinCos, and m_currentMinFA.

Referenced by resetTracking().

+ Here is the caller graph for this function:

◆ getName()

const std::string WMDeterministicFTMori::getName ( ) const
virtual

Return the name of this module.

Returns
The name of this module.

Implements WPrototyped.

Definition at line 72 of file WMDeterministicFTMori.cpp.

◆ getXPMIcon()

const char ** WMDeterministicFTMori::getXPMIcon ( ) const
virtual

Get the icon for this module in XPM format.

Returns
The icon.

Reimplemented from WModule.

Definition at line 67 of file WMDeterministicFTMori.cpp.

◆ moduleMain()

void WMDeterministicFTMori::moduleMain ( )
protectedvirtual

◆ pointVis()

void WMDeterministicFTMori::pointVis ( WVector3d const &  )
private

The point visitor.

Does nothing.

Definition at line 367 of file WMDeterministicFTMori.cpp.

Referenced by resetTracking().

+ Here is the caller graph for this function:

◆ properties()

void WMDeterministicFTMori::properties ( )
protectedvirtual

Initialize the module's properties.

Reimplemented from WModule.

Definition at line 215 of file WMDeterministicFTMori.cpp.

References m_minCos, m_minFA, m_minPoints, m_propCondition, WModule::m_properties, and WModule::properties().

+ Here is the call graph for this function:

◆ resetEigenFunction()

void WMDeterministicFTMori::resetEigenFunction ( )
private

Resets the threaded function/threadpool.

Definition at line 241 of file WMDeterministicFTMori.cpp.

References WModule::debugLog(), m_dataSet, m_eigenOperationDouble, m_eigenOperationFloat, m_eigenPool, WModule::m_moduleState, and WConditionSet::remove().

Referenced by moduleMain().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ resetProgress()

void WMDeterministicFTMori::resetProgress ( std::size_t  todo)
private

Resets the current progress to 0.

Parameters
todoThe number of operations of the new progress.

Definition at line 446 of file WMDeterministicFTMori.cpp.

References m_currentProgress, and WModule::m_progress.

Referenced by moduleMain().

+ Here is the caller graph for this function:

◆ resetTracking()

void WMDeterministicFTMori::resetTracking ( )
private

Reset the tracking function and abort the current one, if there is a current one.

Definition at line 284 of file WMDeterministicFTMori.cpp.

References WConditionSet::add(), WFiberAccumulator::clear(), WModule::debugLog(), fiberVis(), wtracking::WTrackingUtility::followToNextVoxel(), getEigenDirection(), m_eigenField, m_fiberAccu, WModule::m_moduleState, m_trackingPool, pointVis(), and WConditionSet::remove().

+ Here is the call graph for this function:

Member Data Documentation

◆ m_currentMinCos

double WMDeterministicFTMori::m_currentMinCos
private

The current minimum cosine property.

Definition at line 266 of file WMDeterministicFTMori.h.

Referenced by getEigenDirection().

◆ m_currentMinFA

double WMDeterministicFTMori::m_currentMinFA
private

The current minimum FA property.

Definition at line 260 of file WMDeterministicFTMori.h.

Referenced by getEigenDirection().

◆ m_currentMinPoints

std::size_t WMDeterministicFTMori::m_currentMinPoints
private

The current minimum number of points property.

Definition at line 263 of file WMDeterministicFTMori.h.

Referenced by fiberVis().

◆ m_currentProgress

std::shared_ptr< WProgress > WMDeterministicFTMori::m_currentProgress
private

the object that keeps track of the current progress

Definition at line 239 of file WMDeterministicFTMori.h.

Referenced by eigenFuncDouble(), eigenFuncFloat(), fiberVis(), moduleMain(), and resetProgress().

◆ m_dataSet

std::shared_ptr< WDataSetSingle > WMDeterministicFTMori::m_dataSet
private

A pointer to the input tensor dataset.

Definition at line 218 of file WMDeterministicFTMori.h.

Referenced by moduleMain(), and resetEigenFunction().

◆ m_eigenField

std::shared_ptr< WDataSetSingle > WMDeterministicFTMori::m_eigenField
private

Stores eigenvectors and fractional anisotropy of the input dataset.

Definition at line 230 of file WMDeterministicFTMori.h.

Referenced by resetTracking().

◆ m_eigenOperationDouble

std::shared_ptr< TPVODouble > WMDeterministicFTMori::m_eigenOperationDouble
private

the functor used for the calculation of the eigenvectors

Definition at line 236 of file WMDeterministicFTMori.h.

Referenced by moduleMain(), and resetEigenFunction().

◆ m_eigenOperationFloat

std::shared_ptr< TPVOFloat > WMDeterministicFTMori::m_eigenOperationFloat
private

the functor used for the calculation of the eigenvectors

Definition at line 233 of file WMDeterministicFTMori.h.

Referenced by moduleMain(), and resetEigenFunction().

◆ m_eigenPool

std::shared_ptr< WThreadedFunctionBase > WMDeterministicFTMori::m_eigenPool
private

The threadpool for the eigenvector and fa computations.

Definition at line 242 of file WMDeterministicFTMori.h.

Referenced by moduleMain(), and resetEigenFunction().

◆ m_fiberAccu

WFiberAccumulator WMDeterministicFTMori::m_fiberAccu
private

The fiber accumulator.

Definition at line 248 of file WMDeterministicFTMori.h.

Referenced by fiberVis(), moduleMain(), and resetTracking().

◆ m_fiberSet

std::shared_ptr< WDataSetFibers > WMDeterministicFTMori::m_fiberSet
private

The output dataset. Stores all fibers extracted from the input tensor field.

Definition at line 221 of file WMDeterministicFTMori.h.

Referenced by moduleMain().

◆ m_input

std::shared_ptr< WModuleInputData< WDataSetSingle > > WMDeterministicFTMori::m_input
private

The input Connector.

Definition at line 227 of file WMDeterministicFTMori.h.

Referenced by connectors(), and moduleMain().

◆ m_minCos

WPropDouble WMDeterministicFTMori::m_minCos
private

The minimum cosine property.

Definition at line 257 of file WMDeterministicFTMori.h.

Referenced by properties().

◆ m_minFA

WPropDouble WMDeterministicFTMori::m_minFA
private

The minimum FA property.

Definition at line 251 of file WMDeterministicFTMori.h.

Referenced by properties().

◆ m_minPoints

WPropInt WMDeterministicFTMori::m_minPoints
private

The minimum number of points property.

Definition at line 254 of file WMDeterministicFTMori.h.

Referenced by properties().

◆ m_output

std::shared_ptr< WModuleOutputData< WDataSetFibers > > WMDeterministicFTMori::m_output
private

The output Connector.

Definition at line 224 of file WMDeterministicFTMori.h.

Referenced by connectors(), and moduleMain().

◆ m_propCondition

std::shared_ptr< WCondition > WMDeterministicFTMori::m_propCondition
private

A condition for property changes.

Definition at line 215 of file WMDeterministicFTMori.h.

Referenced by moduleMain(), and properties().

◆ m_trackingPool

std::shared_ptr< TrackingFuncType > WMDeterministicFTMori::m_trackingPool
private

The threadpool for the tracking.

Definition at line 245 of file WMDeterministicFTMori.h.

Referenced by moduleMain(), and resetTracking().


The documentation for this class was generated from the following files: