Fovia's C++ Client/Server API
Enumerations
Enumerator Listing

Enumerations

enum  ENUM_CLUSTER_PARAM {
  CP_FRAGMENT_NONE = 0x0, CP_FRAGMENT_VALID = 0x70000000, CP_FRAGMENT_SQUARE_SIZE = 256, CP_FRAGMENT_STRIPE_SIZE = 128,
  CP_FRAGMENT_ID_MASK = 0x000000FF, CP_FRAGMENT_ID_SHIFT = 0, CP_FRAGMENT_PACKING_MASK = 0x0000F000, CP_FRAGMENT_PACKING_SHIFT = 11,
  CP_FRAGMENT_PACKING_TYPE_MASK = 0x00003000, CP_FRAGMENT_PACKING_WHOLE_IMAGE = 0x00000000, CP_FRAGMENT_PACKING_FRAGMENT_ONLY = 0x00001000, CP_FRAGMENT_FORM_MASK = 0x0000C000,
  CP_FRAGMENT_FORM_SQUARE = 0x00004000, CP_FRAGMENT_FORM_STRIPE = 0x00008000
}
 
enum  ENUM_COMPRESSION_TYPE {
  COMPRESSION_TYPE_NONE, COMPRESSION_TYPE_ZIP, COMPRESSION_TYPE_JPEG, COMPRESSION_TYPE_STRETCH,
  COMPRESSION_TYPE_JPEG2000, COMPRESSION_TYPE_RLE, COMPRESSION_TYPE_PNG, COMPRESSION_TYPE_JPEG_RGB,
  COMPRESSION_TYPE_CUSTOM_START = 1000, COMPRESSION_TYPE_CUSTOM = 1000, COMPRESSION_TYPE_CUSTOM_END = 1100
}
 
enum  ENUM_CURVED_MPR_TYPE { CURVED_MPR_TYPE_X_IS_CURVED_TRILINEAR, CURVED_MPR_TYPE_Y_IS_CURVED_TRILINEAR, CURVED_MPR_TYPE_X_IS_CURVED_TRICUBIC, CURVED_MPR_TYPE_Y_IS_CURVED_TRICUBIC }
 
enum  ENUM_CUT_PLANE_MODE { CUT_PLANE_MODE_STANDARD }
 
enum  ENUM_CUT_PLANE_STATUS { CUT_PLANE_STATUS_DISABLED, CUT_PLANE_STATUS_ENABLED }
 
enum  ENUM_CUT_PLANE_TYPE { CUT_PLANE_TYPE_POSITIVE, CUT_PLANE_TYPE_NEGATIVE }
 
enum  ENUM_DATA_ORGANIZATION { DO_SLICE }
 
enum  ENUM_DATA_TYPE {
  DT_SIGNED = 1, DT_BIG_ENDIAN = 2, DT_REVERSE_BIT_ORDER = 4, DT_UPPER_BITS_DIRTY = 8,
  DT_MONOCHROME_1 = 16
}
 
enum  ENUM_DICOM_TAG_DATA_TYPES {
  DCTD_STRING = 0, DCTD_UBYTE, DCTD_USHORT, DCTD_SSHORT,
  DCTD_ULONG, DCTD_SLONG, DCTD_FLOAT32, DCTD_FLOAT64
}
 
enum  ENUM_FHC_MODE { FHC_WHOLE_VOLUME, FHC_SURFACE_ONLY, FHC_FIRST_LAYER, FHC_COMPLETE_VOLUME }
 
enum  ENUM_FIND_PATH_TRACERS { FIND_PATH_TRACER_START_TOWARD_FINISH = 1, FIND_PATH_TRACER_FINISH_TOWARD_START = 2, FIND_PATH_TRACER_START_AWAY_FROM_FINISH = 4, FIND_PATH_TRACER_FINISH_AWAY_FROM_START = 8 }
 
enum  ENUM_HC_ALLOCATOR_PURPOSE { HCAP_GENERAL, HCAP_IMAGE, HCAP_MEMORY_MAPPED }
 
enum  ENUM_IMAGE_TYPE {
  IMAGE_TYPE_NONE, IMAGE_TYPE_LUMINANCE8 = (1 << 8) | 1, IMAGE_TYPE_LUMINANCE12 = (2 << 8) | 2, IMAGE_TYPE_LUMINANCE16 = (3 << 8) | 2,
  IMAGE_TYPE_RGB = (4 << 8) | 3, IMAGE_TYPE_RGBA = (5 << 8) | 4, IMAGE_TYPE_RGBX = (6 << 8) | 4
}
 
enum  ENUM_LIGHT_ATTACHMENT_MODE { LMM_ATTACHED_TO_CAMERA, LMM_ATTACHED_TO_DATASET }
 
enum  ENUM_LIGHT_MODEL { LIGHT_MODEL_BEAM, LIGHT_MODEL_HEADLIGHT }
 
enum  ENUM_LOAD_DATASET_OPTIONS {
  LDO_RAW_DATASET_PATH, LDO_DICOM_DIRECTORY, LDO_MEMORY_BLOCK, LDO_DICOM_FILE_SET,
  LDO_FILE_SET, LDO_MEMORY_MAP_SET = 1001, LDO_DCM_UTF8 = 1002, LDO_SEGY_DATASET_PATH = 6
}
 
