Fovia's C++ Client/Server API
Public Member Functions | Public Attributes | List of all members
SEGMENTATION_PARAMS Struct Reference

Public Member Functions

SEGMENTATION_PARAMSoperator= (const SEGMENTATION_PARAMS &r)
 
 SEGMENTATION_PARAMS (const SEGMENTATION_PARAMS &r)
 

Public Attributes

signed int cbSize
 
signed int ConnectivityMax
 
signed int ConnectivityMin
 
VECTOR3D ConnectivityOrigin
 
double ConnectivityRadius
 
void * CustomKernelParamsPtr
 
signed int CustomKernelParamsSize
 
signed int GradientNeighborhoodSize
 
double GradientThreshold
 
signed int PostCloseSize
 
signed int PostDilateCount
 
signed int PostErodeCount
 
signed int PostOpenSize
 
ENUM_SEGKERNEL SegAlgoKernel
 
signed int StepSize
 

Detailed Description

This segmentation parameters object is used to specify common segmentation parameters used in functions defined in the IVolumeSegmentation interface.

Member Data Documentation

signed int SEGMENTATION_PARAMS::cbSize

Structure size.

signed int SEGMENTATION_PARAMS::ConnectivityMax

Max Voxel Value to allow to grow into (ALWAYS in effect independant of AlgoKernel choosen, should be greater than min and realitically within valid voxel values but that is not checked)

signed int SEGMENTATION_PARAMS::ConnectivityMin

Min Voxel Value to allow to grow into (ALWAYS in effect independant of AlgoKernel choosen, should be less than max and realitically within valid voxel values but that is not checked)

VECTOR3D SEGMENTATION_PARAMS::ConnectivityOrigin

Starting point to grow from in volume coordiantes where (0,0,0) is center of volume (ALWAYS in effect independant of AlgoKernel choosen, should be within the volume that is not checked)

double SEGMENTATION_PARAMS::ConnectivityRadius

Radius from the seed point to allow growing (ALWAYS in effect independant of AlgoKernel choosen, valid values 1 and above)

void* SEGMENTATION_PARAMS::CustomKernelParamsPtr

If custom kernel is utilized, this will point to data that can be set by caller for the custom kernel to use (see description in custom kernel documentation)

signed int SEGMENTATION_PARAMS::CustomKernelParamsSize

Size of the above data buffer.

signed int SEGMENTATION_PARAMS::GradientNeighborhoodSize

Size of subcube used to calculate average gradient over (e.g. 3 will define a 3x3x3 subcube centered at current voxel, 3 is the min and it quickly slows down, don't go higher than 9)

double SEGMENTATION_PARAMS::GradientThreshold

Unitless parameter controlling strength of gradient that the growing will cross over (Valid value range is [-1,1], -1 include less and +1 includes more).

signed int SEGMENTATION_PARAMS::PostCloseSize

Size of Close (Dilate 'n' times followed by Erode 'n' times, closes volumetric holes at the expense of smoothing the outside)

signed int SEGMENTATION_PARAMS::PostDilateCount

Number of layers to Dilate after SegAlgoKernel finishes (occurs before Erodes, if you want to Close/Open use that parameter)

signed int SEGMENTATION_PARAMS::PostErodeCount

Number of layers to Erode after SegAlgoKernel finishes (occurs after Dilates, if you want to Close/Open use that parameter)

signed int SEGMENTATION_PARAMS::PostOpenSize

Size of Open (Erode 'n' times followed by Dilate 'n' times, removes smalls opjects at the expense of smoothing the outside)

ENUM_SEGKERNEL SEGMENTATION_PARAMS::SegAlgoKernel

Which Kernel to apply (beyond the built-in parameteres applied to all Algo Kernels)

signed int SEGMENTATION_PARAMS::StepSize

Number of voxels to jump in each direction for each step (valid Values 1 and above (but realistically should be "small" or poor segmentation can occur)