EMAN2
|
#include <skeletonizer.h>
Public Member Functions | |
VolumeSkeletonizer (int pointRadius, int curveRadius, int surfaceRadius, int skeletonDirectionRadius=DEFAULT_SKELETON_DIRECTION_RADIUS) | |
~VolumeSkeletonizer () | |
Static Public Member Functions | |
static Volume * | PerformPureJuSkeletonization (Volume *imageVol, string outputPath, double threshold, int minCurveWidth, int minSurfaceWidth) |
static void | CleanUpSkeleton (Volume *skeleton, int minNumVoxels=4, float valueThreshold=0.5) |
static void | MarkSurfaces (Volume *skeleton) |
Static Private Member Functions | |
static bool | Are26Neighbors (Vec3< int > u, Vec3< int > v) |
static Volume * | GetJuSurfaceSkeleton (Volume *sourceVolume, Volume *preserve, double threshold) |
static Volume * | GetJuCurveSkeleton (Volume *sourceVolume, Volume *preserve, double threshold, bool is3D) |
static Volume * | GetJuTopologySkeleton (Volume *sourceVolume, Volume *preserve, double threshold) |
static void | PruneCurves (Volume *sourceVolume, int pruneLength) |
static void | PruneSurfaces (Volume *sourceVolume, int pruneLength) |
static void | VoxelOr (Volume *sourceAndDestVolume1, Volume *sourceVolume2) |
static Volume * | GetJuThinning (Volume *sourceVolume, Volume *preserve, double threshold, char thinningClass) |
Private Attributes | |
int | pointRadius |
int | curveRadius |
int | surfaceRadius |
int | skeletonDirectionRadius |
Static Private Attributes | |
static const char | THINNING_CLASS_SURFACE_PRESERVATION = 4 |
static const char | THINNING_CLASS_CURVE_PRESERVATION_2D = 3 |
static const char | THINNING_CLASS_CURVE_PRESERVATION = 2 |
static const char | THINNING_CLASS_POINT_PRESERVATION = 1 |
static const char | THINNING_CLASS_TOPOLOGY_PRESERVATION = 0 |
static const char | PRUNING_CLASS_PRUNE_SURFACES = 5 |
static const char | PRUNING_CLASS_PRUNE_CURVES = 6 |
static const char | PRUNING_CLASS_PRUNE_POINTS = 7 |
Definition at line 17 of file skeletonizer.h.
VolumeSkeletonizer::VolumeSkeletonizer | ( | int | pointRadius, |
int | curveRadius, | ||
int | surfaceRadius, | ||
int | skeletonDirectionRadius = DEFAULT_SKELETON_DIRECTION_RADIUS |
||
) |
Definition at line 20 of file skeletonizer.cpp.
References curveRadius, pointRadius, skeletonDirectionRadius, and surfaceRadius.
VolumeSkeletonizer::~VolumeSkeletonizer | ( | ) |
Definition at line 44 of file skeletonizer.cpp.
|
static |
Definition at line 94 of file skeletonizer.cpp.
References Are26Neighbors(), wustl_mm::SkeletonMaker::Volume::getDataAt(), wustl_mm::SkeletonMaker::Volume::getSizeX(), wustl_mm::SkeletonMaker::Volume::getSizeY(), wustl_mm::SkeletonMaker::Volume::getSizeZ(), EMAN::Vec3< Type >::set_value(), and wustl_mm::SkeletonMaker::Volume::setDataAt().
|
staticprivate |
Definition at line 200 of file skeletonizer.cpp.
References GetJuThinning(), THINNING_CLASS_CURVE_PRESERVATION, and THINNING_CLASS_CURVE_PRESERVATION_2D.
Referenced by PerformPureJuSkeletonization().
|
staticprivate |
Definition at line 205 of file skeletonizer.cpp.
References GetJuThinning(), and THINNING_CLASS_SURFACE_PRESERVATION.
Referenced by PerformPureJuSkeletonization().
|
staticprivate |
Definition at line 213 of file skeletonizer.cpp.
References wustl_mm::SkeletonMaker::Volume::curveSkeleton(), wustl_mm::SkeletonMaker::Volume::curveSkeleton2D(), wustl_mm::SkeletonMaker::Volume::getSizeX(), wustl_mm::SkeletonMaker::Volume::getSizeY(), wustl_mm::SkeletonMaker::Volume::getSizeZ(), wustl_mm::SkeletonMaker::Volume::skeleton(), wustl_mm::SkeletonMaker::Volume::surfaceSkeletonPres(), THINNING_CLASS_CURVE_PRESERVATION, THINNING_CLASS_CURVE_PRESERVATION_2D, THINNING_CLASS_SURFACE_PRESERVATION, and THINNING_CLASS_TOPOLOGY_PRESERVATION.
Referenced by GetJuCurveSkeleton(), GetJuSurfaceSkeleton(), and GetJuTopologySkeleton().
|
staticprivate |
Definition at line 209 of file skeletonizer.cpp.
References GetJuThinning(), and THINNING_CLASS_TOPOLOGY_PRESERVATION.
Referenced by PerformPureJuSkeletonization().
|
static |
Definition at line 63 of file skeletonizer.cpp.
References wustl_mm::SkeletonMaker::Volume::getDataAt(), wustl_mm::SkeletonMaker::Volume::getIndex(), wustl_mm::SkeletonMaker::Volume::getSizeX(), wustl_mm::SkeletonMaker::Volume::getSizeY(), wustl_mm::SkeletonMaker::Volume::getSizeZ(), wustl_mm::SkeletonMaker::Volume::setDataAt(), SURFACE_VAL, x, and y.
|
static |
Definition at line 148 of file skeletonizer.cpp.
References GetJuCurveSkeleton(), GetJuSurfaceSkeleton(), GetJuTopologySkeleton(), wustl_mm::SkeletonMaker::Volume::getSizeX(), wustl_mm::SkeletonMaker::Volume::getSizeY(), wustl_mm::SkeletonMaker::Volume::getSizeZ(), MAX_GAUSSIAN_FILTER_RADIUS, wustl_mm::SkeletonMaker::Volume::pad(), PruneCurves(), PruneSurfaces(), and VoxelOr().
|
staticprivate |
Definition at line 231 of file skeletonizer.cpp.
References wustl_mm::SkeletonMaker::Volume::erodeHelix().
Referenced by PerformPureJuSkeletonization().
|
staticprivate |
Definition at line 234 of file skeletonizer.cpp.
References wustl_mm::SkeletonMaker::Volume::erodeSheet().
Referenced by PerformPureJuSkeletonization().
|
staticprivate |
Definition at line 238 of file skeletonizer.cpp.
References wustl_mm::SkeletonMaker::Volume::getDataAt(), wustl_mm::SkeletonMaker::Volume::getSizeX(), wustl_mm::SkeletonMaker::Volume::getSizeY(), wustl_mm::SkeletonMaker::Volume::getSizeZ(), wustl_mm::SkeletonMaker::Volume::setDataAt(), x, and y.
Referenced by PerformPureJuSkeletonization().
|
private |
Definition at line 54 of file skeletonizer.h.
Referenced by VolumeSkeletonizer().
|
private |
Definition at line 53 of file skeletonizer.h.
Referenced by VolumeSkeletonizer().
|
staticprivate |
Definition at line 43 of file skeletonizer.h.
|
staticprivate |
Definition at line 44 of file skeletonizer.h.
|
staticprivate |
Definition at line 42 of file skeletonizer.h.
|
private |
Definition at line 56 of file skeletonizer.h.
Referenced by VolumeSkeletonizer().
|
private |
Definition at line 55 of file skeletonizer.h.
Referenced by VolumeSkeletonizer().
|
staticprivate |
Definition at line 39 of file skeletonizer.h.
Referenced by GetJuCurveSkeleton(), and GetJuThinning().
|
staticprivate |
Definition at line 38 of file skeletonizer.h.
Referenced by GetJuCurveSkeleton(), and GetJuThinning().
|
staticprivate |
Definition at line 40 of file skeletonizer.h.
|
staticprivate |
Definition at line 37 of file skeletonizer.h.
Referenced by GetJuSurfaceSkeleton(), and GetJuThinning().
|
staticprivate |
Definition at line 41 of file skeletonizer.h.
Referenced by GetJuThinning(), and GetJuTopologySkeleton().