Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

OsiriXgrpc

Welcome to OsiriXgrpc!

Powered By gRPC GitHub License PyPI - Downloads Static Badge Static Badge

Welcome to OsiriXgrpc, a research plugin for the popular OsiriX medical image viewing platform for macOS. It leverages the gRPC architecture to provide fast communication between OsiriX (the server) and custom-built software or scripts running on a different local process (the client). This enables fast development of additional OsiriX functionality, including the adoption of state-of-the-art libraries for image processing and artificial intelligence. Currently, Python is the only in-built supported language, though adoption of other languages can be easily achieved.

!!! note "Using osirixgrpc versus pyosirix" It can be much simpler to interact with OsiriXgrpc using the more pythonic pyOsiriX glue code. See the dedicated documentation for further information.

Installation

For instructions on how to install and set up the plugin, please see the getting started page.

Any suggestions?

We are always happy to receive suggestions for future versions of the plugin, or just to hear about what is or isn't working. We would appreciate if this is done by raising an issue. Please see more information in our contributing section.

Any questions?

We are happy to answer any questions on the use of osirixgrpc, but please do so by raising an issue so that others can benefit from the answer. Please ensure that you use the relevant issue template so that we get all the information we need!

Future Ambitions

We are always looking to improve things. We have a few suggestions in our roadmap, and would be happy to hear your thoughts - please let us know using a feature request issue template.

  • Support for other scripting languages including Java and Ruby.
  • Improve security through SSL/TCL encryption.

Examples

Establishing a connection with grpc

import grpc
import osirix_pb2_grpc

port = 12345  # Must match activated port in OsiriX plugin
server_url_localhost = 'localhost:' + str(port)
channel_opt = [('grpc.max_send_message_length', 512 * 1024 * 1024), ('grpc.max_receive_message_length', 512 * 1024 * 1024)]
channel = grpc.insecure_channel(server_url_localhost, options=channel_opt)
stub = osirix_pb2_grpc.OsiriXServiceStub(channel)

Obtain a copy of the current browser

import utilities_pb2

request = utilities_pb2.Empty()  # For functions with no input, use an empty request
response = stub.OsirixCurrentBrowser(request)
if response.status.status == 0:
    raise Exception("Could not get browser.  Reason: %s" % response.status.message)
browser_controller = response.browser_controller

Get the current database selection within the browser controller

import browsercontroller_pb2

response = stub.BrowserControllerDatabaseSelection(browser_controller)
series = response.series
studies = response.studies

Obtain the names of the selected studies

import dicomstudy_pb2

for dicom_study in studies:
    response = stub.DicomStudyName(dicom_study)
    print("Study name: ", response.name)

Metadata

Release files for osirixgrpc 0.2.1b6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for osirixgrpc 0.2.1b6
File Size Uploaded
osirixgrpc-0.2.1b6.tar.gz 27.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for osirixgrpc 0.2.1b6
File Interpreter ABI Platform
osirixgrpc-0.2.1b6-py3-none-any.whl Python 3 none any Details

Total release size: 63.6 kB

Release files / osirixgrpc-0.2.1b6.tar.gz

Download URL osirixgrpc-0.2.1b6.tar.gz
Size 27.4 kB
Tags Source
SHA-256 checksum
How to use checksums
d32adc0131c136560265484ca818289ff1dd2d415c369b061a990f87a29d2b79
BLAKE2b-256 checksum
How to use checksums
45c656b8f6726e6dafb9a37821ec5b648dd4626e405cef428f9427d4fcf325e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release files / osirixgrpc-0.2.1b6-py3-none-any.whl

Download URL osirixgrpc-0.2.1b6-py3-none-any.whl
Size 36.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
57aba4c21831cd61ddc9fcc4c2ae50e5c32dc76cb3be7dbd272253fbe9a5bfe3
BLAKE2b-256 checksum
How to use checksums
4f2abf8d76d1de07fd1f9c96b20732a4aaa4d15223f39d605b760b663b6b80e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page