aimsalgo 6.0.0
Neuroimaging image processing
chamfer.h File Reference
#include <aims/config/aimsalgo_config.h>
#include <aims/connectivity/connectivity_g.h>
Include dependency graph for chamfer.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  AimsDistmapMaskPoint
 
class  AimsDistmapMask
 
class  Connectivity
 

Namespaces

namespace  carto
 

Macros

#define AIMS_CHAMFER_DISTANCE_MAP   0
 
#define AIMS_CHAMFER_OUTSIDE   0
 
#define AIMS_CHAMFER_INSIDE   1
 
#define AIMS_CHAMFER_DOMAIN   32500
 
#define AIMS_CHAMFER_OUTSIDE_DOMAIN   32501
 

Functions

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 AimsCreateAndSplitConnectivityMask (const carto::rc_ptr< carto::Volume< int16_t > > &vol, Connectivity::Type connectivity, AimsDistmapMask &forward, AimsDistmapMask &backward)
 
void AimsForwardSweepingWithBorder (carto::rc_ptr< carto::Volume< int16_t > > &vol, const AimsDistmapMask &mask, int borderlevel)
 
void AimsBackwardSweepingWithBorder (carto::rc_ptr< carto::Volume< int16_t > > &vol, const AimsDistmapMask &mask, int borderlevel)
 
Chamfer distance map.

Two distance maps can be processed : the distance map of the outside of the object (give AIMS_CHAMFER_OUTSIDE argument), and the distance map of the inside of the object (give the AIMS_CHAMFER_INSIDE argument).

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< int16_t > AimsConnectivityChamferDistanceMap (const carto::rc_ptr< carto::Volume< int16_t > > &vol, Connectivity::Type type)
 Return Connectivity Chamfer Distance.
 
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.
 
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)
 

Macro Definition Documentation

◆ AIMS_CHAMFER_DISTANCE_MAP

#define AIMS_CHAMFER_DISTANCE_MAP   0

Definition at line 48 of file chamfer.h.

◆ AIMS_CHAMFER_DOMAIN

#define AIMS_CHAMFER_DOMAIN   32500

Definition at line 53 of file chamfer.h.

◆ AIMS_CHAMFER_INSIDE

#define AIMS_CHAMFER_INSIDE   1

Definition at line 51 of file chamfer.h.

◆ AIMS_CHAMFER_OUTSIDE

#define AIMS_CHAMFER_OUTSIDE   0

Definition at line 50 of file chamfer.h.

Referenced by AimsFloatChamferDistanceMap().

◆ AIMS_CHAMFER_OUTSIDE_DOMAIN

#define AIMS_CHAMFER_OUTSIDE_DOMAIN   32501

Definition at line 54 of file chamfer.h.

Function Documentation

◆ AimsBackwardSweepingWithBorder()

void AimsBackwardSweepingWithBorder ( carto::rc_ptr< carto::Volume< int16_t > > & vol,
const AimsDistmapMask & mask,
int borderlevel )

◆ AimsChamferDistanceMap()

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.

◆ AimsConnectivityChamferDistanceMap()

carto::VolumeRef< int16_t > AimsConnectivityChamferDistanceMap ( const carto::rc_ptr< carto::Volume< int16_t > > & vol,
Connectivity::Type type )

Return Connectivity Chamfer Distance.

◆ AimsCreateAndSplitConnectivityMask()

void AimsCreateAndSplitConnectivityMask ( const carto::rc_ptr< carto::Volume< int16_t > > & vol,
Connectivity::Type connectivity,
AimsDistmapMask & forward,
AimsDistmapMask & backward )

◆ AimsCreateAndSplitCubicMask()

void AimsCreateAndSplitCubicMask ( const carto::rc_ptr< carto::Volume< int16_t > > & vol,
int xsize,
int ysize,
int zsize,
AimsDistmapMask & forward,
AimsDistmapMask & backward,
float mult_factor )

◆ AimsFloatChamferDistanceMap()

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.

References AIMS_CHAMFER_OUTSIDE.

◆ AimsFloatSignedChamferDistanceMap()

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)

◆ AimsForwardSweepingWithBorder()

void AimsForwardSweepingWithBorder ( carto::rc_ptr< carto::Volume< int16_t > > & vol,
const AimsDistmapMask & mask,
int borderlevel )