Skip to content

VR Controller

VRController is a class representing the 3D volume rendering viewer of OsiriX. It is used to obtain/control display information such as window settings, window title, and the type of volume render.

Type

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

types.proto (lines 13-15)
message VRController{
    string osirixrpc_uid = 1;
}

Methods

By convention, any method defined with syntax

rpc VRControllerXyz (VRControllerXyzRequest) returns (VRControllerXyzResponse) {}
is called in Python (for example) using syntax
response = osirix_stub.VRControllerXyz(request) # (1)

  1. response is a VRControllerXyzResponse class, and request a VRControllerXyzRequest class.
osirix.proto (lines 85-96)
rpc VRControllerViewer2D (VRController) returns (VRControllerViewer2DResponse) {}
rpc VRControllerBlendingController (VRController) returns (VRControllerBlendingControllerResponse) {}
rpc VRControllerStyle (VRController) returns (VRControllerStyleResponse) {}
rpc VRControllerTitle (VRController) returns (VRControllerTitleResponse) {}
rpc VRControllerROIVolumes (VRController) returns (VRControllerROIVolumesResponse) {}
rpc VRControllerRenderingMode (VRController) returns (VRControllerRenderingModeResponse) {}
rpc VRControllerSetRenderingMode (VRControllerSetRenderingModeRequest) returns (Response) {}
rpc VRControllerWLWW (VRController) returns (VRControllerWLWWResponse) {}
rpc VRControllerSetWLWW (VRControllerSetWLWWRequest) returns (Response) {}
rpc VRControllerHideROIVolume (VRControllerHideROIVolumeRequest) returns (Response) {}
rpc VRControllerDisplayROIVolume (VRControllerDisplayROIVolumeRequest) returns (Response) {}
rpc VRControllerNeedsDisplayUpdate (VRController) returns (Response) {}

Responses

By convention, any response defined with syntax

message VRControllerXyzResponse{
    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
...

vrcontroller.proto (lines 9-43)
message VRControllerViewer2DResponse{
    Status status = 1;
    ViewerController viewer_controller = 2;
}

message VRControllerBlendingControllerResponse{
    Status status = 1;
    ViewerController viewer_controller = 2;
}

message VRControllerRenderingModeResponse{
    Status status = 1;
    string rendering_mode = 2;
}

message VRControllerWLWWResponse{
    Status status = 1;
    float wl = 2;
    float ww = 3;
}

message VRControllerStyleResponse{
    Status status = 1;
    string style = 2;
}

message VRControllerTitleResponse{
    Status status = 1;
    string title = 2;
}

message VRControllerROIVolumesResponse{
    Status status = 1;
    repeated ROIVolume roi_volumes = 2;
}

Requests

By convention, any request defined with syntax

message VRControllerXyzRequest{
    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 vrcontroller_pb2

request = vrcontroller_pb2.VRControllerXyzRequest(arg1 = x1, arg2 = x2, ...)

vrcontroller.proto (lines 46-)
message VRControllerSetRenderingModeRequest{
    VRController vr_controller = 1;
    string rendering_mode = 2;
}

message VRControllerSetWLWWRequest{
    VRController vr_controller = 1;
    float wl = 2;
    float ww = 3;
}

message VRControllerHideROIVolumeRequest{
    VRController vr_controller = 1;
    ROIVolume roi_volume = 2;
}

message VRControllerDisplayROIVolumeRequest{
    VRController vr_controller = 1;
    ROIVolume roi_volume = 2;
}