Fovia's Java Client/Server API
Public Member Functions | Protected Member Functions | List of all members
com.fovia.hdrc.hdrcIVolumeSegmentation Class Reference
Inheritance diagram for com.fovia.hdrc.hdrcIVolumeSegmentation:
com.fovia.hdrcsrv.hdrcsrvsdConstants com.fovia.hdrcsrv.hdrcDefines

Public Member Functions

int applyAsLabelVolume (hdrcVolumeDataContext dataToApply, boolean bNormalizeValues, int minValue, int maxValue) throws IOException
 
int clearCustomKernel () throws IOException
 
int clearLabels (int labelMask) throws IOException
 
int colorizeTF (hdrcRenderEngineContext renderEngine, int inIndex, int outIndex, int r, int g, int b) throws IOException
 
int combineLabels (int inIndex1, int inIndex2, int outIndex) throws IOException
 
int copyLabel (int inIndex, int outIndex) throws IOException
 
int customSegmentationFunction (int callID, String stringParam, hdrcVolumeDataContext vd, hdrcOctreeContext octree) throws IOException
 
int dilateOneObject (int segLabelIndex, int indexToDilate, VECTOR3D origin, int count) throws IOException
 
int enableInteractiveSeg (hdrcRenderEngineContext[] arrayOfRenderEngines) throws IOException
 
int erodeOneObject (int segLabelIndex, int indexToDilate, VECTOR3D origin, int count) throws IOException
 
SEGMENTATION_VOLUME finishJobSegment (long job) throws IOException
 
int freeHandCut (hdrcRenderEngineContext rec, POINT arrPoints[], int mode, int segLabelIndex, int width, int height) throws IOException
 
long getId ()
 
long getNID ()
 
hdrcOctreeContext getOctree ()
 
int getSegLabelIndex ()
 
int initialize (hdrcOctreeContext octree) throws IOException
 
int interactiveSegCancel () throws IOException
 
int interactiveSegEnd () throws IOException
 
SEGMENTATION_VOLUME interactiveSegInit (SEGMENTATION_PARAMS segParams) throws IOException
 
SEGMENTATION_VOLUME interactiveSegReSegment (SEGMENTATION_PARAMS segParams) throws IOException
 
int loadCustomKernel (String dll_path, SEGMENTATION_PARAMS segParams) throws IOException
 
int loadSegStateFromGIPL (String fileName) throws IOException
 
int makeColorLabeledTFsfromWindowLevel (hdrcRenderEngineContext renderEngine, int windowWidth, int windowLevel) throws IOException
 
int makeColorLabelsFromMainTF (hdrcRenderEngineContext renderEngine) throws IOException
 
int makeTFfromWindowLevel (hdrcRenderEngineContext renderEngine, int index, int windowWidth, int windowLevel, byte startRed, byte startGreen, byte startBlue, byte endRed, byte endGreen, byte endBlue) throws IOException
 
int releaseSessionResources () throws IOException
 
int saveForUndo (int index) throws IOException
 
int saveSegStateAsGIPL (String fileName) throws IOException
 
SEGMENTATION_VOLUME segment (SEGMENTATION_PARAMS segParams) throws IOException
 
int setColorizationColors (int[] colorArray) throws IOException
 
int setSegLabelIndex (int labelIndex) throws IOException
 
int setSegLabelMask (long labelMasks0to63, long labelMasks64to127, long labelMasks128to191, long labelMasks192to255) throws IOException
 
int setSegType (int segType) throws IOException
 
long startJobSegment (SEGMENTATION_PARAMS segParams) throws IOException
 
int swapLabels (int index1, int index2) throws IOException
 
int undoLast () throws IOException
 

Protected Member Functions

native int applyAsLabelVolume (long nid, long volumeDataID, boolean bNormalizeValues, int minValue, int maxValue) throws IOException
 
native int clearCustomKernel (long nid) throws IOException
 
native int clearLabels (long nid, int labelMask) throws IOException
 
native int colorizeTF (long nid, long renderEngineID, int inIndex, int outIndex, int r, int g, int b) throws IOException
 
native int combineLabels (long nid, int inIndex1, int inIndex2, int outIndex) throws IOException
 
native int copyLabel (long nid, int inIndex, int outIndex) throws IOException
 
native int customSegmentationFunction (long nid, int callID, String stringParam, long vd, long octree) throws IOException
 
native int dilateOneObject (long nid, int segLabelIndex, int indexToDilate, VECTOR3D origin, int count) throws IOException
 
int enableInteractiveSeg (long[] arrayOfRenderEngineIDs) throws IOException
 
native int enableInteractiveSeg (long nid, long[] arrayOfRenderEngineIDs) throws IOException
 
native int erodeOneObject (long nid, int segLabelIndex, int indexToDilate, VECTOR3D origin, int count) throws IOException
 
native int finishJobSegment (long nid, long job, SEGMENTATION_VOLUME segVolume) throws IOException
 
native int freeHandCut (long nid, long engine, POINT arrPoints[], int mode, int segLabelIndex, int width, int height) throws IOException
 
native long getId (long nid)
 
 hdrcIVolumeSegmentation (long id, hdrcServerContext serverContext, hdrcSerializer ser)
 
native int initialize (long nid, long octree) throws IOException
 
native int interactiveSegCancel (long nid) throws IOException
 
native int interactiveSegEnd (long nid) throws IOException
 
native int interactiveSegInit (long nid, SEGMENTATION_PARAMS segParams, SEGMENTATION_VOLUME segVolume) throws IOException
 
native int interactiveSegReSegment (long nid, SEGMENTATION_PARAMS segParams, SEGMENTATION_VOLUME segVolume) throws IOException
 
native int loadCustomKernel (long nid, String dll_path, SEGMENTATION_PARAMS segParams) throws IOException
 
native int loadSegStateFromGIPL (long nid, String fileName) throws IOException
 
native int makeColorLabeledTFsfromWindowLevel (long nid, long renderEngineID, int windowWidth, int windowLevel) throws IOException
 
native int makeColorLabelsFromMainTF (long nid, long renderEngine) throws IOException
 