enum  ENUM_OCTREE_MEMORY_MODE { OCTREE_MEM_MODE_NORMAL, OCTREE_MEM_MODE_SAVE }
 
enum  ENUM_RENDER_ENGINE_CLASSID { RECID_MPR, RECID_PAR, RECID_PER, RECID_MIP }
 
enum  ENUM_RENDER_FLAGS {
  RF_NONE =(0 ), RF_ALLOW_RENDER_CACHE =(1 << 1), RF_ALLOW_IMAGE_SMOOTH =(1 << 2), RF_USE_GRADIENTS =(1 << 3),
  RF_USE_SLAB_MPR =(1 << 4), RF_USE_SLAB_PAR =(1 << 5), RF_USE_SLAB_MIP =(1 << 6), RF_DONT_NORMALIZE_TF =(1 << 7),
  RF_FRONT_CLIPPING_PLANE_ENABLED =(1 << 8), RF_THICK_MODES_USE_TRANSFER_FUNCTION =(1 << 9), RF_POLYGON_LINES_IN_SCREEN_SPACE =(1 << 10), RF_VERTEX_COLOR_MAP =(1 << 11),
  RF_POLYGON_CROSS_SECTIONS =(1 << 12), RF_CUT_PLANES_AFFECT_POLYGONS =(1 << 13), RF_LONG_TRIANGLE_FIX =(1 << 14), RF_THIN_MODES_OUTPUT_RGB =(1 << 15),
  RF_ALL =0x7FFFFFFF, RF_DEFAULT, RF_MASK_DEFAULT
}
 
enum  ENUM_RENDER_PARAMS_MASK {
  RPM_NONE =(0 ), RPM_RENDER_TYPE =(1 << 0), RPM_TRANSFORM_XPOS =(1 << 1), RPM_TRANSFORM_YPOS =(1 << 2),
  RPM_TRANSFORM_ZPOS =(1 << 3), RPM_TRANSFORM_OFFSET, RPM_TRANSFORM_RSS =(1 << 4), RPM_TRANSFORM_PC =(1 << 5),
  RPM_TRANSFORM, RPM_ZOOM =(1 << 6), RPM_COLOR_MODEL =(1 << 7), RPM_QUALITY =(1 << 8),
  RPM_LIGHT_MODEL =(1 << 9), RPM_DESIRED_FPS =(1 <<10), RPM_RENDER_RANGE_MIN_MAX =(1 <<11), RPM_RENDER_RANGES =(1 <<12),
  RPM_VIEW_ANGLE =(1 <<13), RPM_SLAB_THICKNESS =(1 <<14), RPM_GRAD_INSEN_SLAB =(1 <<15), RPM_CROP_BOX =(1 <<16),
  RPM_BACK_COLOR =(1 <<17), RPM_BRIGHTNESS =(1 <<18), RPM_SHININESS =(1 <<19), RPM_REFLECTION =(1 <<20),
  RPM_RAYCASTING_PRECISION =(1 <<21), RPM_RENDER_SAMPLES =(1 <<22), RPM_CUT_PLANES =(1 <<23), RPM_RENDER_IMAGE_SIZE =(1 <<24),
  RPM_NUM_RENDERING_THREADS =(1 <<25), RPM_STEREO_MODE =(1 <<26), RPM_LIGHT_PARAMS =(1 <<27), RPM_MIN_QUALITY_BIAS =(1 <<28),
  RPM_FRONT_SLAB_POLYGON_TRANSPARENCY =(1 <<29), RPM_AMBIENCE =(1 <<30), RPM_REAR_SLAB_POLYGON_TRANSPARENCY =(1 <<31), RPM_ALL =0x7FFFFFFF,
  RPM_DEFAULT = RPM_ALL, RPM_PHONG_PARAMETERS = RPM_AMBIENCE | RPM_BRIGHTNESS | RPM_SHININESS | RPM_REFLECTION
}
 
enum  ENUM_RENDER_QUALITY {
  RENDER_QUALITY_NONE, RENDER_QUALITY_RAW, RENDER_QUALITY_DRAFT, RENDER_QUALITY_BETTER,
  RENDER_QUALITY_BEST, RENDER_QUALITY_PRINT = 0x7FFFFFFF
}
 
enum  ENUM_RENDER_RANGE_STATUS { RENDER_RANGE_STATUS_ENABLED, RENDER_RANGE_STATUS_DISABLED }
 
enum  ENUM_RENDER_RANGE_TYPE {
  RENDER_RANGE_TYPE_NONE, RENDER_RANGE_TYPE_LINES, RENDER_RANGE_TYPE_LINES_END_COLOR, RENDER_RANGE_TYPE_BSPLINE,
  RENDER_RANGE_TYPE_CATMUL, RENDER_RANGE_TYPE_AUTO_COLOR
}
 
