MDSTk Libraries
1.1.0
Medical Data Segmentation Toolkit
|
Canny edge detector in 3D space. More...
#include <mdsCanny.h>
Public Types | |
enum | { TEMPLATE_PARAMETER_IS_NOT_VOLUME = V::CLASS_VOLUME } |
Check that V is a volume. More... | |
enum | { BLOCK_SIZE = 128 } |
Size of the processing block (volume window). More... | |
typedef CVolumeEdgeDetector< V > | base |
Volume filter base. | |
typedef base::tVolume | tVolume |
Volume type. | |
typedef base::tVoxel | tVoxel |
Voxel type. | |
Public Member Functions | |
CVolumeCanny (double dT1, double dT2) | |
Default constructor. | |
void | getThresholds (double &dT1, double &dT2) |
Returns thresholds of the non-maximal suppression algorithm. | |
bool | operator() (const tVolume &SrcVolume, tVolume &DstVolume) |
Edge detection. | |
void | setThresholds (double dT1, double dT2) |
Sets thresholds of the non-maximal suppression algorithm. | |
~CVolumeCanny () | |
Destructor. | |
Protected Member Functions | |
bool | checkNeighbours (tVolume &Volume, tSize x, tSize y, tSize z, tVoxel T) |
Returns true if any neighbouring voxel has greater value than a given threshold. | |
void | hysteresis (tVolume &MagnitudeVolume, tVolume &Volume, tSize x, tSize y, tSize z, tSize XSize, tSize YSize, tSize ZSize, tVoxel T1, tVoxel T2) |
Hystersis controlled by two given thresholds. | |
void | nonMaxSuppression (const tVolume &GradVolumeX, const tVolume &GradVolumeY, const tVolume &GradVolumeZ, tVolume &MagnitudeVolume, tVolume &Volume, tSize x, tSize y, tSize z, tSize XSize, tSize YSize, tSize ZSize) |
Non-maximal suppression. | |
Protected Attributes | |
double | m_dT1 |
Thresholds used by hysteresis algorithm. | |
double | m_dT2 |
CVolumeGauss3Filter< tVolume > | m_GaussFilter |
Gaussian smoothing filter. | |
CVolumeSobelX< tVolume, CShiftZero2Gray > | m_SobelX |
Sobel operators. | |
CVolumeSobelY< tVolume, CShiftZero2Gray > | m_SobelY |
CVolumeSobelZ< tVolume, CShiftZero2Gray > | m_SobelZ |
Canny edge detector in 3D space.
typedef CVolumeEdgeDetector<V> mds::img::CVolumeCanny< V >::base |
Volume filter base.
typedef base::tVolume mds::img::CVolumeCanny< V >::tVolume |
Volume type.
Reimplemented from mds::img::CVolumeEdgeDetector< V >.
typedef base::tVoxel mds::img::CVolumeCanny< V >::tVoxel |
Voxel type.
Reimplemented from mds::img::CVolumeEdgeDetector< V >.
anonymous enum [inherited] |
anonymous enum |
mds::img::CVolumeCanny< V >::CVolumeCanny | ( | double | dT1, |
double | dT2 | ||
) |
Default constructor.
mds::img::CVolumeCanny< V >::~CVolumeCanny | ( | ) |
Destructor.
bool CVolumeCanny::checkNeighbours | ( | tVolume & | Volume, |
tSize | x, | ||
tSize | y, | ||
tSize | z, | ||
tVoxel | T | ||
) | [protected] |
Returns true if any neighbouring voxel has greater value than a given threshold.
void CVolumeCanny::getThresholds | ( | double & | dT1, |
double & | dT2 | ||
) |
Returns thresholds of the non-maximal suppression algorithm.
void CVolumeCanny::hysteresis | ( | tVolume & | MagnitudeVolume, |
tVolume & | Volume, | ||
tSize | x, | ||
tSize | y, | ||
tSize | z, | ||
tSize | XSize, | ||
tSize | YSize, | ||
tSize | ZSize, | ||
tVoxel | T1, | ||
tVoxel | T2 | ||
) | [protected] |
Hystersis controlled by two given thresholds.
void CVolumeCanny::nonMaxSuppression | ( | const tVolume & | GradVolumeX, |
const tVolume & | GradVolumeY, | ||
const tVolume & | GradVolumeZ, | ||
tVolume & | MagnitudeVolume, | ||
tVolume & | Volume, | ||
tSize | x, | ||
tSize | y, | ||
tSize | z, | ||
tSize | XSize, | ||
tSize | YSize, | ||
tSize | ZSize | ||
) | [protected] |
Non-maximal suppression.
bool CVolumeCanny::operator() | ( | const tVolume & | SrcVolume, |
tVolume & | DstVolume | ||
) | [virtual] |
Edge detection.
Implements mds::img::CVolumeEdgeDetector< V >.
void CVolumeCanny::setThresholds | ( | double | dT1, |
double | dT2 | ||
) |
Sets thresholds of the non-maximal suppression algorithm.
double mds::img::CVolumeCanny< V >::m_dT1 [protected] |
Thresholds used by hysteresis algorithm.
double mds::img::CVolumeCanny< V >::m_dT2 [protected] |
CVolumeGauss3Filter<tVolume> mds::img::CVolumeCanny< V >::m_GaussFilter [protected] |
Gaussian smoothing filter.
CVolumeSobelX<tVolume, CShiftZero2Gray> mds::img::CVolumeCanny< V >::m_SobelX [protected] |
Sobel operators.
CVolumeSobelY<tVolume, CShiftZero2Gray> mds::img::CVolumeCanny< V >::m_SobelY [protected] |
CVolumeSobelZ<tVolume, CShiftZero2Gray> mds::img::CVolumeCanny< V >::m_SobelZ [protected] |