native int makeTFfromWindowLevel (long nid, long renderEngineID, int index, int windowWidth, int windowLevel, byte startRed, byte startGreen, byte startBlue, byte endRed, byte endGreen, byte endBlue) throws IOException
 
native int releaseSessionResources (long nid) throws IOException
 
native int saveForUndo (long nid, int index) throws IOException
 
native int saveSegStateAsGIPL (long nid, String fileName) throws IOException
 
native int segment (long nid, SEGMENTATION_PARAMS segParams, SEGMENTATION_VOLUME segVolume) throws IOException
 
native int setColorizationColors (long nid, int[] colorArray) throws IOException
 
native int setSegLabelIndex (long nid, int labelIndex) throws IOException
 
native int setSegLabelMask (long nid, long labelMasks0to63, long labelMasks64to127, long labelMasks128to191, long labelMasks192to255) throws IOException
 
native int setSegType (long nid, int segType) throws IOException
 
native long startJobSegment (long nid, SEGMENTATION_PARAMS segParams) throws IOException
 
native int swapLabels (long nid, int index1, int index2) throws IOException
 
native int undoLast (long nid) throws IOException
 

Additional Inherited Members

- Static Public Attributes inherited from com.fovia.hdrcsrv.hdrcDefines
static final int CID_APPLY_AS_COLORIZATION_MAP = 66
 
static final int CID_APPLY_VOLUMETRIC_SHADOW_MAP = 72
 
static final int CID_AUTONAVIGATE = 29
 
static final int CID_CHECK_CHANNEL = 23
 
static final int CID_CREATE_IVOLUMESEGMENTATION = 26
 
static final int CID_CREATE_POLYGONUTIL = 60
 
static final int CID_CREATE_RENDER_ENGINE = 2
 
static final int CID_CREATE_VERTEX_CALL_LIST = 53
 
static final int CID_CREATE_VOLUME_OCTREE = 4
 
static final int CID_CREATE_VOLUME_SHADOW = 74
 
static final int CID_FAST_SWAP = 44
 
static final int CID_FIND_PATH = 52
 
static final int CID_FINISH_JOB = 16
 
static final int CID_GET_COLORIZATION = 58
 
static final int CID_GET_CURVED_REFORMAT = 43
 
static final int CID_GET_DATA_HOLDER = 20
 
static final int CID_GET_HISTOGRAM = 28
 
static final int CID_GET_JOB_INFO = 15
 
static final int CID_GET_RENDER_ENGINE_TF_COUNT = 65
 
static final int CID_GET_RENDER_PARAMS = 6
 
static final int CID_GET_SEGMENTATION = 30
 
static final int CID_GET_TRANSFER_FUNCTION = 57
 
static final int CID_GET_VISIBILITY_INFO = 39
 
static final int CID_GET_VOLUME_DATA_PARAMS = 17
 
static final int CID_GETDICOMTAGS = 35
 
static final int CID_IS_RENDERING_FINISHED = 27
 
static final int CID_IVOLUMESEGMENTATION_CALL = 25
 
static final int CID_LOAD_DICOM_FILE_LIST = 33
 
static final int CID_LOAD_PRESET = 9
 
static final int CID_LOAD_RAW_FILES = 62
 
static final int CID_LOAD_SERIES_FROM_DICOM_LIST = 34
 
static final int CID_LOAD_VOLUME_DATA = 1
 
static final int CID_OUTPUTDICOMIMAGES = 37
 
static final int CID_POLYGONUTIL_CALL = 61
 
static final int CID_PROJECT_POINT = 13
 
static final int CID_PROJECT_VOLUMETRIC_SHADOW = 45
 
static final int CID_RELEASE_ALL_SESSION_OBJECT = 55
 
static final int CID_RELEASE_SESSION_OBJECT = 19
 
static final int CID_RENDER = 7
 
static final int CID_RENDER_SHADOW_LIGHT = 73
 
static final int CID_RETRIEVE_DATA = 22
 
static final int CID_SAVE_PRESET = 18
 
static final int CID_SCAN_DICOM_DIRECTORY = 32
 
static final int CID_SET_CLIENT_VERSION = 64
 
static final int CID_SET_COLORIZATION = 59
 
static final int CID_SET_COLORIZATION_COLORS = 51
 
static final int CID_SET_COLORIZATION_ENABLED = 49
 
static final int CID_SET_COLORIZATION_INDEX = 50
 
static final int CID_SET_CURVED_MPR_PATH = 42
 
static final int CID_SET_FAST_POLYGONS_ENABLED = 67
 
static final int CID_SET_FRAMES_PER_PHASE = 48
 
static final int CID_SET_PHASE = 47
 
static final int CID_SET_RENDER_PARAMS = 5
 
static final int CID_SET_SEG_BOUNDARIES = 70
 
static final int CID_SET_SEGMENTATION = 31
 
static final int CID_SET_TRANSFER_FUNCTION = 56
 
static final int CID_SET_VIEW_MODE = 24
 
static final int CID_SET_VOLUME_DATA = 3
 
static final int CID_SET_VOLUME_DATA_4D = 46
 
static final int CID_SETDICOMTAGS = 36
 
static final int CID_SETRP_AND_RENDER = 8
 
static final int CID_SETRP_RENDER_AND_SEND_PREV = 41
 
static final int CID_SHOOT_RAY = 12
 
static final int CID_SHOOT_RAY_FAST = 38
 
static final int CID_SHOOT_RAY_GET_WALL = 69
 
static final int CID_START_JOB = 14
 
static final int CID_STORE_DATA = 21
 
static final int CID_TESTFUNCTION = 63
 
static final int CID_UPDATE_OCTREE = 68
 
static final int CID_UPDATE_VERTEX_CALL_LISTS = 54
 
static final int CID_VOLUME_SHADOW_CALL = 71
 
static final int CID_WAIT_PREV_RENDER = 40
 
static final int CM_DILATION = 5
 
static final int CM_EROSION = 4
 
static final int CM_MIN_MAX = 0
 
static final int CM_MIN_MAX_BONE = 3
 
static final int CM_MIN_MAX_SMART = 1
 
static final int CM_MIN_MAX_SMART_EXPAND = 2
 
