aimsdata  5.0.5
Neuroimaging data handling
aims::Connectivity Class Reference

Topology of a data container. More...

#include <aims/connectivity/connectivity.h>

Collaboration diagram for aims::Connectivity:

Public Types

enum  Type {
  CONNECTIVITY_4_XY, CONNECTIVITY_4_XZ, CONNECTIVITY_4_YZ, CONNECTIVITY_6_XYZ,
  CONNECTIVITY_8_XY, CONNECTIVITY_8_XZ, CONNECTIVITY_8_YZ, CONNECTIVITY_18_XYZ,
  CONNECTIVITY_26_XYZ, CONNECTIVITY_9_XY_Zminus, CONNECTIVITY_9_XY_Zplus, CONNECTIVITY_9_XZ_Yminus,
  CONNECTIVITY_9_XZ_Yplus, CONNECTIVITY_9_YZ_Xminus, CONNECTIVITY_9_YZ_Xplus, CONNECTIVITY_5_XminusY,
  CONNECTIVITY_5_XplusY, CONNECTIVITY_5_XYminus, CONNECTIVITY_5_XYplus, CONNECTIVITY_5_XminusZ,
  CONNECTIVITY_5_XplusZ, CONNECTIVITY_5_XZminus, CONNECTIVITY_5_XZplus, CONNECTIVITY_5_YminusZ,
  CONNECTIVITY_5_YplusZ, CONNECTIVITY_5_YZminus, CONNECTIVITY_5_YZplus, CONNECTIVITY_8_XYZ,
  CONNECTIVITY_4_XYdiag, CONNECTIVITY_4_XZdiag, CONNECTIVITY_4_YZdiag
}
 The different kinds of connectivity. More...
 

Public Member Functions

 Connectivity (int oline, int oslice, Type type)
 
virtual ~Connectivity ()
 
Type type () const
 Get the type of the connectivity. More...
 
std::string type_string () const
 Get the type of the connectivity. More...
 
int nbNeighbors () const
 Get the number of neighbors for that connectivity. More...
 
int offset (int n) const
 Get the linear offset of the nth element. More...
 
const Point3dxyzOffset (int n) const
 Get the X/Y/Z offsets of the nth element. More...
 
const Point3dfdir (int n) const
 Get the normalized directive vector of the nth element. More...
 
bool isNeighbor (const Point3d &offset)
 
Connectivityoperator= (const Connectivity &other)
 

Static Public Member Functions

static Type type_from_string (const std::string &)
 
static std::string type_to_string (Type)
 

Protected Member Functions

void setConnectivity ()
 Set the right connectivity according to the given type. More...
 
void setConnectivity_4_XY ()
 4-neighbor connectivity in (xy) plane More...
 
void setConnectivity_4_XZ ()
 4-neighbor connectivity in (xz) plane More...
 
void setConnectivity_4_YZ ()
 4-neighbor connectivity in (yz) plane More...
 
void setConnectivity_6_XYZ ()
 6-neighbor connectivity in (xyz) space More...
 
void setConnectivity_8_XY ()
 8-neighbor connectivity in (xy) plane More...
 
void setConnectivity_8_XZ ()
 8-neighbor connectivity in (xz) plane More...
 
void setConnectivity_8_YZ ()
 8-neighbor connectivity in (yz) plane More...
 
void setConnectivity_18_XYZ ()
 18-neighbor connectivity in (xyz) space More...
 
void setConnectivity_26_XYZ ()
 26-neighbor connectivity in (xyz) space More...
 
void setConnectivity_9_XY_Zminus ()
 9-neighbor connectivity in (xyz) inferior in z space More...
 
void setConnectivity_9_XY_Zplus ()
 9-neighbor connectivity in (xyz) superior in z space More...
 
void setConnectivity_9_XZ_Yminus ()
 9-neighbor connectivity in (xyz) inferior in y space More...
 
void setConnectivity_9_XZ_Yplus ()
 9-neighbor connectivity in (xyz) superior in y space More...
 
void setConnectivity_9_YZ_Xminus ()
 9-neighbor connectivity in (xyz) inferior in x space More...
 
