The Pumpkin PACS was constructed for the MGH Radiology Pumpkin Decorating Contest. It is a standalone DICOM workstation capable of displaying many standard types of radiology images.
The pumpkin contains a Raspberry Pi which projects images onto a screen using a Microvision SHOWWX+ HDMI pico projector. The screen is made of tracing paper. The application displaying the images is Aeskulap http://aeskulap.nongnu.org/.
The steps below include details of how to install the radiology workstation software and get images to the device - but the basic mechanism could be used on any project where a Raspberry Pi is projecting a mirror image so that it appears correctly when it illuminates a screen from behind.
FDA warning: this device is not for clinical or culinary use. The screen isn't bright or sharp enough to meet the guidelines of the American College of Radiology. No strictly documented engineering process was followed nor any attempt was made to adhere to the good manufacturing process outlined in the FDA's 510(k) requirements. However - it is absurd and you're reading this so it might be of some interest.
[Added in edit: The images here belong to the patient (me, the author) are were not downloaded from the clinical servers at the hospital. It's my knee :-)]
PACS - Picture Archive and Communication System. This is what a radiology department typically uses to accept/store/display medical images.
DICOM - Digital Imaging and Communications in Medicine. This is a computer protocol for medical images. It is widely used in Radiology and Cardiology.
a USB hub (that's the blue box in the picture). I'm using the TrendNet TU2-700.
a projector unit. I chose the Microvision SHOWWX+ HDMI projector:
It's a laser projector - so focus wasn't a problem.
It had generally good reviews and was compatible with the iPad 2's 30 pin connector - so I can use this for other projects.
An HDMI micro-to-standard cable (the MicroVision SHOWWX+ has a micro-HDMI connector and the Raspberry Pi a standard connector)
A USB mouse
A USB keyboard (this is only really needed when you're configuring the device - I didn't need the keyboard when I was showing the pumpkin).
A small powerstrip (two outlets needed).
You may want to have a standard HDMI monitor for doing the installation and configuration on the Pi. I found it easier to read than the projection unit.
A ethernet connection (or you could install an 802.11 wireless). If you do install a wireless connection you may want to add another power source - I have power going to a USB hub and the Raspberry Pi is plugged into the hub.
Install your Raspberry Pi system onto an SD card that is at least 8GB in size.
Download a Raspberry Pi image. I used the 2012-09-18-wheezy-raspbian one - I see that a newer one has been released. Install on your SD card. Follow the instructions on http://www.raspberrypi.org/downloads
Insert the SD card into the Raspberry Pi; attach the keyboard, mouse, monitor, and plug it into your network.
There are several installations and updates which need to be applied to the Raspberry Pi
Run sudo apt-get update to get the latest code.
You need to install git: sudo apt-get install git-core
You need to upgrade the firmware. A very nice utility for doing this is rpi-update: https://github.com/Hexxeh/rpi-update. Follow the instructions at this link; I did need to do the step where you install new certificates. If you don't update the firmware you the display can't be 'reflected' for display on a back projection screen.
Install a DICOM viewer
sudo apt-get install aeskulap
That's all :-). The program is under the graphics program menu.
Set the Pi to automatically log in, launch X-Windows and launch the Aeskulap program. This means that the user doesn't have to type anything - which means that you don't need a keyboard attached to the pumpkin later.
To make Aeskulap load at boot time enter the following command to edit the autostart file:
sudo nano /etc/xdg/lxsession/LXDE/autostart
Add a line to launch aeskulap at start:
@lxpanel --profile LXDE
@pcmanfm --desktop --profile LXDE
@aeskulap --profile LXDE
Set up the display to be mirrored:
sudo nano /boot/config.txt
Then add the line
The config.txt file is attached to the instructable.