35 #ifndef AIMS_DISTANCEMAP_CHAMFER_H
36 #define AIMS_DISTANCEMAP_CHAMFER_H
40 template <
typename T>
class Volume;
41 template <
typename T>
class VolumeRef;
48 #define AIMS_CHAMFER_DISTANCE_MAP 0
50 #define AIMS_CHAMFER_OUTSIDE 0
51 #define AIMS_CHAMFER_INSIDE 1
53 #define AIMS_CHAMFER_DOMAIN 32500
54 #define AIMS_CHAMFER_OUTSIDE_DOMAIN 32501
94 int xsize,
int ysize,
int zsize,
101 Connectivity::Type connectivity,
124 int xmask=3,
int ymask=3,
int zmask=3,
125 float mult_factor=50);
130 Connectivity::Type type);
135 int xsize=3,
int ysize=3,
int zsize=3,
136 float mult_factor=50);
141 int xsize=3,
int ysize=3,
int zsize=3,
142 float mult_factor=50);
#define AIMS_CHAMFER_OUTSIDE
carto::VolumeRef< int16_t > AimsChamferDistanceMap(const carto::rc_ptr< carto::Volume< int16_t > > &vol, int xmask=3, int ymask=3, int zmask=3, float mult_factor=50)
Return customized short distance map.
carto::VolumeRef< float > AimsFloatChamferDistanceMap(const carto::rc_ptr< carto::Volume< int16_t > > &vol, int side=AIMS_CHAMFER_OUTSIDE, int xsize=3, int ysize=3, int zsize=3, float mult_factor=50)
Return float Chamfer distance map.
void AimsCreateAndSplitConnectivityMask(const carto::rc_ptr< carto::Volume< int16_t > > &vol, Connectivity::Type connectivity, AimsDistmapMask &forward, AimsDistmapMask &backward)
carto::VolumeRef< int16_t > AimsConnectivityChamferDistanceMap(const carto::rc_ptr< carto::Volume< int16_t > > &vol, Connectivity::Type type)
Return Connectivity Chamfer Distance.
void AimsCreateAndSplitCubicMask(const carto::rc_ptr< carto::Volume< int16_t > > &vol, int xsize, int ysize, int zsize, AimsDistmapMask &forward, AimsDistmapMask &backward, float mult_factor)
void AimsBackwardSweepingWithBorder(carto::rc_ptr< carto::Volume< int16_t > > &vol, const AimsDistmapMask &mask, int borderlevel)
void AimsForwardSweepingWithBorder(carto::rc_ptr< carto::Volume< int16_t > > &vol, const AimsDistmapMask &mask, int borderlevel)
carto::VolumeRef< float > AimsFloatSignedChamferDistanceMap(const carto::rc_ptr< carto::Volume< int16_t > > &vol, int xsize=3, int ysize=3, int zsize=3, float mult_factor=50)
Return float distance map (minus outside object, plus inside object)
AimsDistmapMaskPoint(const AimsDistmapMaskPoint &mask)
AimsDistmapMaskPoint * FirstPoint
AimsDistmapMask(const AimsDistmapMask &mask)
AimsDistmapMask & operator=(const AimsDistmapMask &mask)
AimsDistmapMask(int xsize, int ysize, int zsize, int length)