void setConnectivity_9_YZ_Xplus ()
 9-neighbor connectivity in (xyz) superior in x space More...
 
void setConnectivity_5_XminusY ()
 5-neighbor connectivity in (xy) inferior in x plane More...
 
void setConnectivity_5_XplusY ()
 5-neighbor connectivity in (xy) superior in x plane More...
 
void setConnectivity_5_XYminus ()
 5-neighbor connectivity in (xy) inferior in y plane More...
 
void setConnectivity_5_XYplus ()
 5-neighbor connectivity in (xy) superior in y plane More...
 
void setConnectivity_5_XminusZ ()
 5-neighbor connectivity in (xz) inferior in x plane More...
 
void setConnectivity_5_XplusZ ()
 5-neighbor connectivity in (xz) superior in x plane More...
 
void setConnectivity_5_XZminus ()
 5-neighbor connectivity in (xz) inferior in z plane More...
 
void setConnectivity_5_XZplus ()
 5-neighbor connectivity in (xz) superior in z plane More...
 
void setConnectivity_5_YminusZ ()
 5-neighbor connectivity in (yz) inferior in y plane More...
 
void setConnectivity_5_YplusZ ()
 5-neighbor connectivity in (yz) superior in y plane More...
 
void setConnectivity_5_YZminus ()
 5-neighbor connectivity in (yz) inferior in z plane More...
 
void setConnectivity_5_YZplus ()
 5-neighbor connectivity in (yz) superior in z plane More...
 

Protected Attributes

int _xSize
 
int _sliceSize
 
Type _type
 Type of connectivity. More...
 
int _nbNeighbors
 Number of neighbors. More...
 
int * _offset
 Linear offset pointer. More...
 
Point3d_xyzOffset
 xyz offset pointer More...
 
std::set< Point3d, BucketMapLess_xyzOffsets
 xyz offsets as a searchcable set More...
 
Point3df_dir
 Normalized vectors for the different directions. More...
 

Detailed Description

Topology of a data container.

Definition at line 50 of file connectivity.h.

Member Enumeration Documentation

◆ Type

The different kinds of connectivity.

Enumerator
CONNECTIVITY_4_XY 
CONNECTIVITY_4_XZ 
CONNECTIVITY_4_YZ 
CONNECTIVITY_6_XYZ 
CONNECTIVITY_8_XY 
CONNECTIVITY_8_XZ 
CONNECTIVITY_8_YZ 
CONNECTIVITY_18_XYZ 
CONNECTIVITY_26_XYZ 
CONNECTIVITY_9_XY_Zminus 
CONNECTIVITY_9_XY_Zplus 
CONNECTIVITY_9_XZ_Yminus 
CONNECTIVITY_9_XZ_Yplus 
CONNECTIVITY_9_YZ_Xminus 
CONNECTIVITY_9_YZ_Xplus 
CONNECTIVITY_5_XminusY 
CONNECTIVITY_5_XplusY 
CONNECTIVITY_5_XYminus 
CONNECTIVITY_5_XYplus 
CONNECTIVITY_5_XminusZ 
CONNECTIVITY_5_XplusZ 
CONNECTIVITY_5_XZminus 
CONNECTIVITY_5_XZplus 
CONNECTIVITY_5_YminusZ 
CONNECTIVITY_5_YplusZ 
CONNECTIVITY_5_YZminus 
CONNECTIVITY_5_YZplus 
CONNECTIVITY_8_XYZ 
CONNECTIVITY_4_XYdiag 
CONNECTIVITY_4_XZdiag 
CONNECTIVITY_4_YZdiag 

Definition at line 54 of file connectivity.h.

Constructor & Destructor Documentation

◆ Connectivity()

aims::Connectivity::Connectivity ( int  oline,
int  oslice,
Type  type 
)

◆ ~Connectivity()

virtual aims::Connectivity::~Connectivity ( )
virtual

Member Function Documentation

◆ dir()

const Point3df& aims::Connectivity::dir ( int  n) const
inline

Get the normalized directive vector of the nth element.

Definition at line 106 of file connectivity.h.

References _dir.