enum  ENUM_RENDER_STAGE {
  RENDER_STAGE_NONE, RENDER_STAGE_PROGR0, RENDER_STAGE_PROGR1, RENDER_STAGE_PROGR2,
  RENDER_STAGE_PROGR3, RENDER_STAGE_PROGR4, RENDER_STAGE_PROGR5, RENDER_STAGE_FINAL,
  RENDER_STAGE_CURRENT, RENDER_STAGE_AUTO_IMPROVE
}
 
enum  ENUM_RENDER_TYPE {
  RT_NONE = 0, RT_PARALLEL = (1<<7), RT_PERSPECTIVE = (1<<8), RT_THICK_MIP = (1<<9),
  RT_THICK_FADED_MIP = (1<<10), RT_THIN_MIP = (1<<11), RT_THIN_FMIP = (1<<12), RT_MPR_CURVED = (1<<13),
  RT_THIN_AVE = (1<<14), RT_THIN_MINIP = (1<<15), RT_RESERVED16 = (1<<16), RT_AUTO_MIP = (1<<17),
  RT_AUTO_FADED_MIP = (1<<18), RT_AUTO_MINIP = (1<<19), RT_THICK_MINIP = (1<<20), RT_THICK_MIP_PERSPECTIVE = (1<<21),
  RT_THICK_MINIP_PERSPECTIVE = (1<<22), RT_MPR_XY = (1<<0), RT_MPR_XZ = (1<<1), RT_MPR_YZ = (1<<2),
  RT_MPR_AXIAL = (1<<3), RT_MPR_SAGITTAL = (1<<4), RT_MPR_CORONAL = (1<<5), RT_MPR_OBLIQUE = (1<<6),
  RT_MIP = RT_THICK_MIP, RT_XRAY = RT_THICK_FADED_MIP, RT_BRUTE_FORCE_MIP = RT_THIN_MIP, RT_BRUTE_FORCE_FMIP = RT_THIN_FMIP,
  RT_BRUTE_FORCE_AVE = RT_THIN_AVE, RT_BRUTE_FORCE_MINIP = RT_THIN_MINIP
}
 
enum  ENUM_SEG_TYPE { ST_ADDITIVE, ST_SUBTRACTIVE }
 
enum  ENUM_SEGKERNEL {
  SK_MIN_MAX, SK_MIN_MAX_GRADIENT, SK_MIN_MAX_GRADIENT_EXPAND, SK_MIN_MAX_BONE,
  SK_CUSTOM
}
 
enum  ENUM_SMOOTH_PARAM { SMOOTH3D_NONE, SMOOTH3D_TRILINEAR, SMOOTH3D_TRICUBIC }
 
enum  ENUM_SMOOTH_POLYGONS_TYPE { SPT_NONE, SPT_LAPLACIAN }
 
enum  ENUM_STEREO_MODE { STEREO_MODE_OFF, STEREO_MODE_LEFT_EYE, STEREO_MODE_RIGHT_EYE }
 
enum  ENUM_TRACE_OPTIONS {
  TO_NONE = 0, TO_SHOW_COMMANDS = 1 << 0, TO_SHOW_COMMAND_TIME = 1 << 1, TO_SHOW_COMMAND_ARGUMENTS = 1 << 2,
  TO_SHOW_COMMAND_RESULTS = 1 << 3, TO_SHOW_COMMAND_DEBUG1 = 1 << 4, TO_SHOW_COMMAND_DEBUG2 = 1 << 5, TO_SHOW_COMMAND_DEBUG3 = 1 << 6,
  TO_SHOW_STATS = TO_SHOW_COMMAND_DEBUG1
}
 
enum  ENUM_UPDATE_MODE {
  UPDATE_MODE_CLEAR, UPDATE_MODE_POSITIVE, UPDATE_MODE_NEGATIVE, UPDATE_MODE_INVERT,
  UPDATE_MODE_REBUILD, UPDATE_MODE_SET_TF_1, UPDATE_MODE_SET_TF_2, UPDATE_MODE_CLEAR_MULTI_TF,
  UPDATE_MODE_INVERT_MULTI_TF, UPDATE_MODE_CLEAR_NODES_ONLY, UPDATE_MODE_CLEAR_BY_MASK
}
 
enum  ENUM_VCL_TYPE { VCL_TYPE_TRIANGLES, VCL_TYPE_LINES }
 
enum  ENUM_VIEW_MODE { VM_MPR_CLIP, VM_VIEW3D }
 

Detailed Description

Enumeration Type Documentation

Cluster param enum.

Fragment Packing: In all cases the size of the data is equal to Width*Height*BytePerPixel. BytePerPixel can be extracted from the VOLVISIMAGE::Type variable.

The claster param is comprised of several fields. The value of each field can be extracted by using the appropriate value of the mask. The mask values are defined below.

If cluster param value is equal to zero (0), the engines will perform rendering of the full image. The request to perform cluster rending shall contain CP_FRAGMENT_VALID bits (by performing a bitwise-or operation with the CP_FRAGMENT_VALID).

The value in the CP_FRAGMENT_ID_MASK contains the fragment id.

If value in the CP_FRAGMENT_PACKING_MASK contains :

  • CP_FRAGMENT_PACKING_WHOLE_IMAGE – Image memory layout is the same as the layout for the whole image.
  • CP_FRAGMENT_PACKING_FRAGMENT_ONLY – Image memory layout represents a fragment from the whole image.