static final int COLOR_MODEL_GRAYSCALE12 = COLOR_MODEL_GRAYSCALE8+1
 
static final int COLOR_MODEL_GRAYSCALE8 = COLOR_MODEL_NONE+1
 
static final int COLOR_MODEL_NONE = 0
 
static final int COLOR_MODEL_RGB = COLOR_MODEL_GRAYSCALE12+1
 
static final int COMPRESSION_TYPE_JPEG = COMPRESSION_TYPE_ZIP+1
 
static final int COMPRESSION_TYPE_JPEG2000 = COMPRESSION_TYPE_STRETCH+1
 
static final int COMPRESSION_TYPE_JPEG_RGB = COMPRESSION_TYPE_PNG+1
 
static final int COMPRESSION_TYPE_NONE = 0
 
static final int COMPRESSION_TYPE_PNG = COMPRESSION_TYPE_RLE+1
 
static final int COMPRESSION_TYPE_RLE = COMPRESSION_TYPE_JPEG2000+1
 
static final int COMPRESSION_TYPE_STRETCH = COMPRESSION_TYPE_JPEG+1
 
static final int COMPRESSION_TYPE_ZIP = COMPRESSION_TYPE_NONE+1
 
static final int CP_FRAGMENT_FORM_MASK = 0x0000C000
 
static final int CP_FRAGMENT_FORM_SQUARE = 0x00004000
 
static final int CP_FRAGMENT_FORM_STRIPE = 0x00008000
 
static final int CP_FRAGMENT_ID_MASK = 0x000000FF
 
static final int CP_FRAGMENT_ID_SHIFT = 0
 
static final int CP_FRAGMENT_NONE = 0x0
 
static final int CP_FRAGMENT_PACKING_FRAGMENT_ONLY = 0x00001000
 
static final int CP_FRAGMENT_PACKING_MASK = 0x0000F000
 
static final int CP_FRAGMENT_PACKING_SHIFT = 11
 
static final int CP_FRAGMENT_PACKING_TYPE_MASK = 0x00003000
 
static final int CP_FRAGMENT_PACKING_WHOLE_IMAGE = 0x00000000
 
static final int CP_FRAGMENT_SQUARE_SIZE = 256
 
static final int CP_FRAGMENT_STRIPE_SIZE = 128
 
static final int CP_FRAGMENT_VALID = 0x70000000
 
static final int CULL_MODE_BACK = 1
 
static final int CULL_MODE_BACK_INV = 2
 
static final int CULL_MODE_NONE = 0
 
static final int CURVED_MPR_TYPE_X_IS_CURVED = CURVED_MPR_TYPE_X_IS_CURVED_TRILINEAR
 
static final int CURVED_MPR_TYPE_X_IS_CURVED_TRICUBIC = CURVED_MPR_TYPE_Y_IS_CURVED_TRILINEAR+1
 
static final int CURVED_MPR_TYPE_X_IS_CURVED_TRILINEAR = 0
 
static final int CURVED_MPR_TYPE_Y_IS_CURVED = CURVED_MPR_TYPE_Y_IS_CURVED_TRILINEAR
 
static final int CURVED_MPR_TYPE_Y_IS_CURVED_TRICUBIC = CURVED_MPR_TYPE_X_IS_CURVED_TRICUBIC+1
 
static final int CURVED_MPR_TYPE_Y_IS_CURVED_TRILINEAR = CURVED_MPR_TYPE_X_IS_CURVED_TRILINEAR+1
 
static final int CUT_PLANE_MODE_MAX_DISTANCE = CUT_PLANE_MODE_STANDARD+1
 
static final int CUT_PLANE_MODE_MIN_DISTANCE = CUT_PLANE_MODE_MAX_DISTANCE+1
 
static final int CUT_PLANE_MODE_STANDARD = 0
 
static final int CUT_PLANE_STATUS_DISABLED = 0
 
static final int CUT_PLANE_STATUS_ENABLED = CUT_PLANE_STATUS_DISABLED+1
 
static final int CUT_PLANE_TYPE_NEGATIVE = CUT_PLANE_TYPE_POSITIVE+1
 
static final int CUT_PLANE_TYPE_POSITIVE = 0
 
static final int DEFAULT_RENDER_IMAGE_HEIGHT = 512
 
static final int DEFAULT_RENDER_IMAGE_WIDTH = 512
 
static final int DO_SLICE = 0
 
static final int DT_BIG_ENDIAN = 2
 
static final int DT_MONOCHROME_1 = 16
 
static final int DT_REVERSE_BIT_ORDER = 4
 
static final int DT_SIGNED = 1
 
static final int DT_UPPER_BITS_DIRTY = 8
 
static final int E_FAIL = 0x80004005
 
static final int E_INVALIDARG = 0x80070057
 
static final int E_NOINTERFACE = 0x80004002
 
static final int E_NOTIMPL = 0x80004001
 
static final int E_OUTOFMEMORY = 0x8007000E
 
static final int E_PENDING = 0x8000000A
 
static final int E_POINTER = 0x80004003
 
static final int E_UNEXPECTED = 0x8000FFFF
 
static final int EROSION_DILATION_CLASSIC = 255
 
static final int FHC_COMPLETE_VOLUME = 3
 
static final int FHC_FIRST_LAYER = 2
 
static final int FHC_SURFACE_ONLY = 1
 
static final int FHC_WHOLE_VOLUME = 0
 
static final int FPS_NO_CAP = 100000
 
static final int IMAGE_TYPE_LUMINANCE12 = (2<<8)|2
 
static final int IMAGE_TYPE_LUMINANCE16 = (3<<8)|2
 
static final int IMAGE_TYPE_LUMINANCE8 = (1<<8)|1
 
static final int IMAGE_TYPE_NONE = 0
 
static final int IMAGE_TYPE_RGB = (4<<8)|3
 
static final int IMAGE_TYPE_RGBA = (5<<8)|4
 
static final int IMAGE_TYPE_RGBX = (6<<8)|4
 
static final int LDO_DCM_UTF8 = 1002
 
static final int LDO_DICOM_DIRECTORY = 1
 
static final int LDO_DICOM_FILE_SET =3
 
static final int LDO_FILE_SET = 4
 
static final int LDO_MEMORY_BLOCK = 2
 
static final int LDO_MEMORY_MAP_SET = 5
 
static final int LDO_RAW_DATASET_PATH = 0
 
static final int LDO_SEGY_DATASET_PATH =6
 
static final int LIGHT_MODEL_BEAM = 0
 
static final int LIGHT_MODEL_HEADLIGHT = LIGHT_MODEL_BEAM+1
 
static final int LMM_ATTACHED_TO_CAMERA = 0
 
static final int LMM_ATTACHED_TO_DATASET = 1
 
static final int MAX_ALTERNATE_TRANSFER_FUNCTIONS = 7
 
static final int MAX_CT_VALUE = 1024*4-1024
 
static final int MAX_CUTPLANES = 16
 
static final int MAX_DATASET_BIT_DEPTH = 16
 
static final int MAX_DIMENSION_X = 4096
 
static final int MAX_DIMENSION_Y = 4096
 
static final int MAX_DIMENSION_Z = 4096
 
static final int MAX_OPACITY_FUNCTION_VALUE = 1024*4 - 1
 
static final int MAX_RENDER_IMAGE_HEIGHT = 8192
 
static final int MAX_RENDER_IMAGE_WIDTH = 8192
 
static final int MAX_RENDER_RANGE_POINTS = 50
 
static final int MAX_RENDER_RANGES_PARAMS = 8
 
static final float MAX_RENDER_ZOOM = 700.0f
 
static final double MAX_THIN_SLAB = 4096
 
static final int MESH_UPDATE_ALL = 63
 
static final int MESH_UPDATE_COLORS = 4
 
static final int MESH_UPDATE_INDICES = 16
 
static final int MESH_UPDATE_NORMALS = 2
 
static final int MESH_UPDATE_SHADING = 8
 
static final int MESH_UPDATE_TEX_COORDS = 32
 
static final int MESH_UPDATE_VERTICES = 1
 
static final int MIN_CT_VALUE = 0 -1024
 
static final int MIN_OPACITY_FUNCTION_VALUE = 0
 
static final int MIN_RENDER_IMAGE_HEIGHT = 64
 
static final int MIN_RENDER_IMAGE_WIDTH = 64
 
static final float MIN_RENDER_ZOOM = 0.125f
 
static final double MIN_THIN_SLAB = 0
 
static final int PET_MARCHING_CUBES = 0
 
static final int PPM_CALL_LISTS = (1<<0)
 
static final int PPM_NONE = 0
 
static final int RENDER_ENGINE_ID_MIP = 3
 
static final int RENDER_ENGINE_ID_MPR = 0
 
static final int RENDER_ENGINE_ID_PAR = 1
 
static final int RENDER_ENGINE_ID_PER = 2
 
static final int RENDER_IMAGE_HEIGHT_STEP = 16
 
static final int RENDER_IMAGE_WIDTH_STEP = 16
 
static final int RENDER_QUALITY_BEST = RENDER_QUALITY_BETTER+1
 
static final int RENDER_QUALITY_BETTER = RENDER_QUALITY_DRAFT+1
 
static final int RENDER_QUALITY_DRAFT = RENDER_QUALITY_RAW+1
 
static final int RENDER_QUALITY_NONE = 0
 
static final int RENDER_QUALITY_PRINT = 0x7fffffff
 
static final int RENDER_QUALITY_RAW = RENDER_QUALITY_NONE+1
 
static final int RENDER_RANGE_STATUS_DISABLED = RENDER_RANGE_STATUS_ENABLED+1
 
static final int RENDER_RANGE_STATUS_ENABLED = 0
 
static final int RENDER_RANGE_TYPE_AUTO_COLOR = RENDER_RANGE_TYPE_CATMUL+1
 
static final int RENDER_RANGE_TYPE_BSPLINE = RENDER_RANGE_TYPE_LINES_END_COLOR+1
 
static final int RENDER_RANGE_TYPE_CATMUL = RENDER_RANGE_TYPE_BSPLINE+1
 
static final int RENDER_RANGE_TYPE_LINES = RENDER_RANGE_TYPE_NONE+1
 
static final int RENDER_RANGE_TYPE_LINES_END_COLOR = RENDER_RANGE_TYPE_LINES+1
 
static final int RENDER_RANGE_TYPE_NONE = 0
 
static final int RENDER_STAGE_AUTO_IMPROVE = RENDER_STAGE_CURRENT+1
 
static final int RENDER_STAGE_CURRENT = RENDER_STAGE_FINAL+1
 
static final int RENDER_STAGE_FINAL = RENDER_STAGE_PROGR5+1
 
static final int RENDER_STAGE_NONE = 0
 
static final int RENDER_STAGE_PROGR0 = RENDER_STAGE_NONE+1
 
static final int RENDER_STAGE_PROGR1 = RENDER_STAGE_PROGR0+1
 
static final int RENDER_STAGE_PROGR2 = RENDER_STAGE_PROGR1+1
 
static final int RENDER_STAGE_PROGR3 = RENDER_STAGE_PROGR2+1
 
static final int RENDER_STAGE_PROGR4 = RENDER_STAGE_PROGR3+1
 
static final int RENDER_STAGE_PROGR5 = RENDER_STAGE_PROGR4+1
 
static final int RF_ALL = 0x7FFFFFFF
 
static final int RF_ALLOW_IMAGE_SMOOTH = (1<<2)
 
static final int RF_ALLOW_RENDER_CACHE = (1<<1)
 
static final int RF_CUT_PLANES_AFFECT_POLYGONS =(1 << 13)
 
static final int RF_DEFAULT = RF_ALLOW_IMAGE_SMOOTH|RF_USE_GRADIENTS|RF_USE_SLAB_MIP
 
static final int RF_DONT_NORMALIZE_TF = (1<<7)
 
static final int RF_FRONT_CLIPPING_PLANE_ENABLED = (1<<8)
 
static final int RF_LONG_TRIANGLE_FIX =(1 << 14)
 