◆ isNeighbor()

bool aims::Connectivity::isNeighbor ( const Point3d offset)
inline

Definition at line 107 of file connectivity.h.

References _xyzOffsets.

◆ nbNeighbors()

int aims::Connectivity::nbNeighbors ( ) const
inline

Get the number of neighbors for that connectivity.

Definition at line 100 of file connectivity.h.

References _nbNeighbors.

Referenced by aims::AimsConnectedComponent(), and aims::floodFill().

◆ offset()

int aims::Connectivity::offset ( int  n) const
inline

Get the linear offset of the nth element.

Definition at line 102 of file connectivity.h.

References _offset.

Referenced by aims::floodFill().

◆ operator=()

Connectivity& aims::Connectivity::operator= ( const Connectivity other)
inline

Definition at line 111 of file connectivity.h.

References _dir, _offset, _sliceSize, _type, _xSize, _xyzOffset, and setConnectivity().

◆ setConnectivity()

void aims::Connectivity::setConnectivity ( )
protected

Set the right connectivity according to the given type.

Referenced by operator=().

◆ setConnectivity_18_XYZ()

void aims::Connectivity::setConnectivity_18_XYZ ( )
protected

18-neighbor connectivity in (xyz) space

◆ setConnectivity_26_XYZ()

void aims::Connectivity::setConnectivity_26_XYZ ( )
protected

26-neighbor connectivity in (xyz) space

◆ setConnectivity_4_XY()

void aims::Connectivity::setConnectivity_4_XY ( )
protected

4-neighbor connectivity in (xy) plane

◆ setConnectivity_4_XZ()

void aims::Connectivity::setConnectivity_4_XZ ( )
protected

4-neighbor connectivity in (xz) plane

◆ setConnectivity_4_YZ()

void aims::Connectivity::setConnectivity_4_YZ ( )
protected

4-neighbor connectivity in (yz) plane

◆ setConnectivity_5_XminusY()

void aims::Connectivity::setConnectivity_5_XminusY ( )
protected

5-neighbor connectivity in (xy) inferior in x plane

◆ setConnectivity_5_XminusZ()

void aims::Connectivity::setConnectivity_5_XminusZ ( )
protected

5-neighbor connectivity in (xz) inferior in x plane

◆ setConnectivity_5_XplusY()

void aims::Connectivity::setConnectivity_5_XplusY ( )
protected

5-neighbor connectivity in (xy) superior in x plane

◆ setConnectivity_5_XplusZ()

void aims::Connectivity::setConnectivity_5_XplusZ ( )
protected

5-neighbor connectivity in (xz) superior in x plane

◆ setConnectivity_5_XYminus()

void aims::Connectivity::setConnectivity_5_XYminus ( )
protected

5-neighbor connectivity in (xy) inferior in y plane

◆ setConnectivity_5_XYplus()

void aims::Connectivity::setConnectivity_5_XYplus ( )
protected

5-neighbor connectivity in (xy) superior in y plane

◆ setConnectivity_5_XZminus()

void aims::Connectivity::setConnectivity_5_XZminus ( )
protected

5-neighbor connectivity in (xz) inferior in z plane

◆ setConnectivity_5_XZplus()

void aims::Connectivity::setConnectivity_5_XZplus ( )
protected

5-neighbor connectivity in (xz) superior in z plane

◆ setConnectivity_5_YminusZ()

void aims::Connectivity::setConnectivity_5_YminusZ ( )
protected

5-neighbor connectivity in (yz) inferior in y plane

◆ setConnectivity_5_YplusZ()

void aims::Connectivity::setConnectivity_5_YplusZ ( )
protected

5-neighbor connectivity in (yz) superior in y plane

◆ setConnectivity_5_YZminus()

void aims::Connectivity::setConnectivity_5_YZminus ( )
protected

5-neighbor connectivity in (yz) inferior in z plane

◆ setConnectivity_5_YZplus()

void aims::Connectivity::setConnectivity_5_YZplus ( )
protected

5-neighbor connectivity in (yz) superior in z plane

◆ setConnectivity_6_XYZ()

void aims::Connectivity::setConnectivity_6_XYZ ( )
protected