If value in the @b CP_FRAGMENT_PACKING_MASK equal to:
@li CP_FRAGMENT_PACKING_WHOLE_IMAGE
-- The whole image is valid (no clustering)

@li CP_FRAGMENT_PACKING_WHOLE_IMAGE | CP_FRAGMENT_FORM_SQUARE
-- Only ONE of the quadrant has meaningful data (fragment id will indicate which one)

@li CP_FRAGMENT_PACKING_WHOLE_IMAGE | CP_FRAGMENT_FORM_STRIPE
-- Only ONE of the stripes has meaningful data (fragment id will indicate which one)

@li CP_FRAGMENT_PACKING_FRAGMENT_ONLY | CP_FRAGMENT_FORM_SQUARE
-- The data represents ONE of the quadrants (fragment id will indicate which one)

@li CP_FRAGMENT_PACKING_FRAGMENT_ONLY | CP_FRAGMENT_FORM_STRIPE
-- The data represents ONE of the stripes (fragment id will indicate which one)
Enumerator
CP_FRAGMENT_NONE 

No clustering. Render full image.

CP_FRAGMENT_VALID 

Validation bits.

CP_FRAGMENT_SQUARE_SIZE 

Quadrant fragment size.

CP_FRAGMENT_STRIPE_SIZE 

Number of lines in the stripe fragment.

CP_FRAGMENT_ID_MASK 

Fragment id mask.

CP_FRAGMENT_ID_SHIFT 

Shift to lowest bit of fragment id mask.

CP_FRAGMENT_PACKING_MASK 

Fragment packing mask.

CP_FRAGMENT_PACKING_SHIFT 

Shift to lowest bit of fragment packing mask.

CP_FRAGMENT_PACKING_TYPE_MASK 

Packing type mask.

CP_FRAGMENT_PACKING_WHOLE_IMAGE 

The whole image layout.

CP_FRAGMENT_PACKING_FRAGMENT_ONLY 

Only the valid segment.

CP_FRAGMENT_FORM_MASK 

Fragment form mask.

CP_FRAGMENT_FORM_SQUARE 

Segment is a square.

CP_FRAGMENT_FORM_STRIPE 

Segment is a stripe.

Specifies compression type. Note that the standard HDRC library does not provide the compression functionality, just the variable to store it's value.

Enumerator
COMPRESSION_TYPE_NONE 

No compression (data sent in raw format). In this mode greyscale images will be 1 byte per pixel and color images will be 3 bytes per pixel. Be sure that your TCP/IP datapath can handle that throughput.

COMPRESSION_TYPE_ZIP 

Reserved for future use.

COMPRESSION_TYPE_JPEG 

JPEG based compression. Note that this mode will decompress color images to BGR buffers and will look strange in standard image loaders. If you want standard RGB buffers, use COMPRESSION_TYPE_JPEG_RGB.

COMPRESSION_TYPE_STRETCH 

Special rendering mode for MIP/MPR. Only the native resolution image is rendered and JPEG compressed. It is then transferred to the client where it is bicubic scaled to the actual projection plane resolution. Compression parameter is passed on as the JPEG compression parameter. Note that the native resolution changes based upon how oblique the view angle is. ONLY use this mode for interactive rendering. Final renders should always be the full resolution.

COMPRESSION_TYPE_JPEG2000 

Reserved for future use.

COMPRESSION_TYPE_RLE 

Reserved for future use.

COMPRESSION_TYPE_PNG 

Reserved for future use.

COMPRESSION_TYPE_JPEG_RGB 

JPEG based compression for use with standard image decompression routines that expect RGB as the output. If you need BGR as output, use COMPRESION_TYPE_JPEG.

COMPRESSION_TYPE_CUSTOM_START 

Reserved for future use.

COMPRESSION_TYPE_CUSTOM_END 

Reserved for future use.

Enumerator
CURVED_MPR_TYPE_X_IS_CURVED_TRILINEAR 

The X axis on the output image is the non-linear axis and trilinear interpolation is used.

CURVED_MPR_TYPE_Y_IS_CURVED_TRILINEAR 

The Y axis on the output image is the non-linear axis and trilinear interpolation is used.

CURVED_MPR_TYPE_X_IS_CURVED_TRICUBIC 

The X axis on the output image is the non-linear axis and tricubic interpolation is used.

CURVED_MPR_TYPE_Y_IS_CURVED_TRICUBIC 

The Y axis on the output image is the non-linear axis and tricubic interpolation is used.

Cutplane modes.

Enumerator
CUT_PLANE_MODE_STANDARD 

Standard cutplanes mode.

Enumerator
CUT_PLANE_STATUS_DISABLED 

Disabled cut planes are not applied to the volume.

CUT_PLANE_STATUS_ENABLED 

Enabled cut planes are applied to the volume.

Enumerator
CUT_PLANE_TYPE_POSITIVE 

Positive cutplane. Currently, this is the only supported type.

CUT_PLANE_TYPE_NEGATIVE 

Negative cutplane Currently ignored.

Volume data organization enum.

Enumerator
DO_SLICE 

