IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ipsdk::StructuringElementXYZInfo Class Reference

Concrete class for objects encapsulating informations about 3d binary structuring element objects. More...

#include <StructuringElementXYZInfo.h>

Inheritance diagram for ipsdk::StructuringElementXYZInfo:
ipsdk::BaseStructuringElementInfo ipsdk::BaseSerializationObject ipsdk::BaseDynamicObject

Public Member Functions

eStructuringElementType getStructuringElementType () const
 retrieve structuring element type associated to object
 
void init (const StructuringElementXYZ &seXYZ)
 initialization of object with a generic structuring element
 
void initEmpty ()
 initialization of object with an empty generic structuring element
 
void initSpherical (const ipReal64 radius)
 initialization of object has a filled spherical structuring element More...
 
void initCubic (const ipUInt32 halfSize)
 initialization of object has a filled cubic structuring element
 
void initRectangular (const ipUInt32 halfSizeX, const ipUInt32 halfSizeY, const ipUInt32 halfSizeZ)
 initialization of object has a filled rectangular structuring element
 
void initHalfLinear (const ipReal64 theta, const ipReal64 phi, const ipReal64 radius)
 initialization of object has a half linear structuring element More...
 
void initLinear (const ipReal64 theta, const ipReal64 phi, const ipReal64 radius)
 initialization of object has a symmetic linear structuring element More...
 
const eSEXYZSubTypegetSEXYZSubType () const
 retrieve binary structuring element 3d sub type More...
 
StructuringElementXYZConstPtr getStructuringElement () const
 retrieve structuring element associated to object More...
 
ipReal64 getRadius () const
 retrieve sphere radius associated to structuring element 3d More...
 
ipUInt32 getHalfSize () const
 retrieve cubic half size of structuring element 3d More...
 
const XYZOffsetCollgetDataColl () const
 retrieve data collection associated to object More...
 
Constructors and destructors
 StructuringElementXYZInfo ()
 
 ~StructuringElementXYZInfo ()
 
ipUInt32 getHalfSizeX () const
 retrieve rectangular half size of structuring element 3d More...
 
ipUInt32 getHalfSizeY () const
 retrieve rectangular half size of structuring element 3d More...
 
ipUInt32 getHalfSizeZ () const
 retrieve rectangular half size of structuring element 3d More...
 
ipReal64 getTheta () const
 retrieve orientation associated to structuring element 3d More...
 
ipReal64 getPhi () const
 retrieve orientation associated to structuring element 3d More...
 
bool insert (const ipInt32 offsetX, const ipInt32 offsetY, const ipInt32 offsetZ)
 insert an XYZOffset to the structuring element if it does not already belong to the structuring element More...
 
bool insert (const OffsetXYZ &offset)
 insert an XYZOffset to the structuring element if it does not already belong to the structuring element More...
 
bool remove (const ipInt32 offsetX, const ipInt32 offsetY, const ipInt32 offsetZ)
 remove an XYZOffset to the structuring element if the structuring element contains the offset More...
 
bool remove (const OffsetXYZ &offset)
 remove an XYZOffset to the structuring element if the structuring element contains the offset More...
 
- Public Member Functions inherited from ipsdk::BaseStructuringElementInfo
bool isInit () const
 retrieve object initialization flag
 
void clear ()
 delete all object data
 
 BaseStructuringElementInfo ()
 
virtual ~BaseStructuringElementInfo ()
 
- Public Member Functions inherited from ipsdk::BaseSerializationObject
 BaseSerializationObject ()
 Default constructor.
 
virtual ~BaseSerializationObject ()=0
 destructor
 
- Public Member Functions inherited from ipsdk::BaseDynamicObject
virtual const std::string & getClassName () const
 method allowing to retrieve object class name
 
virtual BaseDynamicObjectcreateNew () const =0
 method allowing to create new instance of current object type
 
virtual DynamicObjectPtr createShared () const =0
 method allowing to create new shared instance of current object type
 
virtual bool hasCopySupport () const =0
 check whether objet has copy support
 
virtual BaseDynamicObjectduplicate () const =0
 method allowing to duplicate current object More...
 
virtual DynamicObjectPtr duplicateShared () const =0
 method allowing shared duplication of current object More...
 
 BaseDynamicObject ()
 
virtual ~BaseDynamicObject ()=0
 

Protected Member Functions

void clearDerived ()
 clear method overloaded by derived class
 
- Protected Member Functions inherited from ipsdk::BaseStructuringElementInfo
void initBase ()
 base class initialization method
 
- Protected Member Functions inherited from ipsdk::BaseSerializationObject
virtual BoolResult write (BaseOArchive &ar) const
 method allowing to ensure serialization write part for object
 
virtual BoolResult read (BaseIArchive &ar)
 method allowing to ensure serialization read part for object
 
