Fovia C++ In-Process API
|
Public Member Functions | |
virtual signed int | AskInterface (const BGUID *piid, IRoot **ppr)=0 |
virtual signed int | AssessRangeFromPointArray (double *assessedRange, VECTOR3D *arrPoints, unsigned int numPoints)=0 |
virtual signed int | CancelFindPath ()=0 |
virtual signed int | CancelSegment ()=0 |
virtual signed int | Clear ()=0 |
virtual signed int | ClearByMask (signed int labelMask)=0 |
virtual signed int | ClearEx (signed int bMultiTF, signed int bNocesOnly)=0 |
virtual signed int | Crop (CROP_BOX_PARAMS cbp)=0 |
virtual signed int | DecRef ()=0 |
virtual signed int | DisableCustomKernel ()=0 |
virtual signed int | EnableCustomKernel (char *dll_path, int size, void *paramsPtr)=0 |
virtual signed int | FindPath (IRenderEngine *pEngine, VECTOR3D **arrPath, unsigned int *numPathSteps, VECTOR3D *pStart, VECTOR3D *pFinish, FIND_PATH_PARAMS *pParams, IAllocator *pAlloc)=0 |
virtual signed int | FreeHandCut (IRenderEngine *pEngine, signed int numPoints, POINT *arrPoints, int ppWidth, int ppHeight)=0 |
virtual signed int | GetLastSegmentSize (signed long long *sizeVoxels, double *sizeMMs)=0 |
virtual signed int | GetSegmentationParams (SEGMENTATION_PARAMS *sp)=0 |
virtual signed int | GetVolumeData (IVolumeOctree **octree)=0 |
virtual signed int | IncRef ()=0 |
virtual signed int | Invert ()=0 |
virtual signed int | InvertEx (signed int bMultiTF)=0 |
virtual signed int | SculptCircularBevel (unsigned char valueToSet, VECTOR3D *loc, VECTOR3D *axis, unsigned int numOffsets, double *offsets, double *radii, SegMapSpeedup *sms)=0 |
virtual signed int | Segment (VERTEX3D vtx, signed int Min, signed int Max)=0 |
virtual signed int | SetErosionDilationIndex (signed int index)=0 |
virtual signed int | SetFreeHandCutMode (IRenderEngine *pEngine, ENUM_FHC_MODE mode)=0 |
virtual signed int | SetGranularity (ENUM_SEGMENTATION_GRANULARITY gran)=0 |
virtual signed int | SetSegmentationParams (SEGMENTATION_PARAMS *sp)=0 |
virtual signed int | SetVolumeData (IVolumeOctree *octree)=0 |
virtual signed int | UpdateCustomKernelParams (int size, void *newParamsPtr)=0 |
![]() | |
template<class T > | |
signed int | AskInterface (T **pp) |
The IVolumeSegmentation interface has utilities for segmenting a volume.
|
pure virtual |
|
pure virtual |
Attempts to cancel a FindPath() operation. If the FindPath does not successfully cancel within 500ms, it is hung and E_FAIL is returned. Note that if the FindPath() operation failed due to invalid parameters or some other internal failure, you will get E_FAIL from this procedure. As a reminder, failure to find a path is a success state and not a failure, so this function will return S_OK immediately in that case.
|
pure virtual |
Reset all segmentation, returning the volume to a fully visible state. See ClearEx() for a more complete function.
|
pure virtual |
Clears all segmentation information masked by which labels to clear.
labelMask | bit mask of which of the 8TF's to clear |
|
pure virtual |
Clears all segmentation information and returns the volume to it's initial state.
bMultiTF | Are we in multi transfer function mode? If so, set this to true. If we're just looking at on/off segmentation, set this to false. |
bNocesOnly | When moving from 1x1x1 on/off to multi transfer function mode, we can set this to true so that the segmentation is preserved in the change. |
|
pure virtual |
Segment the data via a crop box. Not currently imlpemented. You may do this in real time using RENDER_PARAMS::CropBox.
cbp | Structure defining a box in the volume. |
|
pure virtual |
Decreases the reference count on this object by 1. If the reference count reaches 0, the object is deallocated.
Implements IRoot.
|
pure virtual |
Turns off the custom segmentation
|
pure virtual |
Enable the custom segmentation by pointing to a dll with the proper interface
dll_path | which is the dll which will be actively loaded |
size | which is the size of the data in the params ptr |
paramsPtr | which is pointer to the data buffer of actually params |
|
pure virtual |
Attempts to find a path between two points in the volume using either static or dynamic upper and lower thresholds for determining the pathway.
pEngine | The render engine to use for the path finding routine. Best performance is achieved if the engine is not constantly created/destroyed between calls or used for other purposes. |
arrPath | If the operation succeeded, this will get the address of a buffer containing the result of the path find operation. The buffer will be allocated using pAlloc. If the operation failed, this parameter is untouched. |
numPathSteps | The address of an integer that will get the number of elements in the resultant path buffer arrPath. |
pStart | The start point for the path finding routine. Must be non-NULL. |
pFinish | The finish point for the path finding routine. Must be non-NULL. |
pParams | The parameters for the path finding routine. If NULL, the values set in the default constructor for FIND_PATH_PARAMS are used. See the FIND_PATH_PARAMS description for details on each of the parameters. |
pAlloc | The allocator to use when allocating the resultant path arrPath. Must be non-NULL. |
|
pure virtual |
Cut a section of the data using a polygon specified by the POINT array. Call SetSegmentationParams to specify the type of free hand cut to apply.
pEngine | The engine that is using the data set we're cutting. |
numPoints | Number of points in our selection polygon. |
arrPoints | Points in the polygon. |
ppWidth | width in pixels of the projection plane. |
ppHeight | height in pixels of the projection plane. |
|
pure virtual |
Get the two size of the result of the last call to segmentation.
|
pure virtual |
Get the current params.
sp | Structure to receive the params. |
|
pure virtual |
Increases the reference count on this object by 1. You do not need to call this after an object is first created. It is 1 by default.
Implements IRoot.
|
pure virtual |
Invert the segmentation. All voxels that were hidden will be visible, and all voxels that were visible will be hidden. See InvertEx() for a more complete implementation.
|
pure virtual |
Inverts the current segmentation. Everything that was hidden will be restored and everything that was present will be hidden.
bMultiTF | Set this to true if you're doing multi transfer function rendering. |
|
pure virtual |
Fire off a segmentation. Note that vtx, Min and Max are most easily obtained via the IRenderEngine::ShootRay() function.
vtx | The 3D coordinate in the volume to begin the growing algorithm. |
Min | The minimum HU+1024 to consider connected. |
Max | The maximem HU+1024 to consider connected. |
|
pure virtual |
Sets the index lable that erode/dilate will use (default is to Dilate to currentActiveIndex and Erode to 0).
index | Set this to EROSION_DILATION_CLASSIC to return to default action. |
|
pure virtual |
Sets the free hand cut mode. See FHC_* in sharedstructs.h for possible values.
pEngine | The IRenderEngine interface pointer that created this object. |
mode |
|
pure virtual |
Sets the segmentation granularity. See SEG_GRAN_* in sharedstructs.h for possible values.
|
pure virtual |
Set the params. These params will be considered when you call the other functions in this interface.
sp | Structure describing the state this object should assume. |
|
pure virtual |
Attach volume data to this object. Must be called before calling any other IVolumeSegmentation calls.
octree | A valid octree for the volume to segment. |
|
pure virtual |
Update the custom kernel segmentation parameters for the next segmetnatoin call
size | which is the size of the data in the params ptr must match the initial size in the EnableCustomKernel call |
newParamsPtr | which is pointer to the data buffer of actually params |