Using Free and Open-Source Software and Web Services to Create 3D Printable Anatomic Models from Medical Scans, Workshop from the 2017 Radiological Society of North America (RSNA) Meeting
Hello everybody it's Dr. Mike here again with another medical 3D printing tutorial. In this tutorial we are going to be going over freeware and open-source software options for medical 3D printing. This tutorial is based on a workshop I am giving at the 2017 Radiological Society of North America (RSNA) Annual Meeting in Chicago Illinois, November 2017. In this tutorial we will be going over desktop software that can be used to create 3D printable anatomic models from medical scans, as well as a free online automated conversion service. At the end of this tutorial you should be able to make high-quality 3D printable models from a medical imaging scan using free software or services.
Do I need to use FDA-approved software for Medical 3D Printing?
Before I dive into the tutorial I'd like to take a minute to talk to learners from the United States about the US Food and Drug Administration (FDA) and how this federal agency impacts medical 3D printing. Many healthcare professionals are confused and concerned about the ability to use non-FDA-approved software for medical 3D printing. Software vendors sell software that has been FDA-approved, but the software is usually quite expensive, to the tune of many thousands of dollars per year in license fees. There has been a lot of confusion about whether non-FDA-approved free software can be used for medical applications.
In August 2017 a meeting was held at the main FDA campus between FDA staff and representatives from RSNA. During this meeting the FDA clarified its stance on the issue (Figure 1). Basically the FDA indicated that if a doctor needs a 3D printed model for patient care, the doctor does NOT need to use FDA-approved software, as this is a medical decision and the FDA does not regulate the practice of medicine. FDA-approved software is not required even if the doctor is using the model for diagnostic use (Figure 2). If a company or other organization is marketing or designing software for diagnostic use, then that company or organization is required to seek FDA approval for that product. Basically if you are a physician or working on behalf of the physician and require a model, FDA-approved software is not required as long as you are not running a commercial service or company. Despite this leeway granted by the FDA's interpretation, I encourage anyone considering using freeware to create models for diagnostic use to use common sense and double check your findings before making any critical decision that could impact patient care. I also encourage you to look at the slides from the FDA presentation directly at the link below. Of course, none of this applies if you are not creating models for medical use.
https://www.fda.gov/downloads/MedicalDevices/NewsEvents/WorkshopsConferences/UCM575723.pdf
Figure 1: Title slide from the FDA presentation
Figure 2: The relevant slide from the FDA presentation. Doctors creating 3D printable models for clinical and diagnostic use do not need to use FDA-approved software as this is considered practice of medicine, which the FDA does not regulate.
Medical 3D Printing Overview
In this tutorial we're going to go over two different ways to use free and open-source software to convert a medical imaging scan to a 3D printable model. This can be done using free desktop software or a free online service. The desktop software requires more steps and more of a learning curve, but also allows more control for customized models. The online service is fast, easy, and automated. However, if you want to design customized elements into your model, you'll not be able to. The overall workflow of the session is shown in Figure 3.
Figure 3: Workflow overview
Part 1: Free online service – embodi3D.com
Step 1: Download the scan
Please download the scan for this tutorial from the embodi3D.com website at the link below. You have to have a free embodi3D.com account in order to download. If you don't have an account go ahead and register by clicking on the "Sign Up" button on the upper right-hand portion of the page. Registration is easy and only takes about one minute. You will have to confirm your email address before your account is active, so make sure you have access to your email.
Step 2: Inspect the scan
If you don't already have it, download and install the desktop software program 3D Slicer from slicer.org (http://www.slicer.org/). Slicer is a free medical image viewing and research software application. We are going to use Slicer to view our scan. Once Slicer is installed, open the application. Drag-and-drop the file "CTA Head.nrrd" onto the Slicer window. Slicer will ask if you want to add the file, click OK. The scan should now show in Figure 4. If your window doesn't look this then select the Four Up layout from the Layouts drop-down menu.
Figure 4: The 4 panel view and Slicer
You can navigate and manipulate the images with Slicer using the various mouse buttons. Your left mouse button to adjust the window/level settings as shown in Figure 5.
Figure 5: Use the left mouse button to adjust window/level.
The right mouse button allows you to zoom into a specific panel, as shown in Figure 6.
Figure 6: The right mouse button controls zoom.
The scroll wheel allows you to move through the various slices of the scan, as shown in Figure 7.
Figure 7: The mouse wheel controls scrolling
Step 3: Upload the scan to embodi3D.com
Now that we have an idea about what's in the scan, you can upload it to embodi3D.com for automatic processing into a 3D printable model. Go to https://www.embodi3d.com/. If you don't yet have a free embodi3D.com user account, you will need one now. Go ahead and register. The process only takes a minute. Under the democratiz3D menu, click Launch App, as shown in Figure 8.
Figure 8: Launching the democratiz3D medical scan to 3D printable model automated conversion service.
Drag and drop the file "CTA Head.nrrd" onto the upload panel, as shown in Figure 9. The NRRD file format is an anonymized file format so this transfer is HIPAA compliant. If you want to know more about how to create an NRRD file from a DICOM data set, please see my tutorial on the topic here.
Figure 9: Drag-and-drop the scan file "CTA Head.nrrd" onto the highlighted upload panel
A submission form will open up. The first part of the form will ask you questions about the source file you're uploading. The second part will ask about the new model being generated. Start with the first part of the form, as shown in Figure 10, and fill in information about your uploaded scan file, including a filename, short description, any tags you wish to use to help people identify your file, whether you wish to share the file with the community or keep it private, and whether you want to make the file free for download or for sale. Obviously if you keep the file private this last setting doesn't matter as nobody will be able to see the file except you.
Figure 10: The first part of the form relates to information about your uploaded scan file. Make sure you fill in at least the required elements.
In the second part of the form fill in information about your model file that will be generated, as shown in Figure 11. First of all, make sure democratized processing is turned on. The slider should be green in color, as shown in Figure 11. This is very important because if processing is turned off, you will not generate an output model file!
Specify what operation you would like to perform on the scan, and whether you would like to generate a bone, muscle, or skin model. Also, specify the desired quality of the output model (low, medium, high, etc.) and whether you want the output model to be shared with the community (recommended) or private. If your file is going to be shared, choose a Creative Commons license that people can use it under. When you're satisfied with your parameters, click the Submit button.
Figure 11: The second part of the form relates to information about your 3D printable model to be generated. Choose an operation, quality level, as well as privacy settings.
Step 4: Download your finished 3D printable model.
After anywhere between 5 to 20 minutes you should receive an email saying that your model processing is complete. The exact time depends on a variety of factors including the complexity of your model, the quality that you've chosen, as well as server load. Once you receive the email follow the link to the model download page. Alternatively you can find the model by clicking on your username at the upper right-hand corner of any embodi3D.com webpage and selecting My Files. Once you find your model page you can inspect the thumbnails to make sure the model meets your criteria, as shown in Figure 12. When you are ready click the download button, agree to the terms, and your model STL file will download to your computer.
Figure 12: Download your file after processing is complete.
That's it! Your 3D printable model is ready to send to a printer. The process takes about 2 to 3 minutes to enter the data, plus 5 to 15 minutes to wait for the processing to be done. The embodi3D.com service is batchable, so it is possible for you to upload multiple files simultaneously. The service will crank out models as fast as you can upload them.
Part 2: Free desktop software – 3D Slicer and Meshmixer
You can use the free software program 3D slicer and Meshmixer to generate 3D printable models. The benefit of using desktop software is that you have more control over the appearance of the model and which structures you want included and excluded. The downside of using desktop software is that software is complicated and somewhat time-consuming to learn. If you haven't already download 3D Slicer and Meshmixer from the links below. Be sure to choose the appropriate operating system for your computer.
http://www.slicer.org/
http://meshmixer.com/
Step 1: Download the tutorial scan file and load into Slicer as described above in Part 1 Steps 1 and 2.
Step 2: Create a surface model from the scan data.
From within Slicer, open the Grayscale Model Maker module. In the Modules menu at the top now bar, select All Modules and choose the Grayscale Model Maker item, as shown in Figure 13.
Figure 13: Selecting the Grayscale Model Maker module.
You will now be taken to the Grayscale Model Maker module, which will convert the volumetric data in the CT scan to a surface model that can be used to create a STL file for 3D printing. In the parameters panel on the left side of the screen, make sure that the parameter set value is set to "Grayscale Model Maker", and the Input Volume is set to "CTA Head." Under Output Geometry, choose Create a New Model, since we wish to create a new output model. These parameters are shown in Figure 14.
Figure 14: Input parameters for the Grayscale Model Maker module
Set the Threshold value to 150 Hounsfield units. Also, set the Decimate value to 0.8 and make sure the Split Normals checkbox is unchecked. These are shown in Figure 15. When you're happy with your parameters, check Apply, and the grayscale model maker will work for a minute or so to create your surface model.
Figure 15: Additional input parameters for the Grayscale Model Maker module
Step 3: Save the surface model to an STL file.
Now that you have generated a surface model, you are ready to export it to an STL file. Click on the Save button on the upper left-hand corner of the 3D Slicer window. A Save dialog box will pop up, as shown in Figure 16. Find the row that contains the item "Output Geometry.vtk." Make sure that the checkbox next to this item is checked. All other rows should be unchecked. In the File Format column, make sure that the file shows as STL. Finally, make sure that the directory specified in the third column is the one you wish to save the file to. When everything is correct go ahead and click Save. Your surface model will now be exported and STL file saved in the directory specified.
Figure 16: The Save dialog box
Step 4: Repair the model in Meshmixer
The model is in STL format, but it has multiple errors in it which need to be corrected prior to 3D printing. We will do this in the freeware software program Meshmixer. Open Meshmixer, and drag-and-drop the just-created STL file "Output Geometry.stl" onto the Meshmixer window. The model will now open in Meshmixer. You will notice that the model is quite large, having about 300,000 polygons, as shown in Figure 17.
Figure 17: Open the model in Meshmixer
Navigating in Meshmixer is quite intuitive. The left mouse button uses tools and selects structures. The right mouse button is used to rotate the model. The scroll wheel is used to zoom in and out, as shown in Figure 18.
Figure 18: Navigating in Meshmixer
Run an initial repair on the model using the Inspector tool
We will be able to get rid of most (but not all) errors using the automated Inspector tool. Click on the Analysis button on the left navigation pane and choose the Inspector tool. Inspector will run and highlight all of the problems with the model, as shown in Figure 19. As you can see there are many hundreds of errors. Click on the Auto Repair All button to automatically attempt to fix these. At least one error will remain after the end of the process, but don't worry we will fix that later. Click on the Done button.
Figure 19: The Inspector tool shows errors in the mesh
Remesh the model
The Remesh operation recalculates all the polygons in the model, adjusting their size, and giving the model in more natural and less faceted look. Remesh and can also help to fix lingering mesh errors. First, select all the polygons in the model by hitting control-A. The entire model should turn orange, as shown in Figure 20.
Figure 20: Selecting all the polygons in the model.
Next, run the Remesh operation. Hit the R key, or choose Select-> Edit-> Remesh. The Remesh operation will now run, and will take approximately 1.5 to 2 minutes, depending on the power of your computer. This is shown in Figure 21.
Figure 21: The Remesh operation.
At the end of the Remesh operation, your model should have a much smoother and more natural appearance. You can adjust some of the Remesh parameters in the visualized pane, and the operation will recalculate. When you're happy with the result, click on the Accept button. This is shown in Figure 22.
Figure 22: The model after the Remesh operation.
Repeat the Inspector tool operation
Now that we have re-mashed the model, we can rerun the Inspector tool to clean up any residual errors. Click on Analysis and then the Inspector menu item. Click Auto Repair All, and inspector should repair any problems that still remain. When you're finished, click the Done button, as shown in Figure 23.
Figure 23: Running the Inspector tool a second time
Expose the cerebral vessels.
We are now going to take an extra step and make a cut through the crowd of the skull to expose the cerebral vessels. This can be easily achieved in about one minute. First, make sure to select all the vertices in the model by hitting control-A or using the menus Select-> Modify-> Select all, as shown in Figure 24. The entire model should turn orange to indicate that it is selected.
Figure 24: Selecting all the polygons in the model prior to performing a cut.
Next, start a plane cut by choosing Select-> Edit-> Plane cut. The plane cut will show on the screen. The portion of the model that is transparent will be cut off. The portion of the model that is opaque will be left behind. Move the plane by using the purple and green arrow handles. Rotate the plane by using the red arc handle, as shown in Figure 25.
Figure 25: Move and rotate the plane cut using the arrow and arc handles.
In this case we wish to move the plane cut to the four head, and rotated 180° so that the transparent portion of the cut is at the top of the head, and the opaque portion encompasses the face, jaw, and lower part of the skull. After you have finished positioning the plane, your model should look similar to Figure 26. When you're happy with position, click Accept.
Figure 26: The best position of the plane cut tool
The crown of the skull will now be cut off, exposing the cerebral vessels within the brain. This includes the anterior, posterior, and middle cerebral arteries as well as the venous structures such as the straight sinus and sigmoid sinuses, as shown in Figure 27. As you can see, this is a highly detailed model and excellent for educational purposes and teaching neurovascular anatomy.
Figure 27: The final model
Conclusion
In this tutorial we learn how to create a 3D printable skull and vascular model utilizing the free online service from embodi3D.com, as well as free desktop software 3D Slicer and Meshmixer. Both methods have their advantages and disadvantages. Embodi3D.com has a very fast and easy to use service. The desktop software is more difficult to use and learn, but gives more flexibility in terms of customization. Alternatively, you can use a combination of the two techniques, for example generating your model on the embodi3D.com website and then performing custom modifications, such as the plane cut we did in this tutorial, utilizing Meshmixer.
I hope you found this tutorial helpful and entertaining. Please give the tutorial a like. If you are engaged in medical 3D printing, please consider sharing your work on the embodi3D.com website. Thank you very much and happy 3D printing!
1 Comment
Recommended Comments
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now