i3dlib

Documentation

Position independent image filtering


Functions

template<class VOXELIN, class VOXELOUT>
void i3d::SemiThreshold (const Image3d< VOXELIN > &imgin, Image3d< VOXELOUT > &imgout, VOXELIN t)
template<class T>
void i3d::Threshold (Image3d< T > &img, T t1, T t2)
template<class VOXELIN, class VOXELOUT>
void i3d::Threshold (const Image3d< VOXELIN > &imgin, Image3d< VOXELOUT > &imgout, VOXELIN t1, VOXELIN t2)
template<class T, class OUTVOXEL, class TF>
void i3d::LocalThreshold (const Image3d< T > &in, Image3d< OUTVOXEL > &out, size_t nx, size_t ny, size_t nz, const TF &ThresholdFinder)

Function Documentation

template<class T, class OUTVOXEL, class TF>
I3D_DLLEXPORT void i3d::LocalThreshold ( const Image3d< T > &  ,
Image3d< OUTVOXEL > &  ,
size_t  nx,
size_t  ny,
size_t  nz,
const TF &   
)

Perform local thresholding on image in and store its result to binary image out. The image is devided to nx*ny*nz subregions and a threshold is computed for each such subregion by the threshold finder (see above). An individual threshold for each voxel is computed from the computed thresholds by trilinear interpolation.

template<class VOXELIN, class VOXELOUT>
I3D_DLLEXPORT void i3d::SemiThreshold ( const Image3d< VOXELIN > &  imgin,
Image3d< VOXELOUT > &  imgout,
VOXELIN  t 
)

Set intensities of voxels whose intensities are lower or equal to `t` to minimun. The rest ot htem is left unchanged.

template<class VOXELIN, class VOXELOUT>
I3D_DLLEXPORT void i3d::Threshold ( const Image3d< VOXELIN > &  imgin,
Image3d< VOXELOUT > &  imgout,
VOXELIN  t1,
VOXELIN  t2 = std::numeric_limits< VOXELIN >::max() 
)

Thresholding with creation of a new image, possibly of other voxel type.

template<class T>
I3D_DLLEXPORT void i3d::Threshold ( Image3d< T > &  i,
t1,
t2 = std::numeric_limits< T >::max() 
)

Set intensities of voxels whose intesities are >=t1 and <=t2 to maximum and the others to minimum of the voxel type