![]() |
aimsalgo
5.0.5
Neuroimaging image processing
|
Propagate labels along a vector field. More...
#include <aims/distancemap/advection.h>
Public Member Functions | |
GradientAdvection () | |
virtual | ~GradientAdvection () |
void | setVerbose (bool=true) |
void | setPropagationThreshold (float) |
carto::VolumeRef< int16_t > | doit (const carto::VolumeRef< int16_t > &label_vol, const carto::VolumeRef< float > &gradX, const carto::VolumeRef< float > &gradY, const carto::VolumeRef< float > &gradZ, int16_t seedlabel) |
Propagate a region using an overlap criterion. More... | |
carto::VolumeRef< int16_t > | propagate_all_labels (const carto::VolumeRef< int16_t > &seeds, const carto::VolumeRef< float > &fieldx, const carto::VolumeRef< float > &fieldy, const carto::VolumeRef< float > &fieldz) |
Propagate labels using the local direcion of a vector field. More... | |
carto::VolumeRef< int16_t > | descend_scalar_field (const carto::VolumeRef< int16_t > &seeds, const carto::VolumeRef< float > &field) |
Propagate labels along the gradient of a scalar field. More... | |
Static Public Attributes | |
static const float | default_propagation_threshold |
Propagate labels along a vector field.
Labels are propagated in a front that grows from the seeds. Only the immediate neighbours of a voxel are considered when deciding whether to include it in a region. This makes the algorithm fast, but the direction of propagation is approximate.
Definition at line 57 of file advection.h.
aims::GradientAdvection::GradientAdvection | ( | ) |
|
virtual |
carto::VolumeRef<int16_t> aims::GradientAdvection::descend_scalar_field | ( | const carto::VolumeRef< int16_t > & | seeds, |
const carto::VolumeRef< float > & | field | ||
) |
Propagate labels along the gradient of a scalar field.
Each voxel is assigned the seed label of its maximum 26-neighbour.
carto::VolumeRef<int16_t> aims::GradientAdvection::doit | ( | const carto::VolumeRef< int16_t > & | label_vol, |
const carto::VolumeRef< float > & | gradX, | ||
const carto::VolumeRef< float > & | gradY, | ||
const carto::VolumeRef< float > & | gradZ, | ||
int16_t | seedlabel | ||
) |
Propagate a region using an overlap criterion.
carto::VolumeRef<int16_t> aims::GradientAdvection::propagate_all_labels | ( | const carto::VolumeRef< int16_t > & | seeds, |
const carto::VolumeRef< float > & | fieldx, | ||
const carto::VolumeRef< float > & | fieldy, | ||
const carto::VolumeRef< float > & | fieldz | ||
) |
Propagate labels using the local direcion of a vector field.
Each voxel is assigned the seed label of the 26-neighbour that the local field points to. More precisely, the field is normalized using the maximum norm, then rounded to the nearest integral voxel coordinates.
void aims::GradientAdvection::setPropagationThreshold | ( | float | ) |
void aims::GradientAdvection::setVerbose | ( | bool | = true | ) |
|
static |
Definition at line 106 of file advection.h.