Introduction: How to Convert Medical Scan Data Into a 3D Printable Model (also, Dinosaurs!)

In this instructable I'll walk you through how to turn data from CT or MRI scans into a 3D printable model. While I will use a dinosaur skull as an example, you can use any data in DICOM format to do the same thing.

Step 1: Get the Software

I'll be using a software package called Osirix, which is designed for medical imaging. Download and install the free version from here. It is available for Mac only, if you are using a PC check out a similar package called Invesalius, developed by the Brazilian government and made available for free.

Update: There is an open-source fork of Osirix, called the Horos Project. Use this instead, and consider donating to the project: https://horosproject.org/download-horos/

We'll also be using Meshlab and Netfabb Studio Basic (the download link is hidden on the right of the page), so go ahead and download those too while you're at it. It's all free.

Step 2: Get the Scan Data

Most (all?) medical scanners will produce files in a format called DICOM. This usually takes the form of a folder filled with a bunch of files with a .dcm extension. 

For the purposes of this example, I'm using the Euoplocephalus skull from the Witmer lab at Ohio University. Download it here and unzip the .zip file.

Step 3: Get the Scan Data Into Osirix

Launch Osirix. In the top left corner of the screen is an Import button. Click that, and browse to the folder that has your DICOM data.

Tip: when the FOLDER name is selected in the dialog, press the Open button, and Osirix will load all the files contained in the folder.

Another tip: It will ask you whether to Copy or Link the files - use Copy, that way Osirix will copy the files to its own database, and you can delete the downloaded .zip file and the copies of the DICOM data. 

Step 4: Open the Scan Data in a 3D View

Once your files are imported, select your data set in the top panel, and then double-click the thumbnail image down below. It will open in a 2D view - you can use the the scroller along the top to go through all the various "slices".

You will get a warning message about the software not being medically certified, proceed anyway, the patient in this case has been dead for 65 million years.

To open it in a 3D view, look in the top toolbar for a button with a gear labelled 2D/3D. It is a drop-down menu, you want 3D Surface Rendering. Accept the defaults, and wait a bit, you'll get a 3D view of your skull. You can move it around by dragging on the view cube.

Step 5: Export Scan As 3D Model

In the top toolbar, there is a button with a gear, labelled "Export 3D-SR". That leads to a menu with different export format options, you will probably want OBJ or STL formats. Go ahead and export your model, and save it somewhere where you can find it.

Step 6: Clean Up the Model

Quit Osirix and open Meshlab.

Load up your STL or OBJ file that you have exported in the previous step.

You'll notice that there are some loose bits floating around, and that the texture of the model seems to reflect the resolution of the scan (noticeable as a kind of stair-stepping effect).

To clean up the loose bits, turn the model so that the loose parts don't overlap any part of the skull, and use the rectangular selection tool to select them, then delete them using the filter menu.

To smooth it, go to the Filters menu, and go to the Smooth sub-menu. Choose the Laplacian Smooth filter. When you open it, change the parameter for Smoothing Steps from 3 to 1. (Otherwise it will be too smooth and "blobby"). Apply it. You should notice a dramatic improvement in surface texture.

Go to the File menu and Export the Mesh. You can export as STL or OBJ, though generally OBJ files seem to be more robust when used in other tools. Add a suffix to the file name to differentiate it from the file you exported from Osirix - I generally add "-smooth" to the filename.

Step 7: Prepare for Printing

In order to more easily print the resulting skull, I want to slice it into two pieces. (If you have a fancy printer that uses support material, you can probably skip this step.)

Start up Netfabb Studio Basic, and import your cleaned up STL (or OBJ) by going to the Project menu and choosing Open.

Use the View menu to rotate the part until you can see it in the most useful orientation for making the cut. In this case, I want to cut it into a front and back piece, so I am seeing the skull from below. Using the XYZ sliders on the right, choose where you want the cut to go. Select the Cut and Execute Cut buttons as appropriate. Make sure the Triangulate Cuts checkbox is marked, so that it will fill in the cut surfaces.

The model is now cut into two parts. Select each part in turn, and using the Part menu, export each as an STL.

Step 8: Print It!

Load the two halves of your model into Makerware (or whatever print utility you are using), and get ready to print!

Top tip: Make sure that you do not allow Makerware to automatically scale your parts - wait for them both to be loaded, select both, and scale them at the same time. Otherwise the two halves won't match!

Depending on your model, you may or may not need to enable support material. Your call.

Once printed, glue the halves together, take a picture of it, and enjoy!