Volume data organized into slices placed anywhere in memory. The array represents handles to a memory mapped file.

Flags that describe the data

Enumerator
DT_SIGNED 

the data is signed

DT_BIG_ENDIAN 

the most significant bytes in a pixel come first in memory (not currently supported)

DT_REVERSE_BIT_ORDER 

the bit order of the data is reversed (not currently supported)

DT_UPPER_BITS_DIRTY 

the bits above the most significant relevant bit are not specified. this implies that the sign bit must propogate upwards at render time.

DT_MONOCHROME_1 

data is intended to be displayed with black being the largest value.

Describes the types allowed in the DICOM_TAG_DATA structure.

Enumerator
DCTD_STRING 

null-terminated string

DCTD_UBYTE 

unsigned 8-bit integer

DCTD_USHORT 

unsigned 16-bit integer

DCTD_SSHORT 

signed 16-bit integer

DCTD_ULONG 

unsigned 32sbit integer

DCTD_SLONG 

signed 32-bit integer

DCTD_FLOAT32 

32-bit float value

DCTD_FLOAT64 

64-bit float value

Free Hand Cut modes

Enumerator
FHC_WHOLE_VOLUME 

Free Hand Cut will penetrate the entire volume but will only assign voxels which are "visible" (meaning non zero opacity from TF)

FHC_SURFACE_ONLY 

Free Hand Cut will affect only the first layer of the percieved surface similar to the way a pen will affect the first layer of an object when used.

FHC_FIRST_LAYER 

Free Hand Cut will start marking when it hits a surface (a part of the volume with non-zero opacity) and stop marking when it exists that surface (a part of the volume with zero opacity).

FHC_COMPLETE_VOLUME 

Free Hand Cut will affect all voxels regardless of the current Transfer Function (all other modes only affect non-transparent voxels in the current TF)

Enumerator
FIND_PATH_TRACER_START_TOWARD_FINISH 

The tracer that starts at the start point pointing toward the finish point.

FIND_PATH_TRACER_FINISH_TOWARD_START 

The tracer that starts at the finish point pointing toward the start point.

FIND_PATH_TRACER_START_AWAY_FROM_FINISH 

The tracer that starts at the start point pointing away from the finish point.

FIND_PATH_TRACER_FINISH_AWAY_FROM_START 

The tracer that starts at the finish point pointing away from the finish point.

Describes the purpose of the allocator. Use this when getting an allocator from the HDRC library's ILibrary object.

Enumerator
HCAP_GENERAL 

general allocator

HCAP_IMAGE 

image allocator

HCAP_MEMORY_MAPPED 

memory mapped allocator

Image types. Every type id is unique.

Additionally, the first byte holds the number of bytes needed to store a pixel of the given type.

Enumerator
IMAGE_TYPE_NONE 

Unknown type.

IMAGE_TYPE_LUMINANCE8 

8 bit value. This is the default output of the thin rendering modes.

IMAGE_TYPE_LUMINANCE12 

12 bit value. This may be requested from the thin rendering modes to get an image without any window leveling (original data scale). Note that this is a misnomer. Even if the dataset is 15 bits, you will still get a 15 bit image should you request this type.

IMAGE_TYPE_LUMINANCE16 

16 bit value. Currently unused.

IMAGE_TYPE_RGB 

RGB triple. This is returned by all rendering modes except the thin ones.

IMAGE_TYPE_RGBA 

RGBA pixel. Currently unused.

IMAGE_TYPE_RGBX 

RGB triple plus an extra byte. Currently unused.

Light attachment modes

Enumerator
LMM_ATTACHED_TO_CAMERA 

The light is attached to the camera.

LMM_ATTACHED_TO_DATASET 

The light is attached to the data set.

Light model types.

Enumerator
LIGHT_MODEL_BEAM 

The rays of light are parallel to each other.

Deprecated:
In perspective modes, the model is always headlight. In parallel modes, the model is always beam.
LIGHT_MODEL_HEADLIGHT 

The rays of light diverge from the center.

Deprecated:
In perspective modes, the model is always headlight. In parallel modes, the model is always beam.

Load dataset options

Enumerator
LDO_RAW_DATASET_PATH 

a path to a raw file dataset

LDO_DICOM_DIRECTORY 

a directory with DICOM files

LDO_MEMORY_BLOCK 

a pointer to memory block containing the dataset

LDO_DICOM_FILE_SET 

a set of DICOM files

LDO_FILE_SET 

a set of files with offsets to raw data

LDO_MEMORY_MAP_SET 

a set of memory mapped handles

LDO_DCM_UTF8 

a set of DICOM files provided in a UTF8 encoded path

LDO_SEGY_DATASET_PATH 

a path to segy file - seismic data - developed by the Society of Exploration Geophysicists (SEG)

Deprecated:
This deprecated enumeration describes a memory/performance tradeoff that is no longer relevant. We always use the lower memory amount now with the higher performance intact.
Enumerator
OCTREE_MEM_MODE_NORMAL 

Ignored. Both values for this enumeration provide low memory, high performance results.

OCTREE_MEM_MODE_SAVE 

Ignored. Both values for this enumeration provide low memory, high performance results.

