This tutorial is based on course I taught at the 2018 RSNA meeting in Chicago, Illinois. It is shared here free to the public. In this tutorial, we walk though how to convert a CT scan of the face into a 3D printable file, ready to be sent to a 3D printer. The patient had a gunshot wound to the face. We use only free or open-source software and services for this tutorial.
There are two parts to this tutorial:
- Part 1: How to use free desktop software to create your model
- Part 2: Use embodi3D's free democratiz3D service to automatically create your model
Key Takeaway from this Tutorial:
You can make high quality 3D printable models from medical imaging scans using FREE software and services, and it is surprisingly EASY.
A note on the FDA (for USA people):
There is a lot of confusion about whether expensive, FDA-approved software must be used for medically-related 3D printing in the United States. The FDA recently clarified its stance on the issue.* If you are not using these models for patient-care purposes, this does not concern you. If you have questions please see the FDA website.
- If you are a DOCTOR, you can use whatever software you think is appropriate for your circumstances under your practice of medicine.
- If you are a COMPANY, selling 3D printed models for diagnostic use, you need FDA-approved software.
- If you are designing implants or surgical cutting guides, those are medical devices. Seek FDA feedback.
*Kiarashi, N. FDA Current Practices and Regulations, FDA/CDRH-RSNA SIG Meeting on 3D Printed Patient-
Specific Anatomic Models. Available at https://www.fda.gov/downloads/MedicalDevices/NewsEvents/WorkshopsConferences/UCM575723.pdf Accessed 11/1/2017.
Part 1: Using Desktop software 3D Slicer and Meshmixer
Step 1: Download the scan file and required software
To start, download the starting CT scan file at the link below. Also, install 3D Slicer (slicer.org) and Meshmixer (meshmixer.com).
Step 2: Open 3D Slicer
Open Slicer. Drag and drop the scan file gunshot to face.nrrd onto the slicer window. The scan should open in a 4 panel view as shown below in Figure 1.
Figure 1: The 4 up view.
If your view does not look like this, you can set the 4 up view to display by clicking Four-Up from the View menu, as shown in Figure 2
Figure 2: Choosing the four-up view
Step 3: Learning to control the interface
Slicer has basic interface controls. Try them out and become accustomed to how the interface works. Note how the patient has injuries from gunshot wound to the face.
- Left mouse button – Window/Level
- Right mouse button – Zoom
- Scroll wheel – Scroll through stack
- Middle mouse button -- Pan
Step 4: Blur the image
The CT scan was created using a bone reconstruction kernel. Basically this is an image-enhancement algorithm that makes edges more prominent, which makes detection of fractures easier to see by the human eye. While making fracture detection easier, this algorithm does unnaturally alter the image and makes it appear more "speckled"
Figure 3: Noisy, "speckled" appearance of the scan on close up view
To fix this issue, we will slightly blur the image. Select Gaussian Blur Image Filter as shown below in Figure 4
Figure 4: Choosing the Gaussian Blur Image Filter
Set up the Gaussian Blur parameters. Set Sigma = 1.0. Set the input volume to be Gunshot to face. Create a new output volume called "Gaussian volume" as shown in Figure 5.
Figure 5: Setting up the Gaussian parameters
When ready, click Apply, as shown in Figure 6. You will notice that the scan becomes slightly blurred.
Figure 6: Click Apply to start the Gaussian Blur Image filter.
Step 5: Create a 3D model using Grayscale Model Maker
Open the Grayscale Model Maker Module as shown below in Figure 7.
Figure 7: Opening the Grayscale Model Maker
Set up the Grayscale Model Maker parameters. Select the Gaussian volume as the input volume, as shown in Figure 8.
Figure 8: Choosing the input volume in Grayscale Model Maker
Next, set the output geometry to be a new model called "gunshot model." Set the other parameters: Threshold = 200, smooth 15, Decimate 0.5, Split normals unchecked as shown in Figure 9.
Figure 9: Grayscale Model maker parameters
When done, click Apply. A new model should be created and will be shown in the upper right hand panel, as shown in Figure 10.
Figure 10: The new model
Step 6: Save the model as an STL file
To start saving the model, click the save button in the upper left of the Slicer window as shown in Figure 11.
Figure 11: The save button
Be sure that only the 3D model, gunshot model.vtk is selected. Uncheck everything else, as shown in Figure 12.
Figure 12: The Save dialog. Check the vtk file
Make sure the format of the 3D model is STL as shown in Figure 13. Specify the folder to save into, as shown in Figure 14.
Figure 13: Specify the file type
Figure 14: Specify the folder to save into within the Save dialog.
Step 7: Open the file in Meshmixer for cleanup
Open Meshmixer. Drag and drop the newly created STL file on the meshmixer window. The file will open and the model will be displayed as in Figure 15.
Figure 15: open the STL file in Meshmixer
Get accustomed to the Meshmixer interface as shown in Figure 16. A 3 button mouse is very helpful.
Figure 16: Controlling the Meshmixer user interface
Choose the Select tool. In is the arrow button along the left of the window.
Figure 17: The select tool
Click on a portion of the model. The selected portion will turn orange, as shown in Figure 18.
Figure 18: Selected areas turn orange.
Expand the small selected area to all mesh connected to it. Use Select->Modify->Expand to Connected, or hit the E key. The entire model should turn orange. See Figure 19.
Figure 19: Expanding the selection to all connected mesh.
Next, Invert the selection so that only disconneced, unwanted mesh is selected. Do this with Select->Modify->Invert, or hit the I key as shown in Figure 20.
Figure 20: Inverting the selection
At this point, only the unwanted, disconnected mesh should be selected in orange. Delete the unwanted mesh using Select->Edit->Discard, or use the X or DELETE key as shown in Figure 21. At this point, only the desired mesh should remain.
Figure 21: Deleting unwanted mesh.
Step 8: Run the Inspector tool
The Inspector tool will automatically fix most errors in the model mesh. To open it, choose Analysis->Inspector as shown in Figure 22.
Figure 22: The Inspector tool
The Inspector will identify all of the errors in the mesh. To automatically correct these mesh errors, click Auto Repair All as shown in Figure 23.
Figure 23: Auto Repairing using Inspector
The Inspector will usually fix all or most errors. In this case however, there is a large hole at the edge of the model where the border of the scan zone was. The Inspector doesn't know how to close it. This is shown in Figure 24.
Figure 24: The inspect could not fix 1 mesh error
Step 9: Close the remaining hole with manual bridges
Using the select tool, select a zone of mesh near the open edge. The Select tool is opened with the arrow button along the left. Choose a brush size -- 40 is good -- as shown in Figure 25.
Figure 25: Choosing the select tool
The mesh should turn orange when selected, as shown in Figure 26.
Figure 26: Selected mesh turns orange.
Next, rotate the model and select a zone of mesh opposite the edge from the first selected zone, as shown in Figure 27.
Figure 27: Selecting mesh opposite the defect.
Once both edges are selected, create a bridge of mesh spanning the two selected areas using the Bridge operation: Select->Edit->Bridge, or CTRL-B, as shown in Figure 28.
Figure 28: The bridge tool
There should now be a bridge of orange mesh spanning the gap. Click Accept, as shown in Figure 29.
Figure 29: The new bridge. Be sure to click Accept.
Next, repeat the bridge on the opposite side of the skull. Be sure to deselect the previously selected mesh before working on the opposite side, as shown in Figure 30.
Figure 30: Creating a second bridge on the opposite side.
Step 10: Rerun the Inspector
Rerun the Inspector tool, as shown in Figure 31. Now with the bridges to "help" Meshmixer to know how to fill in the hole, it should succeed. If it fails, create more bridges and try again.
Figure 31: Rerun the Inspector tool
Next, export your file to STL.
Figure 32: Export to STL
Step 11: 3D print your file!
Your STL file is now ready to be sent to the 3D printer of your choice. Figure 33 shows the model after printing.
Figure 33: The final print
Part 2: Using the democratiz3D service on embodi3d.com
democratiz3D automatically converts scans to 3D printable models. It automates the mesh cleanup process and saves time. The service is free for general bone model creation.
Step 1: Register
Register for a free embodi3D account. The process takes only a minute. You need an account for your processed files to be saved to.
Step 2: Upload the NRRD source scan to democratiz3D.
From anywhere in the site, click democratiz3D-> Launch App
Figure 34: Launching the democratiz3D app.
Fill out basic information about your file. That information will be copied to your generated STL file, as shown in Figure 35.
Figure 35: Entering basic file information
Make sure democratiz3D processing is on. Choose an operation to convert your model. Set threshold to 200, as shown in Figure 36.
Figure 36: Operation, threshold, and quality parameters.
Click Submit! In 10 to 15 minutes your model should be done. You will receive an email notification. The completed model file will be saved under your account. Download the file and send it to your printer of choice!
Figure 37; The final democratiz3D file, ready for download.
That's it! I hope this tutorial was helpful to you. If you liked it, please rate it positively. If you want to learn more about democratiz3D, Meshmixer, or Slicer, please see our tutorials page. It has a lot of wonderful resources. Happy 3D printing!