static final int RF_MASK_DEFAULT = RF_ALLOW_IMAGE_SMOOTH|RF_USE_GRADIENTS|RF_USE_SLAB_MPR|RF_USE_SLAB_PAR|RF_USE_SLAB_MIP|RF_POLYGON_LINES_IN_SCREEN_SPACE
 
static final int RF_NONE = (0)
 
static final int RF_POLYGON_CROSS_SECTIONS =(1 << 12)
 
static final int RF_POLYGON_LINES_IN_SCREEN_SPACE =(1 << 10)
 
static final int RF_THICK_MODES_USE_TRANSFER_FUNCTION =(1 << 9)
 
static final int RF_THIN_MODES_OUTPUT_RGB =(1 << 15)
 
static final int RF_USE_GRADIENTS = (1<<3)
 
static final int RF_USE_SLAB_MIP = (1<<6)
 
static final int RF_USE_SLAB_MPR = (1<<4)
 
static final int RF_USE_SLAB_PAR = (1<<5)
 
static final int RF_VERTEX_COLOR_MAP =(1 << 11)
 
static final int RPM_ALL = 0x7FFFFFFF
 
static final int RPM_AMBIENCE = (1 <<30)
 
static final int RPM_BACK_COLOR = (1<<17)
 
static final int RPM_BRIGHTNESS = (1<<18)
 
static final int RPM_COLOR_MODEL = (1<<7)
 
static final int RPM_CROP_BOX = (1<<16)
 
static final int RPM_CUT_PLANES = (1<<23)
 
static final int RPM_DEFAULT = RPM_ALL
 
static final int RPM_DESIRED_FPS = (1<<10)
 
static final int RPM_FRONT_SLAB_POLYGON_TRANSPARENCY = (1 <<29)
 
static final int RPM_GRAD_INSEN_SLAB = (1<<15)
 
static final int RPM_LIGHT_MODEL = (1<<9)
 
static final int RPM_LIGHT_PARAMS = (1<<27)
 
static final int RPM_MIN_QUALITY_BIAS = (1<<28)
 
static final int RPM_NONE = (0)
 
static final int RPM_NUM_RENDERING_THREADS = (1<<25)
 
static final int RPM_PHONG_PARAMETERS = RPM_AMBIENCE | RPM_BRIGHTNESS | RPM_SHININESS | RPM_REFLECTION
 
static final int RPM_QUALITY = (1<<8)
 
static final int RPM_RAYCASTING_PRECISION = (1<<21)
 
static final int RPM_REAR_SLAB_POLYGON_TRANSPARENCY = (1 <<31)
 
static final int RPM_REFLECTION = (1<<20)
 
static final int RPM_RENDER_IMAGE_SIZE = (1<<24)
 
static final int RPM_RENDER_RANGE_MIN_MAX = (1<<11)
 
static final int RPM_RENDER_RANGES = (1<<12)
 
static final int RPM_RENDER_SAMPLES = (1<<22)
 
static final int RPM_RENDER_TYPE = (1<<0)
 
static final int RPM_SHININESS = (1<<19)
 
static final int RPM_SLAB_THICKNESS = (1<<14)
 
static final int RPM_STEREO_MODE = (1<<26)
 
static final int RPM_TRANSFORM = RPM_TRANSFORM_RSS|RPM_TRANSFORM_OFFSET|RPM_TRANSFORM_PC
 
static final int RPM_TRANSFORM_OFFSET = RPM_TRANSFORM_XPOS|RPM_TRANSFORM_YPOS|RPM_TRANSFORM_ZPOS
 
static final int RPM_TRANSFORM_PC = (1<<5)
 
static final int RPM_TRANSFORM_RSS = (1<<4)
 
static final int RPM_TRANSFORM_XPOS = (1<<1)
 
static final int RPM_TRANSFORM_YPOS = (1<<2)
 
static final int RPM_TRANSFORM_ZPOS = (1<<3)
 
static final int RPM_VIEW_ANGLE = (1<<13)
 
static final int RPM_ZOOM = (1<<6)
 
static final int RT_AUTO_FADED_MIP = (1<<18)
 
static final int RT_AUTO_MINIP = (1<<19)
 
static final int RT_AUTO_MIP = (1<<17)
 
static final int RT_BRUTE_FORCE_AVE = RT_THIN_AVE
 
static final int RT_BRUTE_FORCE_FMIP = RT_THIN_FMIP
 
static final int RT_BRUTE_FORCE_MINIP = RT_THIN_MINIP
 
static final int RT_BRUTE_FORCE_MIP = RT_THIN_MIP
 
static final int RT_MIP = RT_THICK_MIP
 
static final int RT_MPR_AXIAL = (1<<3)
 
static final int RT_MPR_CORONAL = (1<<5)
 
static final int RT_MPR_CURVED = (1<<13)
 
static final int RT_MPR_OBLIQUE = (1<<6)
 
static final int RT_MPR_SAGITTAL = (1<<4)
 
static final int RT_MPR_XY = (1<<0)
 
static final int RT_MPR_XZ = (1<<1)
 
static final int RT_MPR_YZ = (1<<2)
 
static final int RT_NONE = 0
 
static final int RT_PARALLEL = (1<<7)
 
static final int RT_PERSPECTIVE = (1<<8)
 
static final int RT_RESERVED16 = (1<<16)
 
static final int RT_THICK_FADED_MIP = (1<<10)
 
static final int RT_THICK_MINIP = (1<<20)
 
static final int RT_THICK_MINIP_PERSPECTIVE = (1<<22)
 
static final int RT_THICK_MIP = (1<<9)
 
static final int RT_THICK_MIP_PERSPECTIVE = (1<<21)
 
static final int RT_THIN_AVE = (1<<14)
 
static final int RT_THIN_FMIP = (1<<12)
 
static final int RT_THIN_MINIP = (1<<15)
 
static final int RT_THIN_MIP = (1<<11)
 
static final int RT_XRAY = RT_THICK_FADED_MIP
 
static final int S_FALSE = 1
 
static final int S_OK = 0
 
static final int SEG_GRAN_1X1X1 = 0
 
static final int SEG_GRAN_2X2X2 = 1
 
static final int SEGMENTATION_TYPE_ADDITIVE = 0
 
static final int SEGMENTATION_TYPE_SUBTRACTIVE = 1
 
static final int SK_CUSTOM = 4
 
static final int SK_MIN_MAX = 0
 
static final int SK_MIN_MAX_BONE = 3
 
static final int SK_MIN_MAX_GRADIENT = 1
 
static final int SK_MIN_MAX_GRADIENT_EXPAND = 2
 
static final int SMOOTH3D_NONE = 0
 
static final int SMOOTH3D_TRICUBIC = 2
 
static final int SMOOTH3D_TRILINEAR = 1
 
static final int SPT_LAPLACIAN = 1
 
static final int SPT_NONE = 0
 
static final int ST_ADDITIVE = 0
 
static final int ST_SUBTRACTIVE = 1
 
static final int STEREO_MODE_LEFT_EYE = 1
 
static final int STEREO_MODE_OFF = 0
 
static final int STEREO_MODE_RIGHT_EYE = 2
 
static final int THICK_TF_MIP_OPACITY = 500
 
static final int TO_NONE = 0
 
static final int TO_SHOW_COMMAND_ARGUMENTS = (1 << 2)
 
static final int TO_SHOW_COMMAND_DEBUG1 = (1 << 4)
 
static final int TO_SHOW_COMMAND_DEBUG2 = (1 << 5)
 
static final int TO_SHOW_COMMAND_DEBUG3 = (1 << 6)
 
static final int TO_SHOW_COMMAND_RESULTS = (1 << 3)
 
static final int TO_SHOW_COMMAND_TIME = (1 << 1)
 
static final int TO_SHOW_COMMANDS = (1 << 0)
 
static final double TRANSFER_FUNCTION_LOG_CORRECTION = 0.4
 
static final int UPDATE_MODE_CLEAR = 0
 
static final int UPDATE_MODE_CLEAR_BY_MASK = 10
 
static final int UPDATE_MODE_CLEAR_MULTI_TF = UPDATE_MODE_SET_TF_2+1
 
static final int UPDATE_MODE_CLEAR_NODES_ONLY = UPDATE_MODE_INVERT_MULTI_TF+1
 
static final int UPDATE_MODE_INVERT = UPDATE_MODE_NEGATIVE+1
 
static final int UPDATE_MODE_INVERT_MULTI_TF = UPDATE_MODE_CLEAR_MULTI_TF+1
 
static final int UPDATE_MODE_NEGATIVE = UPDATE_MODE_POSITIVE+1
 
static final int UPDATE_MODE_POSITIVE = UPDATE_MODE_CLEAR+1
 
static final int UPDATE_MODE_REBUILD = UPDATE_MODE_INVERT+1
 
static final int UPDATE_MODE_SET_TF_1 = UPDATE_MODE_REBUILD+1
 
static final int UPDATE_MODE_SET_TF_2 = UPDATE_MODE_SET_TF_1+1
 
static final int VCL_OPTIMIZE_DO_NOT_REMOVE = 0xFFFFFFFF
 
static final int VCL_TYPE_LINES = 1
 
static final int VCL_TYPE_TRIANGLES = 0
 
static final int VCLF_CUT_PLANES_AFFECT_POLYGONS =(1 << 0)
 
static final int VCLF_INVERT_MESH_GRADIENTS =(1 << 2)
 
static final int VCLF_NONE =(0 )
 
static final int VCLF_PER_CALL_LIST_INTERSECTION_LINE_PARAMS =(1 << 1)
 
static final int VLT_DIRECTIONAL = 0
 
static final int VLT_FRUSTRUM = 1
 
static final int VM_VEWMPR = 0
 
static final int VM_VIEW3D = 1
 

Detailed Description

Interface for segmenting a volume. Note that this interface is only valid for RT_PARALLEL, RT_PERSPECTIVE, RT_THICK_MIP and RT_THICK_FADED_MIP rendering types. RT_THIN_MIP, RT_THIN_AVE and RT_THIN_MINIP will not expose this interface. Use hdrcServerContext to create the interface.

Constructor & Destructor Documentation

com.fovia.hdrc.hdrcIVolumeSegmentation.hdrcIVolumeSegmentation ( long  id,
hdrcServerContext  serverContext,
hdrcSerializer  ser 
)
protected

Placeholder()

Member Function Documentation

int com.fovia.hdrc.hdrcIVolumeSegmentation.applyAsLabelVolume ( hdrcVolumeDataContext  dataToApply,
boolean  bNormalizeValues,
int  minValue,
int  maxValue 
) throws IOException

This seems to be a legacy colorization method before segmentation was thought of as labels and multi TF's

int com.fovia.hdrc.hdrcIVolumeSegmentation.clearLabels ( int  labelMask) throws IOException

Clear the segmentation info for some labels

Parameters
labelMaskbit mask indicating which labels to clear (e.g. 0x02 will only clear label 1, and 0xff will clear all 8 labels)
int com.fovia.hdrc.hdrcIVolumeSegmentation.colorizeTF ( hdrcRenderEngineContext  renderEngine,
int  inIndex,
int  outIndex,
int  r,
int  g,
int  b 
) throws IOException

Take a 3D Transfer Function and make it all a solid colr (usefull for visualizing the results of segmentation)

Parameters
renderEnginerenderEngine to change the TFs
inIndexwhich Label TF to use as the shape of the TF
outIndexwhich Label TF to set
rcolor to use
gcolor to use
bcolor to use
int com.fovia.hdrc.hdrcIVolumeSegmentation.combineLabels ( int  inIndex1,
int  inIndex2,
int  outIndex 
) throws IOException

Combine two labels into one using a voxel-wise or operation

Parameters
inIndex1first label to combine
inIndex2second label to combine
outIndexlabel to place the result in (note it can be the same as one of the input labels)
int com.fovia.hdrc.hdrcIVolumeSegmentation.copyLabel ( int  inIndex,
int  outIndex 
) throws IOException

Copy one label to another

Parameters
inIndexlabel to copy from
outIndexlabel to copy to
int com.fovia.hdrc.hdrcIVolumeSegmentation.customSegmentationFunction ( int  callID,
String  stringParam,
hdrcVolumeDataContext  vd,
hdrcOctreeContext  octree 
) throws IOException

