Generic Interface for signal data. More...
#include <ISignalData.h>
Public Member Functions | |
ISignalData (double sigma_signal, double sigma_mask) | |
virtual | ~ISignalData () |
virtual void | Interp3Signal (const vec_t &pos, std::vector< double > &signal) const =0 |
virtual double | Interp3ScalarMask (const vec_t &pos) const =0 |
virtual void | GetSeeds (const std::vector< int > &labels, std::vector< vec_t > &seeds) const =0 |
virtual const std::vector < vec_t > & | gradients () const =0 |
virtual const std::vector < double > & | GetBValues () const =0 |
virtual int | GetSignalDimension () const =0 |
virtual bool | LoadData (const std::string &data_file, const std::string &seed_file, const std::string &mask_file, const bool normalizedDWIData, const bool outputNormalizedDWIData)=0 |
Load all Data. | |
virtual bool | LoadSignal (const std::string &data_file, const bool normalizedDWIData)=0 |
vec_t | voxel () const |
virtual vec_t | dim () const =0 |
const vnl_matrix< double > | i2r () const |
const vnl_matrix< double > | r2i () const |
Protected Attributes | |
const double | _sigma_signal |
const double | _sigma_mask |
vec_t | _voxel |
vnl_matrix< double > | _r2i |
vnl_matrix< double > | _i2r |
Generic Interface for signal data.
Contains the function definitions for working with the diffusion and label data on which the rest of the code relies. It's current implementation is NrrdData.*
ISignalData::ISignalData | ( | double | sigma_signal, | |
double | sigma_mask | |||
) | [inline] |
Constructor
[in] | sigma_signal | the interpolation 'factor' for the signal |
[in] | sigma_mask | the interpolation 'factor' for the mask |
virtual ISignalData::~ISignalData | ( | ) | [inline, virtual] |
Deconstructor
virtual vec_t ISignalData::dim | ( | ) | const [pure virtual] |
Returns the dimensions of the image
Implemented in NrrdData.
virtual const std::vector<double>& ISignalData::GetBValues | ( | ) | const [pure virtual] |
Returns the vector of b values
Implemented in NrrdData.
virtual void ISignalData::GetSeeds | ( | const std::vector< int > & | labels, | |
std::vector< vec_t > & | seeds | |||
) | const [pure virtual] |
Get all the seed points.
Implemented in NrrdData.
virtual int ISignalData::GetSignalDimension | ( | ) | const [pure virtual] |
Return the size of the signal vector
Implemented in NrrdData.
virtual const std::vector<vec_t>& ISignalData::gradients | ( | ) | const [pure virtual] |
Returns the gradients.
Implemented in NrrdData.
const vnl_matrix<double> ISignalData::i2r | ( | ) | const [inline] |
Returns the ijk-to-RAS matrix
virtual double ISignalData::Interp3ScalarMask | ( | const vec_t & | pos | ) | const [pure virtual] |
Checks if a certian position is still within the brain mask.
Implemented in NrrdData.
virtual void ISignalData::Interp3Signal | ( | const vec_t & | pos, | |
std::vector< double > & | signal | |||
) | const [pure virtual] |
Gets the signal values at a specified position.
Implemented in NrrdData.
virtual bool ISignalData::LoadData | ( | const std::string & | data_file, | |
const std::string & | seed_file, | |||
const std::string & | mask_file, | |||
const bool | normalizedDWIData, | |||
const bool | outputNormalizedDWIData | |||
) | [pure virtual] |
Load all Data.
[in] | data_file | The path of the diffusion image |
[in] | seed_file | The path of the seeds, a binary label map containing the starting points |
[in] | mask_file | The path of the non-optional brain mask |
[in] | normalizedDWIData | If set to 'true', the data will not be normalized |
[in] | outputNormalizedDWIData | If set to 'true' the result of the normalization will be saved |
Loads all the data necessary to perform tractography
Implemented in NrrdData.
virtual bool ISignalData::LoadSignal | ( | const std::string & | data_file, | |
const bool | normalizedDWIData | |||
) | [pure virtual] |
const vnl_matrix<double> ISignalData::r2i | ( | ) | const [inline] |
Returns the RAS-to-ijk matrix
vec_t ISignalData::voxel | ( | ) | const [inline] |
Returns the voxel spacing
vnl_matrix<double> ISignalData::_i2r [protected] |
matrix for ijk to RAS conversion
vnl_matrix<double> ISignalData::_r2i [protected] |
matrix for RAS to ijk conversion
const double ISignalData::_sigma_mask [protected] |
sigma for gaussian interpolation of mask
const double ISignalData::_sigma_signal [protected] |
sigma for gaussian interpolation of signal
vec_t ISignalData::_voxel [protected] |
voxel size