render engine class id

Enumerator
RECID_MPR 

MPR based rendering engine.

RECID_PAR 

Parallel rendering engine.

RECID_PER 

Perspective rendering engine.

RECID_MIP 

MIP based rendering engine.

Specifies render flags for the rendering engines

Enumerator
RF_ALLOW_RENDER_CACHE 

Unused.

RF_ALLOW_IMAGE_SMOOTH 

Ignored. Images are not smoothed.

RF_USE_GRADIENTS 

Instructs render engine to use volume data gradients for lighting.

RF_USE_SLAB_MPR 

Ignored. The thin render modes use the slab all the time.

RF_USE_SLAB_PAR 

Instructs parallel render engine to use slab thickness parameter.

RF_USE_SLAB_MIP 

Instructs the thick MIP/MPR render modes to use the slab thickness parameter.

RF_DONT_NORMALIZE_TF 

Normally, transfer function x value and Min/Max is expected to be 0-65535. When this flag is enabled, the value should be in the pixel format of the loaded volume data.

RF_FRONT_CLIPPING_PLANE_ENABLED 

Used to be setViewMode(). Enables the front clipping plane if true. Otherwise the eye is locked to the outside of the volume.

RF_THICK_MODES_USE_TRANSFER_FUNCTION 

Reserved for future use.

RF_POLYGON_LINES_IN_SCREEN_SPACE 

By default, the line width is in millimeters. If you want it in screen space, set this flag to true.

RF_VERTEX_COLOR_MAP 

Render vertex colors to vertex call list objects.

RF_POLYGON_CROSS_SECTIONS 

Instead of drawing the polygon object, draw the polygon as a line cross section (only works in modes that output RGB images).

RF_CUT_PLANES_AFFECT_POLYGONS 

If cut planes intersect a polygon object, they will be cut in addition to the volume.

RF_LONG_TRIANGLE_FIX 

In perspective rendering, very high aspect ratio triangles lose depth accuracy. This fix breaks them up, but with a performance penalty.

RF_THIN_MODES_OUTPUT_RGB 

Instructs the engine to output RGB images from the RT_THIN_* rendering modes instead of 8-bit grayscale. Full bit depth output will still be 16-bit grayscale.

RF_DEFAULT 

Set the Flags to RF_DEFAULT and FlagsMask RF_MASK_DEFAULT to set the defaults.

RF_MASK_DEFAULT 

Set the Flags to RF_DEFAULT and FlagsMask RF_MASK_DEFAULT to set the defaults.

Species which part(s) of the RENDER_PARAMS structure are valid/requested

Enumerator
RPM_NONE 

None of the parts are valid/requested.

RPM_RENDER_TYPE 

RENDER_PARAMS::RenderType is valid.

RPM_TRANSFORM_XPOS 

The m14 member of RENDER_PARAMS::Transform is valid.

RPM_TRANSFORM_YPOS 

The m24 member of RENDER_PARAMS::Transform is valid.

RPM_TRANSFORM_ZPOS 

The m34 member of RENDER_PARAMS::Transform is valid.

RPM_TRANSFORM_OFFSET 

The m14, m24, and m34 members of RENDER_PARAMS::Transform are valid.

RPM_TRANSFORM_RSS 

The rotation/shear/scale components of the RENDER_PARAMS::Transform are valid. This corrosponds directly to the X,Y, and Z orientation vectors.

RPM_TRANSFORM_PC 

The perspective correction (last row of the matrix) is valid. Not currently used.

RPM_TRANSFORM 

All components of RENDER_PARAMS::Transform are valid.

RPM_ZOOM 

RENDER_PARAMS::Zoom is valid.

RPM_COLOR_MODEL 

RENDER_PARAMS::ColorModel is valid.

RPM_QUALITY 

RENDER_PARAMS::Quality is valid.

RPM_LIGHT_MODEL 

RENDER_PARAMS::LightModel is valid.

RPM_DESIRED_FPS 

RENDER_PARAMS::DesiredFPS is valid.

RPM_RENDER_RANGE_MIN_MAX 

RENDER_PARAMS::RenderRangeMin and RENDER_PARAMS::RenderRangeMax are valid.

RPM_RENDER_RANGES 

RENDER_PARAMS::RenderRanges is valid.

RPM_VIEW_ANGLE 

RENDER_PARAMS::ViewAngle is valid.

RPM_SLAB_THICKNESS 

RENDER_PARAMS::SlabThickness is valid.

RPM_GRAD_INSEN_SLAB 

RENDER_PARAMS::GradInsenSlab is valid.

RPM_CROP_BOX 

RENDER_PARAMS::CropBox is valid.

RPM_BACK_COLOR 

RENDER_PARAMS::BackColor is valid.

RPM_BRIGHTNESS 

RENDER_PARAMS::Brightness is valid.

RPM_SHININESS 

RENDER_PARAMS::Shininess is valid.

RPM_REFLECTION 

RENDER_PARAMS::Reflection is valid.

RPM_RAYCASTING_PRECISION 

RENDER_PARAMS::RaycastingPrecision is valid.

RPM_RENDER_SAMPLES 