- Protected Member Functions inherited from ipsdk::BaseDynamicObject
virtual void initCtorCopy (const BaseDynamicObject &object)
 
virtual void copy (const BaseDynamicObject &object)
 method allowing to copy data from another object
 

Protected Attributes

eSEXYZSubType _seXYZSubType
 binary structuring element 3d sub type associated to object
 
ipReal64 _radius
 radius associated to structuring element 3d More...
 
ipUInt32 _halfSize
 cubic size of structuring element 3d More...
 
StructuringElementXYZPtr _pSEXYZ
 underlying structuring element associated to object
 
ipUInt32 _halfSizeX
 rectangular size of structuring element 3d More...
 
ipUInt32 _halfSizeY
 rectangular size of structuring element 3d More...
 
ipUInt32 _halfSizeZ
 rectangular size of structuring element 3d More...
 
ipReal64 _theta
 orientation associated to structuring element 3d More...
 
ipReal64 _phi
 orientation associated to structuring element 3d More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ipsdk::BaseSerializationObject
static ipUInt32 getVersion ()
 method allowing to retrieve class version information for serialization
 
- Static Public Member Functions inherited from ipsdk::BaseDynamicObject
static const std::string & getTypeName ()
 method allowing to retrieve name associated to class
 

Detailed Description

Concrete class for objects encapsulating informations about 3d binary structuring element objects.

Author
E.Noirfalise
Date
2014/11/25

Member Function Documentation

◆ initSpherical()

void ipsdk::StructuringElementXYZInfo::initSpherical ( const ipReal64  radius)

initialization of object has a filled spherical structuring element

Exceptions
ipsdk::IPSDKBaseDataExceptionif radius < 0

◆ initHalfLinear()

void ipsdk::StructuringElementXYZInfo::initHalfLinear ( const ipReal64  theta,
const ipReal64  phi,
const ipReal64  radius 
)

initialization of object has a half linear structuring element

Note
Resulting structuring element will be associated to all offsets along given direction enclosed into sphere defined by radius parameter
Exceptions
ipsdk::IPSDKBaseDataExceptionif radius < 0

◆ initLinear()

void ipsdk::StructuringElementXYZInfo::initLinear ( const ipReal64  theta,
const ipReal64  phi,
const ipReal64  radius 
)

initialization of object has a symmetic linear structuring element

Note
Resulting structuring element will be symmetric around central offset
Resulting structuring element will be associated to all offsets along given direction enclosed into sphere defined by radius parameter
Exceptions
ipsdk::IPSDKBaseDataExceptionif radius < 0

◆ getSEXYZSubType()

const eSEXYZSubType& ipsdk::StructuringElementXYZInfo::getSEXYZSubType ( ) const

retrieve binary structuring element 3d sub type

Exceptions
ipsdk::IPSDKBaseDataExceptionif isInit() == false

◆ getStructuringElement()

StructuringElementXYZConstPtr ipsdk::StructuringElementXYZInfo::getStructuringElement ( ) const

retrieve structuring element associated to object

Exceptions
ipsdk::IPSDKBaseDataExceptionif isInit() == false

◆ getRadius()

ipReal64 ipsdk::StructuringElementXYZInfo::getRadius ( ) const

retrieve sphere radius associated to structuring element 3d

Exceptions
ipsdk::IPSDKBaseDataExceptionif (getSEXYZSubType() != eSEXYZSubType::eSEXYZ_Spherical) && (getSEXYZSubType() != eSEXYZSubType::eSEXYZ_HalfLinear) && (getSEXYZSubType() != eSEXYZSubType::eSEXYZ_Linear)

◆ getHalfSize()

ipUInt32 ipsdk::StructuringElementXYZInfo::getHalfSize ( ) const

retrieve cubic half size of structuring element 3d

Exceptions
ipsdk::IPSDKBaseDataExceptionif (getSEXYZSubType() != eSEXYZSubType::eSEXYZ_Cubic)

◆ getHalfSizeX()

ipUInt32 ipsdk::StructuringElementXYZInfo::getHalfSizeX ( ) const

retrieve rectangular half size of structuring element 3d

Exceptions
ipsdk::IPSDKBaseDataExceptionif (getSEXYZSubType() != eSEXYZSubType::eSEXYZ_Rectangular)

◆ getHalfSizeY()

ipUInt32 ipsdk::StructuringElementXYZInfo::getHalfSizeY ( ) const

retrieve rectangular half size of structuring element 3d

Exceptions
ipsdk::IPSDKBaseDataExceptionif (getSEXYZSubType() != eSEXYZSubType::eSEXYZ_Rectangular)

◆ getHalfSizeZ()

ipUInt32 ipsdk::StructuringElementXYZInfo::getHalfSizeZ ( ) const

