i3dlib

Documentation

Mathematical morphology


Functions

template<class T>
void i3d::Erosion (const Image3d< T > &in, Image3d< T > &out, const Neighbourhood &neib)
template<class T>
void i3d::Dilation (const Image3d< T > &in, Image3d< T > &out, const Neighbourhood &neib)
template<class T>
void i3d::Opening (Image3d< T > &in, const Neighbourhood &neib)
template<class T>
void i3d::Closing (Image3d< T > &in, const Neighbourhood &neib)
template<class T>
void i3d::TopHat (Image3d< T > &in, const Neighbourhood &neib)
template<class T1, class T2, class Pred>
void i3d::DiscreteDistance (const Image3d< T1 > &in, Image3d< T2 > &out, const Neighbourhood &neib, Pred p)
template<class T>
void i3d::HitOrMiss (const Image3d< T > &in, Image3d< T > &out, const Neighbourhood &nb, const Neighbourhood &n_w)
template<class T>
void i3d::Thinning (const Image3d< T > &in, Image3d< T > &out, const Neighbourhood &b1_par, const Neighbourhood &b2)
template<class T>
void i3d::Thicking (const Image3d< T > &in, Image3d< T > &out, const Neighbourhood &b1_par, const Neighbourhood &b2)
template<class T>
I3D_DLLEXPORT void i3d::h_Max (const Image3d< T > &img, T h, Image3d< T > &out, const Neighbourhood &neib)
template<class T>
void i3d::r_Max (const Image3d< T > &img, Image3d< T > &out, const Neighbourhood &neib, const T minVal)
template<class T>
void i3d::e_Max (const Image3d< T > &img, T h, Image3d< T > &out, const Neighbourhood &neib)
template<class T>
void i3d::Watershed (const Image3d< T > &in, Image3d< T > &out, const Neighbourhood &neib)

Function Documentation

template<class T>
I3D_DLLEXPORT void i3d::Closing ( Image3d< T > &  in,
const Neighbourhood &  neib 
)

Morphological Closing

template<class T>
I3D_DLLEXPORT void i3d::Dilation ( const Image3d< T > &  in,
Image3d< T > &  out,
const Neighbourhood &  neib 
)

Morphologial Dilation

template<class T1, class T2, class Pred>
I3D_DLLEXPORT void i3d::DiscreteDistance ( const Image3d< T1 > &  in,
Image3d< T2 > &  out,
const Neighbourhood &  neib,
Pred  p 
)

DiscreteDistance function needs 4 parameters:

  • in ... input image
  • out ... output (filtered) image
  • neib ... neighbourhood applied to each voxel
  • p ... condition, which must be hold in each voxel so that this voxel could be plugged into the process of computation.

template<class T>
I3D_DLLEXPORT void i3d::e_Max ( const Image3d< T > &  img,
h,
Image3d< T > &  out,
const Neighbourhood &  neib 
)

computes h-extended maxima EMAX_h(f) = RMAX(HMAX_h(f))

template<class T>
I3D_DLLEXPORT void i3d::Erosion ( const Image3d< T > &  in,
Image3d< T > &  out,
const Neighbourhood &  neib 
)

Morphological Erosion

template<class T>
I3D_DLLEXPORT void i3d::h_Max ( const Image3d< T > &  img,
h,
Image3d< T > &  out,
const Neighbourhood &  neib 
)

computes H-Maxima-suppress all maxima whose depth is smaller than h

template<class T>
I3D_DLLEXPORT void i3d::HitOrMiss ( const Image3d< T > &  in,
Image3d< T > &  out,
const Neighbourhood &  b,
const Neighbourhood &  w 
)

Morphological Mit Or Miss

template<class T>
I3D_DLLEXPORT void i3d::Opening ( Image3d< T > &  in,
const Neighbourhood &  neib 
)

Morphological Opening

template<class T>
I3D_DLLEXPORT void i3d::r_Max ( const Image3d< T > &  img,
Image3d< T > &  out,
const Neighbourhood &  neib,
const T  minVal = (T) 0 
)

computes regional maxima (based on Breen And Jones article) Attribute Openings Thinnings, and Granulometries

template<class T>
I3D_DLLEXPORT void i3d::Thicking ( const Image3d< T > &  in,
Image3d< T > &  out,
const Neighbourhood &  b,
const Neighbourhood &  w 
)

Morphological thicking

template<class T>
I3D_DLLEXPORT void i3d::Thinning ( const Image3d< T > &  in,
Image3d< T > &  out,
const Neighbourhood &  b,
const Neighbourhood &  w 
)

Morphological thinning

template<class T>
I3D_DLLEXPORT void i3d::TopHat ( Image3d< T > &  in,
const Neighbourhood &  neib 
)

Morphological TopHat

template<class T>
I3D_DLLEXPORT void i3d::Watershed ( const Image3d< T > &  in,
Image3d< T > &  out,
const Neighbourhood &  neib 
)

Morphological Watershed