RENDER_PARAMS::RenderSamples is valid.

RPM_CUT_PLANES 

RENDER_PARAMS::CutPlanes is valid.

RPM_RENDER_IMAGE_SIZE 

RENDER_PARAMS::RenderImageSize is valid.

RPM_NUM_RENDERING_THREADS 

RENDER_PARAMS::NumRenderingThreads is valid.

RPM_STEREO_MODE 

RENDER_PARAMS::StereoMode is valid.

RPM_LIGHT_PARAMS 

RENDER_PARAMS::LightParams is valid.

RPM_MIN_QUALITY_BIAS 

RENDER_PARAMS::MinQualityBias is valid.

RPM_FRONT_SLAB_POLYGON_TRANSPARENCY 

RENDER_PARAMS::FrontSlabPolygonTransparency is valid.

RPM_AMBIENCE 

RENDER_PARAMS::Ambience is valid.

RPM_REAR_SLAB_POLYGON_TRANSPARENCY 

RENDER_PARAMS::RearSlabPolygonTransparency is valid.

RPM_PHONG_PARAMETERS 

Convenience value for testing if any phong parameters are valid.

Render quality types.

Enumerator
RENDER_QUALITY_RAW 

Lowest precision of ray casting.

RENDER_QUALITY_DRAFT 

Lower precision of ray casting.

RENDER_QUALITY_BETTER 

Better precision of ray casting.

RENDER_QUALITY_BEST 

Best precision of ray casting.

RENDER_QUALITY_PRINT 

Print quality precision mode. Not designed for interactive.

Render range status types.

Enumerator
RENDER_RANGE_STATUS_ENABLED 

This range is enabled and will be visualized.

RENDER_RANGE_STATUS_DISABLED 

This range is disabled and will not be visualized.

Render range types.

Enumerator
RENDER_RANGE_TYPE_NONE 

none

RENDER_RANGE_TYPE_LINES 

Values and colors linearly interpolated between each point.

RENDER_RANGE_TYPE_LINES_END_COLOR 

Reserved for future use.

RENDER_RANGE_TYPE_BSPLINE 

Reserved for future use.

RENDER_RANGE_TYPE_CATMUL 

Reserved for future use.

RENDER_RANGE_TYPE_AUTO_COLOR 

Reserved for future use.

Specifies the rendering stage to rendered by the rendering engine. You should use RENDER_STAGE_PROGR0 when the user is interacting with the data set and finish with RENDER_STAGE_FINAL when there is a good opportunity to do so (as it will take longer to render).

Enumerator
RENDER_STAGE_NONE 

Unknown stage, no rendering result.

RENDER_STAGE_PROGR0 

Interactive rendering stage. Use this when the user is interacting with the screen.

RENDER_STAGE_PROGR1 

Progressive rendering stage. Currently identical to RENDER_STAGE_FINAL.

RENDER_STAGE_PROGR2 

Progressive rendering stage. Currently identical to RENDER_STAGE_FINAL.

RENDER_STAGE_PROGR3 

Progressive rendering stage. Currently identical to RENDER_STAGE_FINAL.

RENDER_STAGE_PROGR4 

Progressive rendering stage. Currently identical to RENDER_STAGE_FINAL.

RENDER_STAGE_PROGR5 

Progressive rendering stage. Currently identical to RENDER_STAGE_FINAL.

RENDER_STAGE_FINAL 

Final rendering stage. Use this for the final image after the user has finished interacting. Note that you MUST render an interactive image with the same exact rendering parameters before rendering a final image. The results of the interactive image are used to construct the final image.

RENDER_STAGE_CURRENT 

Request current image from the rendering engine. Reserved for future use.

RENDER_STAGE_AUTO_IMPROVE 

Request automatic advance to the next rendering stage. Reserved for future use.

This defines the rendering output of the rendering engine.

Enumerator
RT_PARALLEL 

3D projection where rays are cast out from projection plane in parallel.

RT_PERSPECTIVE 

Much like the human eye, this 3D projection casts out rays in an arc from the projection plane position.

RT_THICK_MIP 

MIP suitable for slab thickness 50+.

RT_THICK_FADED_MIP 

Faded MIP suitable for slab thickness 50+.

RT_THIN_MIP 

MIP suitable for slab thickness 0-50.

RT_THIN_FMIP 

Faded MIP suitable for slab thickness 0-50.

RT_MPR_CURVED 

For rendering a slice through the volume where one axis is defined by a non-linear path. See SetCurvedMPRPath() on the render engine for defining this path.

RT_THIN_AVE 

Average intensity projection suitable for slab theckness 0-50.

RT_THIN_MINIP 

Minimum Intensity Projection suitable for slab thickness 0-50.

RT_AUTO_MIP 

Reserved for future use.

RT_AUTO_FADED_MIP 

Reserved for future use.

RT_AUTO_MINIP 

Reserved for future use.

RT_THICK_MINIP 

Minimum Intensity Projection suitable for slab thickness 50+.

RT_THICK_MIP_PERSPECTIVE 

MIP suitable for slab thickness 50+. Perspective projection rendering.

RT_THICK_MINIP_PERSPECTIVE 