Executes a user defined custom algorithm registered with the server application. This custom algorithm can perform segmentation, or other data analysis actions.

Parameters
callIDThe ID value associated with the custom algorithm.
stringParamA string value to be passed to the algorithm.
vdThe hdrcVolumeDataContext object the algorithm should operate on.
octreeThe hdrcOctreeContext object associated with the input hdrcVolumeDataContext object.
Returns
The return code from the algorithm.
int com.fovia.hdrc.hdrcIVolumeSegmentation.dilateOneObject ( int  segLabelIndex,
int  indexToDilate,
VECTOR3D  origin,
int  count 
) throws IOException

Dilate one connected component

Parameters
SegLabelIndexIndex of which Label to segment into
indexToDilateIndex of which Label to Dilate
originpoint inside the one connected component to Dilate (Note the "closest surface to this point will be dilated even if it is a "hole" insidea an object and not the object "outside" surface
countnumber of layers to add to the outside
int com.fovia.hdrc.hdrcIVolumeSegmentation.enableInteractiveSeg ( hdrcRenderEngineContext[]  arrayOfRenderEngines) throws IOException

Enable Interactive Segmentation. Specifically setup the render engines that will be rendering the results so that TF can be adjusted for subtractive and other things.

Parameters
arrayOfRenderEnginesAn array of #hdrcRenderEngineContext references.
int com.fovia.hdrc.hdrcIVolumeSegmentation.erodeOneObject ( int  segLabelIndex,
int  indexToDilate,
VECTOR3D  origin,
int  count 
) throws IOException

Erode one connected component

Parameters
SegLabelIndexIndex of which Label to segment into
indexToErodeIndex of which Label to Erode
originpoint inside the one connected component to Dilate (Note the "closest surface to this point will be dilated even if it is a "hole" inside an object and not the object "outside" surface
countnumber of layers to take off from the outside
SEGMENTATION_VOLUME com.fovia.hdrc.hdrcIVolumeSegmentation.finishJobSegment ( long  job) throws IOException

Ends an asynchronous segmentation operation Segments the volume at the 3D point specified. Use the SetSegmentationParams method to set segmentation parameters.

Parameters
jobThe jobID returned from the startJobSegment() method.
Returns
A SEGMENTATION_VOLUME structure containing size of the segmented volume in voxels and cubic millimeters.

References com.fovia.hdrcsrv.hdrcDefines.S_OK.

int com.fovia.hdrc.hdrcIVolumeSegmentation.freeHandCut ( hdrcRenderEngineContext  rec,
POINT  arrPoints[],
int  mode,
int  segLabelIndex,
int  width,
int  height 
) throws IOException

Performs a free hand cut of the data. Call SetSegmentationParams(SEGMENTATION_PARAMS) to set the parameters associated with this cut.

Parameters
recThe render engine upon which the free hand cut will be applied.
arrPointsAn array of POINT objects that specifies an arbitrary polygon to project from the projection plane through the volume.
modeMethod to assign voxels to new index.
segLabelIndexIndex of which Label to segment into
widthWidth in pixels of the current projection plane.
heightHeight in pixels of the current projection plane.
Returns
int - 0 if successful.
Exceptions
IOException
hdrcOctreeContext com.fovia.hdrc.hdrcIVolumeSegmentation.getOctree ( )

Gets the hdrcOctreeContext object associated with the class.

Returns
The hdrcOctreeContext reference.
int com.fovia.hdrc.hdrcIVolumeSegmentation.getSegLabelIndex ( )

Get the label for segmentation output (the label value to segment into)

int com.fovia.hdrc.hdrcIVolumeSegmentation.initialize ( hdrcOctreeContext  octree) throws IOException

Initializes the class. This function must be called before other class functions can be used.

Parameters
octreeThe hdrcOctreeContext object associated with the volume that will be segmented.
segParamsA SEGMENTATOIN_PARAMS data structure that will be initialized to default values.

References com.fovia.hdrcsrv.hdrcDefines.E_INVALIDARG.

int com.fovia.hdrc.hdrcIVolumeSegmentation.interactiveSegCancel ( ) throws IOException

End the current "cycle", the last segmentation is dropped and the persistent seg state remains unaltered from this cycle

int com.fovia.hdrc.hdrcIVolumeSegmentation.interactiveSegEnd ( ) throws IOException

End the current "cycle", the last segmentation from m_workingLabel is "or"-ed over to the SegLabelIndex

SEGMENTATION_VOLUME com.fovia.hdrc.hdrcIVolumeSegmentation.interactiveSegInit ( SEGMENTATION_PARAMS  segParams) throws IOException

Start an interactive segmentation "cycle" (Cycle is defined as a sequence of segments where the use adjusts the parameters to get some desired segmentation that is kept only on "End" without "Escape"). The m_workingLabel is used for these intermittent segmentations

Parameters
segParamsA SEGMENTATION_PARAMS data structure that will be used for the first Segmentation.
Returns
A SEGMENTATION_VOLUME structure containing size of the segmented volume in voxels and cubic millimeters.

References com.fovia.hdrcsrv.hdrcDefines.S_OK.

SEGMENTATION_VOLUME com.fovia.hdrc.hdrcIVolumeSegmentation.interactiveSegReSegment ( SEGMENTATION_PARAMS  segParams) throws IOException

During a "cycle", this is called for each subsequent segment with new parameters into m_workingLabel

Parameters
segParamsA SEGMENTATION_PARAMS data structure that will be used for the next Segmentation.
Returns
A SEGMENTATION_VOLUME structure containing size of the segmented volume in voxels and cubic millimeters.

References com.fovia.hdrcsrv.hdrcDefines.S_OK.

int com.fovia.hdrc.hdrcIVolumeSegmentation.loadCustomKernel ( String  dll_path,
SEGMENTATION_PARAMS  segParams 
) throws IOException

The custom Kernel DLL is loaded at runtime since it is unkown at compile time. ALso a buffer for and parameters which will be used is allocated (so we an later copy new parameters in, a copy is kept here locally in case the client is remote). Params can be updated in Segmentation Params for subsequent segmentation calls.

Parameters
dll_pathThe fully (or relative) qualified path to the dll file including extension
segParamsFor access to the customParamsPtr and size
int com.fovia.hdrc.hdrcIVolumeSegmentation.loadSegStateFromGIPL ( String  fileName) throws IOException

Load the label Volume (segmentation state) from disk .gipl format on the server

Parameters
fileNamefile (either fully qualified or relative. Also with extension) to load (on server)
int com.fovia.hdrc.hdrcIVolumeSegmentation.makeColorLabeledTFsfromWindowLevel ( hdrcRenderEngineContext  renderEngine,
int  windowWidth,
int  windowLevel 
) throws IOException

Fill in the upper TF's with colorized version of the W/L TF

Parameters
renderEnginerenderEngine to change the TFs
windowWidthWindow Width in Volume Values as stored in the file (e.g. for CT, the HU values are converted using DICOM rescale intercept and scale)
windowLevelWindow Level in Volume Values as stored in the file (e.g. for CT, the HU values are converted using DICOM rescale intercept and scale)
int com.fovia.hdrc.hdrcIVolumeSegmentation.makeColorLabelsFromMainTF ( hdrcRenderEngineContext  renderEngine) throws IOException

Fill in the upper TF's with colorized version of the main (0) transfer function

Parameters
renderEnginerenderEngine to change the TFs
int com.fovia.hdrc.hdrcIVolumeSegmentation.makeTFfromWindowLevel ( hdrcRenderEngineContext  renderEngine,
int  index,
int  windowWidth,
int  windowLevel,
byte  startRed,
byte  startGreen,
byte  startBlue,
byte  endRed,
byte  endGreen,
byte  endBlue 
) throws IOException

To display segmentation on 2D Thin display we utilize a fully opaque TF with a Parallel render instead of MPR render Type. This function will create that TF. for unsegmented data use (0,0,0) to (255,255,255) to get a TF which looks a a W/L display on a normal MPR 2D display. It is suggested for the segmented labels to use (r/2,g/2,b/2) to (r,g,b) for a given color for that label because then you will still see the different shades of the 2D image below the color.

Parameters
renderEnginerenderEngine to change the TFs
indexwhich Label TF to set
windowWidthWindow Width in Volume Values as stored in the file (e.g. for CT, the HU values are converted using DICOM rescale intercept and scale)
windowLevelWindow Level in Volume Values as stored in the file (e.g. for CT, the HU values are converted using DICOM rescale intercept and scale)
startRedcolor to use for the minimum window value
startGreencolor to use for the minimum window value
startBluecolor to use for the minimum window value
endRedcolor to use for the maximum window value
endGreencolor to use for the maximum window value
endBluecolor to use for the maximum window value
int com.fovia.hdrc.hdrcIVolumeSegmentation.releaseSessionResources ( ) throws IOException

Call this if you wish to free up this object on the server before disconnecting.

Returns
long - 0 if successful.
Exceptions
IOException
int com.fovia.hdrc.hdrcIVolumeSegmentation.saveForUndo ( int  index) throws IOException

Save the current state as an "operation" (internally a ring buffer of 10 undo's are stored, so only the last 10 can be undone)

Parameters
indexWhich label to save
Returns
The number of undo operations possible after adding this one
int com.fovia.hdrc.hdrcIVolumeSegmentation.saveSegStateAsGIPL ( String  fileName) throws IOException

Save the label Volume (segmentation state) to disk in .gipl format on the server

Parameters
fileNamefile (either fully qualified or relative. Also with extension) to save (on server)
SEGMENTATION_VOLUME com.fovia.hdrc.hdrcIVolumeSegmentation.segment ( SEGMENTATION_PARAMS  segParams) throws IOException

Segments the volume at the 3D point specified. Use the values in RAYSTOPINFO to pass in for Min and Max.

Parameters
segParamsA SEGMENTATION_PARAMS data structure that will be used for the segmentation.
Returns
A SEGMENTATION_VOLUME structure containing size of the segmented volume in voxels and cubic millimeters.
Exceptions
IOException

References com.fovia.hdrcsrv.hdrcDefines.S_OK.

int com.fovia.hdrc.hdrcIVolumeSegmentation.setColorizationColors ( int[]  colorArray) throws IOException

This seems to be a legacy colorization method before segmentation was thought of as labels and multi TF's

int com.fovia.hdrc.hdrcIVolumeSegmentation.setSegLabelIndex ( int  labelIndex) throws IOException

Set the label for segmentation output (the label value to segment into)

Parameters
labelIndexthe label index value to segment into (defaults to 1)
int com.fovia.hdrc.hdrcIVolumeSegmentation.setSegLabelMask ( long  labelMasks0to63,
long  labelMasks64to127,
long  labelMasks128to191,
long  labelMasks192to255 
) throws IOException

Set the mask of lebles that segmentation will grow through

Parameters
labelMasksArray of 4 64 bit masks (for up to 256 masks, if 8TF, then only use first 8 its of array[0]) (defaults to 0xfff...)
int com.fovia.hdrc.hdrcIVolumeSegmentation.setSegType ( int  segType) throws IOException

Set the type of segmentation (additive or subtractive)

Parameters
m_SegTypeenum ST_ADDITIVE or ST_SUBTRACTIVE (defaults to additive)
long com.fovia.hdrc.hdrcIVolumeSegmentation.startJobSegment ( SEGMENTATION_PARAMS  segParams) throws IOException

Begins an asynchronous segmentation operation Segments the volume at the 3D point specified. Use the SetSegmentationParams method to set segmentation parameters.

Parameters
segParamsA SEGMENTATION_PARAMS data structure that will be used for the Segmentation.
int com.fovia.hdrc.hdrcIVolumeSegmentation.swapLabels ( int  index1,
int  index2 
) throws IOException

Swap contents of two labels

Parameters
index1first label to swap
index2second label to swap
int com.fovia.hdrc.hdrcIVolumeSegmentation.undoLast ( ) throws IOException

Undo the last "operation" (internally a ring buffer of 10 undo's are stored, so only the last 10 can be undone)

Returns
The number of undo operations possible after removing this one