6-neighbor connectivity in (xyz) space

◆ setConnectivity_8_XY()

void aims::Connectivity::setConnectivity_8_XY ( )
protected

8-neighbor connectivity in (xy) plane

◆ setConnectivity_8_XZ()

void aims::Connectivity::setConnectivity_8_XZ ( )
protected

8-neighbor connectivity in (xz) plane

◆ setConnectivity_8_YZ()

void aims::Connectivity::setConnectivity_8_YZ ( )
protected

8-neighbor connectivity in (yz) plane

◆ setConnectivity_9_XY_Zminus()

void aims::Connectivity::setConnectivity_9_XY_Zminus ( )
protected

9-neighbor connectivity in (xyz) inferior in z space

◆ setConnectivity_9_XY_Zplus()

void aims::Connectivity::setConnectivity_9_XY_Zplus ( )
protected

9-neighbor connectivity in (xyz) superior in z space

◆ setConnectivity_9_XZ_Yminus()

void aims::Connectivity::setConnectivity_9_XZ_Yminus ( )
protected

9-neighbor connectivity in (xyz) inferior in y space

◆ setConnectivity_9_XZ_Yplus()

void aims::Connectivity::setConnectivity_9_XZ_Yplus ( )
protected

9-neighbor connectivity in (xyz) superior in y space

◆ setConnectivity_9_YZ_Xminus()

void aims::Connectivity::setConnectivity_9_YZ_Xminus ( )
protected

9-neighbor connectivity in (xyz) inferior in x space

◆ setConnectivity_9_YZ_Xplus()

void aims::Connectivity::setConnectivity_9_YZ_Xplus ( )
protected

9-neighbor connectivity in (xyz) superior in x space

◆ type()

Type aims::Connectivity::type ( ) const
inline

Get the type of the connectivity.

Definition at line 96 of file connectivity.h.

References _type.

◆ type_from_string()

static Type aims::Connectivity::type_from_string ( const std::string &  )
static

◆ type_string()

std::string aims::Connectivity::type_string ( ) const
inline

Get the type of the connectivity.

Definition at line 98 of file connectivity.h.

References _type, and type_to_string().

◆ type_to_string()

static std::string aims::Connectivity::type_to_string ( Type  )
static

Referenced by type_string().

◆ xyzOffset()

const Point3d& aims::Connectivity::xyzOffset ( int  n) const
inline

Get the X/Y/Z offsets of the nth element.

Definition at line 104 of file connectivity.h.

References _xyzOffset.

Referenced by aims::AimsConnectedComponent(), and aims::floodFill().

Member Data Documentation

◆ _dir

Point3df* aims::Connectivity::_dir
protected

Normalized vectors for the different directions.

Definition at line 152 of file connectivity.h.

Referenced by dir(), and operator=().

◆ _nbNeighbors

int aims::Connectivity::_nbNeighbors
protected

Number of neighbors.

Definition at line 144 of file connectivity.h.

Referenced by nbNeighbors().

◆ _offset

int* aims::Connectivity::_offset
protected

Linear offset pointer.

Definition at line 146 of file connectivity.h.

Referenced by offset(), and operator=().

◆ _sliceSize

int aims::Connectivity::_sliceSize
protected

Definition at line 140 of file connectivity.h.

Referenced by operator=().

◆ _type

Type aims::Connectivity::_type
protected

Type of connectivity.

Definition at line 142 of file connectivity.h.

Referenced by operator=(), type(), and type_string().

◆ _xSize

int aims::Connectivity::_xSize
protected

Definition at line 139 of file connectivity.h.

Referenced by operator=().

◆ _xyzOffset

Point3d* aims::Connectivity::_xyzOffset
protected

xyz offset pointer

Definition at line 148 of file connectivity.h.

Referenced by operator=(), and xyzOffset().

◆ _xyzOffsets

std::set<Point3d, BucketMapLess> aims::Connectivity::_xyzOffsets
protected

xyz offsets as a searchcable set

Definition at line 150 of file connectivity.h.

Referenced by isNeighbor().


The documentation for this class was generated from the following file: