Skip to content

ROI Volumes

ROIVolume is a class representing volumetric regions of interest within an OsiriX 3D display window. It provides control of the visibility and color of the object.

Type

All types only contain a single parameter, the UUID of the underlying OsiriX object.

types.proto (lines 25-27)
message ROIVolume{
    string osirixrpc_uid = 1;
}

Methods

By convention, any method defined with syntax

rpc ROIVolumeXyz (ROIVolumeXyzRequest) returns (ROIVolumeXyzResponse) {}
is called in Python (for example) using syntax
response = osirix_stub.ROIVolumeXyz(request) # (1)

  1. response is a ROIVolumeXyzResponse class, and request a ROIVolumeXyzRequest class.
osirix.proto (lines 53-63)
rpc ROIVolumeTexture (ROIVolume) returns (ROIVolumeTextureResponse) {}
rpc ROIVolumeSetTexture (ROIVolumeSetTextureRequest) returns (Response) {}
rpc ROIVolumeVolume (ROIVolume) returns (ROIVolumeVolumeResponse) {}
rpc ROIVolumeColor(ROIVolume) returns (ROIVolumeColorResponse) {}
rpc ROIVolumeSetColor(ROIVolumeSetColorRequest) returns (Response) {}
rpc ROIVolumeOpacity(ROIVolume) returns (ROIVolumeOpacityResponse) {}
rpc ROIVolumeSetOpacity(ROIVolumeSetOpacityRequest) returns (Response) {}
rpc ROIVolumeFactor(ROIVolume) returns (ROIVolumeFactorResponse) {}
rpc ROIVolumeSetFactor(ROIVolumeSetFactorRequest) returns (Response) {}
rpc ROIVolumeName(ROIVolume) returns (ROIVolumeNameResponse) {}
rpc ROIVolumeVisible (ROIVolume) returns (ROIVolumeVisibleResponse) {}

Responses

By convention, any response defined with syntax

message ROIVolumeXyzResponse{
    type_1 arg_1 = 1;
    type_2 arg_2 = 2; // (1)
    ...
}

  1. The numbers on the RHS should be ignored. They are necessary only for protobuf file definitions.

has attributes accessed in Python (for example) using syntax

x1 = response.arg1
x2 = response.arg2
...

roivolume.proto (lines 9-44)
message ROIVolumeTextureResponse{
    Status status = 1;
    bool texture = 2;
}

message ROIVolumeVolumeResponse{
    Status status = 1;
    float volume = 2;
}

message ROIVolumeColorResponse{
    Status status = 1;
    float r = 2;
    float g = 3;
    float b = 4;
}

message ROIVolumeOpacityResponse{
    Status status = 1;
    float opacity = 2;
}

message ROIVolumeFactorResponse{
    Status status = 1;
    float factor = 2;
}

message ROIVolumeVisibleResponse{
    Status status = 1;
    bool visible = 2;
}

message ROIVolumeNameResponse{
    Status status = 1;
    string name = 2;
}

Requests

By convention, any request defined with syntax

message ROIVolumeXyzRequest{
    type_1 arg_1 = 1;
    type_2 arg_2 = 2; // (1)
    ...
}

  1. The numbers on the RHS should be ignored. They are necessary only for protobuf file definitions.

is created in Python (for example) using syntax

from osirixgrpc import roivolume_pb2

request = roivolume_pb2.ROIVolumeXyzRequest(arg1 = x1, arg2 = x2, ...)

roivolume.proto (lines 48-)
message ROIVolumeSetTextureRequest{
    ROIVolume roi = 1;
    bool texture = 2;
}

message ROIVolumeSetColorRequest{
    ROIVolume roi = 1;
    float r = 2;
    float g = 3;
    float b = 4;
}

message ROIVolumeSetOpacityRequest{
    ROIVolume roi = 1;
    float opacity = 2;
}

message ROIVolumeSetFactorRequest{
    ROIVolume roi = 1;
    float factor = 2;
}