Minimum Intensity Projection suitable for slab thickness 50+. Perspective projection rendering.

RT_MPR_XY 

Deprecated. Do not use.

RT_MPR_XZ 

Deprecated. Do not use.

RT_MPR_YZ 

Deprecated. Do not use.

RT_MPR_AXIAL 

Deprecated. Do not use.

RT_MPR_SAGITTAL 

Deprecated. Do not use.

RT_MPR_CORONAL 

Deprecated. Do not use.

RT_MPR_OBLIQUE 

Deprecated. Do not use.

RT_MIP 

Renamed for clarity and consistency.

RT_XRAY 

Renamed for clarity and consistency.

RT_BRUTE_FORCE_MIP 

Renamed for clarity and consistency.

RT_BRUTE_FORCE_FMIP 

Renamed for clarity and consistency.

RT_BRUTE_FORCE_AVE 

Renamed for clarity and consistency.

RT_BRUTE_FORCE_MINIP 

Renamed for clarity and consistency.

Segmentation Types

Enumerator
ST_ADDITIVE 

Segmentation will add the resulting segmented region to the current SegLabelIndex.

ST_SUBTRACTIVE 

Segmentation will remove the resulting segmented region from the current SegLabelIndex.

Mode for segmentation kernel (base algorithm)

Enumerator
SK_MIN_MAX 

The simplest Kernel algorithm, voxels are included if they are connected to the origin within the radius and the voxel value is betwee the min and max.

SK_MIN_MAX_GRADIENT 

This Kernel algorithm will also evluate a local subcube of gradiaents to determine if the grwing shoudl continue.

SK_MIN_MAX_GRADIENT_EXPAND 

As the subcube size gets larger the above algorithm tends to under-estimate the object, this algorithm explands near the edges.

SK_MIN_MAX_BONE 

This Kernel algorithm looks for tiny partial volume spaes between dense bones and so tries to seperate almost-touching bones.

SK_CUSTOM 

This will run a user-defined custom kernel (see description in custom kernel documentation)

Note that smoothing is performed directly upon the actual volume data. There is no turning back once it is done. However, in most cases a smoothed data set will have much more clearly defined gradients. For this reason, it is recommended to use smoothing when you expect to be doing 3D rendering of the volume.

Enumerator
SMOOTH3D_NONE 

Perform no smoothing on the original data when building the octree. This is recommended in almost all cases.

SMOOTH3D_TRILINEAR 

Perform no tri-linear on the original data when building the octree. Fairly quick and provides higher quality gradients.

SMOOTH3D_TRICUBIC 

Perform no tri-cubic on the original data when building the octree. Significantly slower than tri-linear and provides the best quality gradients.

Type of smooth to apply when optimizing the polygon object.

Enumerator
SPT_NONE 

No smoothing.

SPT_LAPLACIAN 

Performs a Laplacian smooth.

Stereo viewing modes.

Enumerator
STEREO_MODE_OFF 

Stereo viewing is disabled.

STEREO_MODE_LEFT_EYE 

This render engine should render the left eye.

STEREO_MODE_RIGHT_EYE 

This render engine should render the right eye.

trace options

Enumerator
TO_NONE 

log disabled

TO_SHOW_COMMANDS 

log commands sent to the server

TO_SHOW_COMMAND_TIME 

log time taken by the execution of the command

TO_SHOW_COMMAND_ARGUMENTS 

log command arguments

TO_SHOW_COMMAND_RESULTS 

log command results

TO_SHOW_COMMAND_DEBUG1 

basic debug information

TO_SHOW_COMMAND_DEBUG2 

in depth debug information

TO_SHOW_COMMAND_DEBUG3 

most verbose debug information

TO_SHOW_STATS 

renamed and reused for deeper logging. it was never used internally anyway.

Enumerator
UPDATE_MODE_CLEAR 

Restores octree to original state (clears all segmentation results)

UPDATE_MODE_POSITIVE 

Makes all segmented sub-volumes visible.

UPDATE_MODE_NEGATIVE 

Makes all segmented sub-volumes invisible.

UPDATE_MODE_INVERT 

Makes visible sub-volumes invisible and vice versa.

UPDATE_MODE_REBUILD 

Rebuild sub-volumes.

UPDATE_MODE_SET_TF_1 

Makes all segmented sub-volumes a member of the primary transfer function.

UPDATE_MODE_SET_TF_2 

Makes all segmented sub-volumes a member of the secondary transfer function.

UPDATE_MODE_CLEAR_BY_MASK 

Uses a Mask to decide which labels in the segmented volume to clear.

Vertex Call List types.

Enumerator
VCL_TYPE_TRIANGLES 

Draw filled triangles.

VCL_TYPE_LINES 

Draw lines.

View modes

Enumerator
VM_MPR_CLIP 

Standard manipulation mode that allows full manipulation of the projection plane. If you move the projection plane into the volume, it will cut away into the volume and what is behind the projection plane will not be visible.

VM_VIEW3D 

Alternative manipulation mode for a user that is not familiar with the concept of projection plane manipulation in a parallel projection mode. Your projection plane will always be snapped to a unit sphere and the projection plane will not clip into the volume.