retrieve rectangular half size of structuring element 3d

Exceptions
ipsdk::IPSDKBaseDataExceptionif (getSEXYZSubType() != eSEXYZSubType::eSEXYZ_Rectangular)

◆ getTheta()

ipReal64 ipsdk::StructuringElementXYZInfo::getTheta ( ) const

retrieve orientation associated to structuring element 3d

Exceptions
ipsdk::IPSDKBaseDataExceptionif (getSEXYZSubType() != eSEXYZSubType::eSEXYZ_HalfLinear) && (getSEXYZSubType() != eSEXYZSubType::eSEXYZ_Linear)

◆ getPhi()

ipReal64 ipsdk::StructuringElementXYZInfo::getPhi ( ) const

retrieve orientation associated to structuring element 3d

Exceptions
ipsdk::IPSDKBaseDataExceptionif (getSEXYZSubType() != eSEXYZSubType::eSEXYZ_HalfLinear) && (getSEXYZSubType() != eSEXYZSubType::eSEXYZ_Linear)

◆ getDataColl()

const XYZOffsetColl& ipsdk::StructuringElementXYZInfo::getDataColl ( ) const

retrieve data collection associated to object

Exceptions
ipsdk::IPSDKBaseDataExceptionif isInit() == false

◆ insert() [1/2]

bool ipsdk::StructuringElementXYZInfo::insert ( const ipInt32  offsetX,
const ipInt32  offsetY,
const ipInt32  offsetZ 
)

insert an XYZOffset to the structuring element if it does not already belong to the structuring element

Returns
true if the offset has been correctly added
Exceptions
ipsdk::IPSDKBaseDataExceptionif isInit() == false

◆ insert() [2/2]

bool ipsdk::StructuringElementXYZInfo::insert ( const OffsetXYZ offset)

insert an XYZOffset to the structuring element if it does not already belong to the structuring element

Returns
true if the offset has been correctly added
Exceptions
ipsdk::IPSDKBaseDataExceptionif isInit() == false

◆ remove() [1/2]

bool ipsdk::StructuringElementXYZInfo::remove ( const ipInt32  offsetX,
const ipInt32  offsetY,
const ipInt32  offsetZ 
)

remove an XYZOffset to the structuring element if the structuring element contains the offset

Returns
false if the offset does not belong to the structuring element
Exceptions
ipsdk::IPSDKBaseDataExceptionif isInit() == false

◆ remove() [2/2]

bool ipsdk::StructuringElementXYZInfo::remove ( const OffsetXYZ offset)

remove an XYZOffset to the structuring element if the structuring element contains the offset

Returns
false if the offset does not belong to the structuring element
Exceptions
ipsdk::IPSDKBaseDataExceptionif isInit() == false

Member Data Documentation

◆ _radius

ipReal64 ipsdk::StructuringElementXYZInfo::_radius
protected

radius associated to structuring element 3d

Used if _seXYZSubType equals :

  • eSEXYZSubType::eSEXYZ_Spherical
  • eSEXYZSubType::eSEXYZ_HalfLinear
  • eSEXYZSubType::eSEXYZ_Linear

◆ _halfSize

ipUInt32 ipsdk::StructuringElementXYZInfo::_halfSize
protected

cubic size of structuring element 3d

Used if _seXYZSubType equals :

  • eSEXYZSubType::eSEXYZ_Cubic

◆ _halfSizeX

ipUInt32 ipsdk::StructuringElementXYZInfo::_halfSizeX
protected

rectangular size of structuring element 3d

Used if _seXYZSubType equals :

  • eSEXYZSubType::eSEXYZ_Rectangular

◆ _halfSizeY

ipUInt32 ipsdk::StructuringElementXYZInfo::_halfSizeY
protected

rectangular size of structuring element 3d

Used if _seXYZSubType equals :

  • eSEXYZSubType::eSEXYZ_Rectangular

◆ _halfSizeZ

ipUInt32 ipsdk::StructuringElementXYZInfo::_halfSizeZ
protected

rectangular size of structuring element 3d

Used if _seXYZSubType equals :

  • eSEXYZSubType::eSEXYZ_Rectangular

◆ _theta

ipReal64 ipsdk::StructuringElementXYZInfo::_theta
protected

orientation associated to structuring element 3d

Used if _seXYZSubType equals :

  • eSEXYZSubType::eSEXYZ_HalfLinear
  • eSEXYZSubType::eSEXYZ_Linear

◆ _phi

ipReal64 ipsdk::StructuringElementXYZInfo::_phi
protected

orientation associated to structuring element 3d

Used if _seXYZSubType equals :

  • eSEXYZSubType::eSEXYZ_HalfLinear
  • eSEXYZSubType::eSEXYZ_Linear

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