This function takes a multi-page image and extracts the 3D surface into a vector image, based on the options specified by lpOptions.
Declaration:
|
Copy Code
|
AT_ERRCOUNT ACCUAPI IG_vect_3DIV_isosurface(
HMIGEAR hMIGear,
AT_VECT_3DIV_OPTIONS* lpOptions,
LPHIGEAR lphIGear
);
|
Arguments:
Name |
Type |
Description |
hMIGear |
HMIGEAR |
A handle to a multi-page image, which has slices of images in a 3D series stacked together in the desired order. |
lpOptions |
AT_VECT_3DIV_OPTIONS* |
A pointer to a structure AT_VECT_3DIV_OPTIONS, which contains all the calculation options for isosurface algorithm. |
lphIGear |
LPHIGEAR |
The vector image with all the triangles generated. |
Return Value:
Returns 0 if successful. Otherwise, returns the number of ImageGear errors that occurred during this function call.
Supported Raster Image Formats:
All pixel formats supported by ImageGear for C and C++.
Dimensions, color spaces, and bit depths must be the same for all pages. If the pages are not grayscale, they will be converted to IG_COLOR_SPACE_ID_Gy color space, so their color space will change after calling this function.
Sample:
Medical
Example:
|
Copy Code
|
HMIGEAR hMIGear; /* Handle to a multi-page image */
HIGEAR hIGear; /* Handle for the generated vector image with all the triangles */
AT_VECT_3DIV_OPTIONS vect3DIVOptions;/* Struct for calculation options */
int nErrCount; /* Returned count of errors */
/* If necessary, load the set of single-page images into hMIGear */
......
/* Initialize vect3DIVOptions with proper values */
vect3DIVOptions.dIsoValue = 120.0;
...
vect3DIVOptions.bDoNorms = TRUE;
...
nErrCount = IG_vect_3DIV_isosurface(hMIGear, &vect3DIVOptions, &hIGear);
|
Remarks:
The pages in the multi-page image must be in the desired order as it would be in the 3D object. If the user has a series of single-page images to start with, necessary operations are needed to stack those single-page images together to form a multi-page image.