Nov 01, 2013

Showing A Case In OsiriX During A Keynote Presentation

Update August, 2016: Since I wrote this guidance, I’ve discovered an easier way to do this. This web page describes it. I’ll leave this document here mainly for reference purposes.

When giving a radiology talk using Keynote it is usual to utilize selected images and videos. Sometimes it would be useful to scroll through an entire (or multiple) CT, PET-CT or MRI Series, with the ability to change the display parameters in realtime. It is not currently possible to embed a DICOM file Series in Keynote, but it is possible to call a particular case in OsiriX directly from Keynote, show the case in OsiriX, and then return to the Keynote presentation. In this way, one can toggle efficiently between Keynote and OsiriX (using the keyboard shortcut command-tab) without disrupting the overall flow of the presentation.

A protocol for calling a case in OsiriX

It is possible to initiate actions in OsiriX from another application through the use of a particular protocol called XML-RPC and a browser. I do not understand the technical or programming details, but the concept is straightforward: one sends OsiriX an instruction from Keynote via a server/browser combination. An additional application is required to provide the requisite server and associated code on your computer. Otherwise, it’s only a matter of associating text on a Keynote slide with a hyperlink that contains a relevant instruction in the proper XML format. Note that the browser can only initiate actions on an instance of OsiriX running on the same computer.

The procedure is as follows:

Turn on the HTTP XML-RPC server at the bottom of OsiriX Preferences: Listener

Activate server

Download and configure the SimpleHTTPServer

This application was made by Juan Jose CermeƱo Portet, a Medical Imaging Consultant & Software Developer at Turyon Projects who has graciously made it freely available. Download it here.

Run the application. (If you get a warning message about running an application from an “unknown developer,” just go to your Mac’s System Preferences: Security & Privacy panel to permit the application to run.) It looks like this:

HTTP server

If you need to change the port number, you may need to quit the application and restart it. The application must be running during your presentation.

Put the cases you’re going to show in your OsiriX Local Database

Make sure that the cases you’re going to show are in the Local Database of OsiriX which must be running during your presentation.

This is demonstrated in this graphic:

keynote hyperlink

In this example, I’m calling a particular Series from a Case in OsiriX indicated by its SeriesInstance UID in the link:


Get the number from the meta-data of that Series in OsiriX as follows:

Series number

Double-click on that number and copy-and-paste (command-C; command-V) it into the proper location in the hyperlink.

Here are examples of several properly-formatted links to enable you to call particular Studies or Series in OsiriX:

Open a particular study using the patient ID and close all the previous OsiriX viewers:

http://localhost:12345/keynote?type=patientID&name=[insert patient ID here]&close=1

Open the first series of the first study of patient with patientID=08291 and close all the previous OsiriX viewers:


Open the first series of the first study of patient with name=MANIX and closes all the previous OsiriX viewers:


Open a specified study and close all the previous OsiriX viewers:

http://localhost:12345/keynote?type=studyInstanceUID&name=[insert number here]&table=Study&close=1

Open a specific Series and close all previous OsiriX viewers:

http://localhost:12345/keynote?type=seriesInstanceUID&name=[insert number here]&table=Series&close=1

Here is a nice video of this process made by Dr. Sameer Shamshuddin of the OsiriX-UKUser group


This site is made with Hugo and the site design by