MDSTk Libraries
1.1.0
Medical Data Segmentation Toolkit
|
Anisotropic filtering based on the diffusion process. More...
#include <mdsAnisotropic.h>
Public Types | |
enum | { TEMPLATE_PARAMETER_IS_NOT_VOLUME = V::CLASS_VOLUME } |
Check that type V is a volume. More... | |
enum | { BLOCK_SIZE = 32 } |
Size of the processing block (volume window). More... | |
typedef CVolumeFilter< V > | base |
Volume filter base. | |
typedef mds::base::CFunctor < bool, int, int > | tProgressFunc |
Progress observer (= functor). | |
typedef CProgressInitializer | tProgressInitializer |
Helper class which can be used to call methods beginProgress() and endProgress() automatically. | |
typedef base::tVolume | tVolume |
Volume type. | |
typedef base::tVoxel | tVoxel |
Volume voxel type. | |
Public Member Functions | |
void | beginProgress () |
This function must be called by the class realizing an operation before it starts. | |
CVolumeAnisotropicFilter (double dKappa, tSize NumOfIters=-1) | |
Constructor. | |
void | deregisterProgressFunc () |
Sets the default empty observer. | |
void | endProgress () |
The function must be called by the class realizing an operation every time the operation finishes. | |
tSize | getNumOfIters () const |
Returns number of iterations of diffusion process. | |
int | getProgressCount () const |
Returns current value of the internal progress value. | |
int | getProgressMax () const |
Returns the maximum allowed value of the internal progress counter. | |
bool | operator() (const tVolume &SrcVolume, tVolume &DstVolume) |
Filtering of input/source volume. | |
bool | progress (int iIncrement=1) |
Calls the registered observer. | |
void | registerProgressFunc (const tProgressFunc &Func) |
Sets observer/functor called to inform a calling process about the current state of the running operation. | |
void | setNumOfIters (tSize NumOfIters) |
Sets the number of iterations of diffusion process. | |
void | setProgressMax (int iValue) |
Sets the maximal counter value. | |
~CVolumeAnisotropicFilter () | |
Destructor. | |
Static Public Attributes | |
static const double | DT = 0.166666666666667 |
static const double | MIN_CHANGE = 0.1 |
Protected Member Functions | |
double | getDiffusionStrength (double dGrad) |
Returns value of the diffusion function. | |
Protected Attributes | |
double | m_dInvKappa |
double | m_dKappa |
Filter parameters. | |
tSize | m_NumOfIters |
Number of iterations of the diffusion process. |
Anisotropic filtering based on the diffusion process.
typedef CVolumeFilter<V> mds::img::CVolumeAnisotropicFilter< V >::base |
Volume filter base.
typedef mds::base::CFunctor<bool, int, int> mds::mod::CProgress::tProgressFunc [inherited] |
Progress observer (= functor).
typedef CProgressInitializer mds::mod::CProgress::tProgressInitializer [inherited] |
Helper class which can be used to call methods beginProgress() and endProgress() automatically.
Create static object of this type at the begining of a method that realizes an operation.
typedef base::tVolume mds::img::CVolumeAnisotropicFilter< V >::tVolume |
Volume type.
Reimplemented from mds::img::CVolumeFilter< V >.
typedef base::tVoxel mds::img::CVolumeAnisotropicFilter< V >::tVoxel |
Volume voxel type.
Reimplemented from mds::img::CVolumeFilter< V >.
anonymous enum [inherited] |
anonymous enum |
mds::img::CVolumeAnisotropicFilter< V >::CVolumeAnisotropicFilter | ( | double | dKappa, |
tSize | NumOfIters = -1 |
||
) |
Constructor.
mds::img::CVolumeAnisotropicFilter< V >::~CVolumeAnisotropicFilter | ( | ) |
Destructor.
void mds::mod::CProgress::beginProgress | ( | ) | [inherited] |
This function must be called by the class realizing an operation before it starts.
void mds::mod::CProgress::deregisterProgressFunc | ( | ) | [inherited] |
Sets the default empty observer.
void mds::mod::CProgress::endProgress | ( | ) | [inherited] |
The function must be called by the class realizing an operation every time the operation finishes.
double CVolumeAnisotropicFilter::getDiffusionStrength | ( | double | dGrad | ) | [protected] |
Returns value of the diffusion function.
tSize mds::img::CVolumeAnisotropicFilter< V >::getNumOfIters | ( | ) | const |
Returns number of iterations of diffusion process.
int mds::mod::CProgress::getProgressCount | ( | ) | const [inherited] |
Returns current value of the internal progress value.
int mds::mod::CProgress::getProgressMax | ( | ) | const [inherited] |
Returns the maximum allowed value of the internal progress counter.
bool CVolumeAnisotropicFilter::operator() | ( | const tVolume & | SrcVolume, |
tVolume & | DstVolume | ||
) | [virtual] |
Filtering of input/source volume.
Point filter responses are written to the destination volume.
Implements mds::img::CVolumeFilter< V >.
bool mds::mod::CProgress::progress | ( | int | iIncrement = 1 | ) | [inherited] |
Calls the registered observer.
void mds::mod::CProgress::registerProgressFunc | ( | const tProgressFunc & | Func | ) | [inherited] |
Sets observer/functor called to inform a calling process about the current state of the running operation.
void mds::img::CVolumeAnisotropicFilter< V >::setNumOfIters | ( | tSize | NumOfIters | ) |
Sets the number of iterations of diffusion process.
void mds::mod::CProgress::setProgressMax | ( | int | iValue | ) | [inherited] |
Sets the maximal counter value.
const double CVolumeAnisotropicFilter::DT = 0.166666666666667 [static] |
double mds::img::CVolumeAnisotropicFilter< V >::m_dInvKappa [protected] |
double mds::img::CVolumeAnisotropicFilter< V >::m_dKappa [protected] |
Filter parameters.
tSize mds::img::CVolumeAnisotropicFilter< V >::m_NumOfIters [protected] |
Number of iterations of the diffusion process.
const double CVolumeAnisotropicFilter::MIN_CHANGE = 0.1 [static] |