OpenWalnut
1.4.0
|
A dataset that stores the segmentation of the brain into CSF, white and gray matter. More...
#include <WDataSetSegmentation.h>
Public Types | |
enum | matterType { whiteMatter = 0, grayMatter = 1, csf = 2 } |
Enumerator for the three different classification types. More... | |
Public Member Functions | |
WDataSetSegmentation (boost::shared_ptr< WValueSetBase > segmentation, boost::shared_ptr< WGrid > grid) | |
Constructs an instance out of a value set and a grid. | |
WDataSetSegmentation (boost::shared_ptr< WDataSetScalar > whiteMatter, boost::shared_ptr< WDataSetScalar > grayMatter, boost::shared_ptr< WDataSetScalar > cerebrospinalFluid) | |
Constructs an instance out of three WDataSetScalar. | |
WDataSetSegmentation () | |
Construct an empty and unusable instance. | |
virtual | ~WDataSetSegmentation () |
Destroys this DataSet instance. | |
float | getWMProbability (int x, int y, int z) const |
Returns the white matter probability for the given cell. | |
float | getGMProbability (int x, int y, int z) const |
Returns the gray matter probability for the given cell. | |
float | getCSFProbability (int x, int y, int z) const |
Returns the cerebrospinal fluid probability for the given cell. | |
virtual const std::string | getName () const |
Gets the name of this prototype. | |
virtual const std::string | getDescription () const |
Gets the description for this prototype. | |
virtual WDataSetSingle::SPtr | clone (boost::shared_ptr< WValueSetBase > newValueSet) const |
Creates a copy (clone) of this instance but allows one to change the valueset. | |
virtual WDataSetSingle::SPtr | clone (boost::shared_ptr< WGrid > newGrid) const |
Creates a copy (clone) of this instance but allows one to change the grid. | |
virtual WDataSetSingle::SPtr | clone () const |
Creates a copy (clone) of this instance. | |
Static Public Member Functions | |
static boost::shared_ptr < WPrototyped > | getPrototype () |
Returns a prototype instantiated with the true type of the deriving class. | |
Static Protected Attributes | |
static boost::shared_ptr < WPrototyped > | m_prototype = boost::shared_ptr< WPrototyped >() |
The prototype as singleton. | |
Static Private Member Functions | |
static boost::shared_ptr < WValueSetBase > | convert (boost::shared_ptr< WDataSetScalar > whiteMatter, boost::shared_ptr< WDataSetScalar > grayMatter, boost::shared_ptr< WDataSetScalar > cerebrospinalFluid) |
This helper function converts the probabilities given by three separate WDataSetScalars to one WValueSetBase. | |
template<typename T > | |
static std::vector< T > | copyDataSetsToArray (const std::vector< boost::shared_ptr< WDataSetScalar > > &dataSets) |
This helper function copies the content of several WDataSetScalars to one std::vector. |
A dataset that stores the segmentation of the brain into CSF, white and gray matter.
It also offers some convenience functions for this task.
Definition at line 45 of file WDataSetSegmentation.h.
Enumerator for the three different classification types.
Definition at line 161 of file WDataSetSegmentation.h.
WDataSetSegmentation::WDataSetSegmentation | ( | boost::shared_ptr< WValueSetBase > | segmentation, |
boost::shared_ptr< WGrid > | grid | ||
) |
Constructs an instance out of a value set and a grid.
segmentation | the value set to use |
grid | the grid which maps world space to the value set |
Definition at line 43 of file WDataSetSegmentation.cpp.
WDataSetSegmentation::WDataSetSegmentation | ( | boost::shared_ptr< WDataSetScalar > | whiteMatter, |
boost::shared_ptr< WDataSetScalar > | grayMatter, | ||
boost::shared_ptr< WDataSetScalar > | cerebrospinalFluid | ||
) |
Constructs an instance out of three WDataSetScalar.
whiteMatter | the value set to use |
grayMatter | the value set to use |
cerebrospinalFluid | the value set to use |
Definition at line 35 of file WDataSetSegmentation.cpp.
Construct an empty and unusable instance.
This is useful for prototypes.
Definition at line 50 of file WDataSetSegmentation.cpp.
Referenced by clone(), and getPrototype().
WDataSetSegmentation::~WDataSetSegmentation | ( | ) | [virtual] |
Destroys this DataSet instance.
Definition at line 56 of file WDataSetSegmentation.cpp.
WDataSetSingle::SPtr WDataSetSegmentation::clone | ( | boost::shared_ptr< WValueSetBase > | newValueSet | ) | const [virtual] |
Creates a copy (clone) of this instance but allows one to change the valueset.
Unlike copy construction, this is a very useful function if you want to keep the dynamic type of your dataset even if you just have a WDataSetSingle.
newValueSet | the new valueset. |
Reimplemented from WDataSetSingle.
Definition at line 71 of file WDataSetSegmentation.cpp.
References WDataSetSingle::getGrid(), and WDataSetSegmentation().
WDataSetSingle::SPtr WDataSetSegmentation::clone | ( | boost::shared_ptr< WGrid > | newGrid | ) | const [virtual] |
Creates a copy (clone) of this instance but allows one to change the grid.
Unlike copy construction, this is a very useful function if you want to keep the dynamic type of your dataset even if you just have a WDataSetSingle.
newGrid | the new grid. |
Reimplemented from WDataSetSingle.
Definition at line 76 of file WDataSetSegmentation.cpp.
References WDataSetSingle::getValueSet(), and WDataSetSegmentation().
WDataSetSingle::SPtr WDataSetSegmentation::clone | ( | ) | const [virtual] |
Creates a copy (clone) of this instance.
Unlike copy construction, this is a very useful function if you want to keep the dynamic type of your dataset even if you just have a WDataSetSingle.
Reimplemented from WDataSetSingle.
Definition at line 81 of file WDataSetSegmentation.cpp.
References WDataSetSingle::getGrid(), WDataSetSingle::getValueSet(), and WDataSetSegmentation().
boost::shared_ptr< WValueSetBase > WDataSetSegmentation::convert | ( | boost::shared_ptr< WDataSetScalar > | whiteMatter, |
boost::shared_ptr< WDataSetScalar > | grayMatter, | ||
boost::shared_ptr< WDataSetScalar > | cerebrospinalFluid | ||
) | [static, private] |
This helper function converts the probabilities given by three separate WDataSetScalars to one WValueSetBase.
whiteMatter | the probabilities for white matter. |
grayMatter | the probabilities for gray matter. |
cerebrospinalFluid | the probabilities for cerebrospinal fluid. |
Definition at line 135 of file WDataSetSegmentation.cpp.
std::vector< T > WDataSetSegmentation::copyDataSetsToArray | ( | const std::vector< boost::shared_ptr< WDataSetScalar > > & | dataSets | ) | [static, private] |
This helper function copies the content of several WDataSetScalars to one std::vector.
dataSets | the std::vector of data WDataSetScalars. |
Definition at line 203 of file WDataSetSegmentation.h.
References WDataSetSingle::getValueSet().
float WDataSetSegmentation::getCSFProbability | ( | int | x, |
int | y, | ||
int | z | ||
) | const |
Returns the cerebrospinal fluid probability for the given cell.
x,y,z | The coordinates in grid space. |
Definition at line 127 of file WDataSetSegmentation.cpp.
References WGridRegular3DTemplate< T >::getNbCoordsX(), WDataSetSingle::getValueAt(), and WDataSetSingle::m_grid.
const std::string WDataSetSegmentation::getDescription | ( | ) | const [virtual] |
Gets the description for this prototype.
Reimplemented from WDataSetSingle.
Definition at line 66 of file WDataSetSegmentation.cpp.
float WDataSetSegmentation::getGMProbability | ( | int | x, |
int | y, | ||
int | z | ||
) | const |
Returns the gray matter probability for the given cell.
x,y,z | The coordinates in grid space. |
Definition at line 119 of file WDataSetSegmentation.cpp.
References WGridRegular3DTemplate< T >::getNbCoordsX(), WDataSetSingle::getValueAt(), and WDataSetSingle::m_grid.
const std::string WDataSetSegmentation::getName | ( | ) | const [virtual] |
Gets the name of this prototype.
Reimplemented from WDataSetSingle.
Definition at line 61 of file WDataSetSegmentation.cpp.
boost::shared_ptr< WPrototyped > WDataSetSegmentation::getPrototype | ( | ) | [static] |
Returns a prototype instantiated with the true type of the deriving class.
Reimplemented from WDataSetSingle.
Definition at line 86 of file WDataSetSegmentation.cpp.
References m_prototype, and WDataSetSegmentation().
float WDataSetSegmentation::getWMProbability | ( | int | x, |
int | y, | ||
int | z | ||
) | const |
Returns the white matter probability for the given cell.
x,y,z | The coordinates in grid space. |
Definition at line 111 of file WDataSetSegmentation.cpp.
References WGridRegular3DTemplate< T >::getNbCoordsX(), WDataSetSingle::getValueAt(), and WDataSetSingle::m_grid.
boost::shared_ptr< WPrototyped > WDataSetSegmentation::m_prototype = boost::shared_ptr< WPrototyped >() [static, protected] |
The prototype as singleton.
Reimplemented from WDataSetSingle.
Definition at line 176 of file WDataSetSegmentation.h.
Referenced by getPrototype().