Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: How can I 3D print my skeleton for research?
40 points by i_am_good on Apr 4, 2019 | hide | past | favorite | 51 comments
Hello HN,

I would like to 3D print my skeleton to observe bone structure/features.

1. What kind of medical scanning would be appropriate for this case? Where can I get such a scan and pay (out of pocket) for it? Are there any dangers, and if serious, is it worth the fun of replicating your own skeleton?

2. What kind of medical scanning hardware would best suit my need? Does it support exporting imaging data for later 3D printing?

3. What's the best 3D printer (or printing service company) and material to print the imaging data from the scanning?

Thanks for your assistance!

Simply remove your skeleton from its packaging and place it in a 3D scanner.

Seriously, where it gets tricky is that there is a lot of stuff (cartilage) in the gray area between bone and flesh. It shows up dimly in CT scans or other X-ray based imaging. If you omit all of it, the skeleton will seem disjointed. If you include all of it, it'll seem fused together.

BTW, you can buy actual human skeletons for around $5k. https://www.boneroom.com/store/c46/Human_Skeletons.html

Sounds like you would want to edit in Blender, or some type of 3d modeling software, and, with an anatomy textbook in hand, edit out the parts that are obviously not bone.

That sounds labor-intensive and error-prone, but it's probably still the best way to end up with an accurate result.

It's the only way to do it. (source, i do 3d tissue reconstructions sometimes)

Thanks for the insight!

Although there are readily available skeletons for purchase, I want to print my own skeleton for "profiling and debugging" purposes :)

Honestly as far as debugging your own skeleton goes I'd skip the 3D print part cause (1) its expensive and (2) you wanna minimise the number of steps between your skeleton and the product you use to debug.

Every one of the steps introduces heaps of error, there's error in the imaging resolution and voxeling, tooons of error in the segmentation process - no matter how good you are at it and a good full-body segmentation can take thousands of hours even by a team of anatomists, and then 3D printing with a commercial printer would introduce even more error.

I'd say a well-segmented digital model of your skeleton would be more than enough to figure out obvious issues :)

You could buy a skeleton, scan and print a copy, and then sell the skeleton to someone else.

Of course, if you do that you could get an accurate anatomical model (like those ones that show up in high school bio classrooms) for $200-$400 instead.

I wonder if there's a market in medical education for precise models of different body parts with one-click ordering from model->3D production->shipping to your education facility. This is distinct from the efforts of facilities who are using 3D manufacturing to create patient models on site for surgery planning.

There most definitely is. My significant other (who is training as an equine veterinarian) is frequently in contact with “synthetic cadavers” made by http://syndaver.com

This seems like it's just adding the extra step of 3D printing to anatomical models that are already made en masse.

Why 3D print if it's just going to be for education, not individualized patient models?

Ya know, I suppose in an ideal world you drive down the cost of on site manufacturing so you could spit out any model you wanted in the classroom. Want a healthy kidney? Boom, done. Want an organ that has a specific issue for a particular ailment being studied? Out it comes.

I've 3D printed my brain - I'm a biomedical engineer, and for a while was working for a research institute in France. While there, I had many friends and acquaintances who were doctors or surgeons performing their own research work. I had made noises in the past that I really wanted to print my brain sometime, so one of them referred me to an observational study in the area using fMRI to observe the brain performing visuo-spatial tasks. I went through the study, got paid €50 (score!) and asked for the morphological data in DICOM format, which they happily handed over. The DICOM is essentially a whole bunch of separate images, one for each slice the MRI takes, along with the metadata that helps piece it together. The reconstruction of a 3D model from slice data is usually called segmentation. I'm not overly familiar with the process, but I'm sure someone here can chime in with various segmentation methods. In my case I asked a technical medicine intern to do it for me. Interns can be useful, after all. AFAIK the output is usually a mesh, like an .obj or .stl file, which is thankfully pretty compatible with 3D printing.

To answer your specific points - I would go for MRI over CT - CTs tend to have high radiation doses, especially if you plan to do a full-body scan. I can't recommend it. MRIs are much less harmful. There are private clinics where you can pay for a full body "preventive" MRI - this will set you back a nice sum, >€1000 in the Netherlands, IIRC. Segmenting the resulting DICOM file is difficult. It will require a fair bit of work. Look into ITK / VTK / 3Dslicer. You will absolutely have to clean up and probably remesh any resulting stl/obj, I recommend using meshlab for that. From there, 3D printing can be done with any personal printer that has a large enough volume to not take forever. Using an external service, e.g. shapeways will be very expensive. If you don't have your own printer, you should probably look into an inexpensive FDM printer, I personally use an original prusa i3 Mk2.5.

All in all, it will be a very expensive journey if you're not already in the field and have connections. Maybe try to connect with local universities to find observational studies.

edit because I realised I sound very negative. I actually think you have a really cool idea. Please do go ahead if you have the time and money, and for the love of all that is holy, blog it for posterity!

That's awesome! Thank you very much for sharing your experience and explaining the processes involved in detail.

From my light research, it seems that obtaining such scan would be costly ($1k-$5k price range for full body scan without a health insurance).

I will reach out to local universities to check if they can aid me in this or if I can do this over time, piece by piece.

I did the same - participated in an MRI study & asked for a copy of the scan data. They gave it to me on a CD which I promptly lost while moving.

Back up your brains people!

Mine lives on my Google drive, so no worries there!

If you get an mri or ct scan you can use this package to segment the bones and the convert the image slices to 3D geometry. https://www.gibboncode.org/ It’s open source, but uses matlab which is not free if you are not at a university. It will also take a while...

Could you substitute in octave for matlab? Or does it use something in matlab that is not available in octave?

Octave looks really cool, I am not familiar with it. Like I said, gibbon is open source, so you could attempt to port it. I didn't write gibbon, so I have no idea what the dependencies are like. But I imagine it would not be trivial.

Thank you, this is helpful!

MRI may work... I think there's a skeletal MRI. That will be extremely expensive. CT scan probably would work, but I don't think they'll let you dose yourself with that many X-Rays for fun. Most of these scanners give you voxel data, which you can then threshold some way and generate a water-tight surface which can be turned into an STL and 3D printed

The best 3D printer probably uses a stereolithography process. They give the highest detail at the expense of some mechanical properties. An objet might work well, too.

> I don't think they'll let you dose yourself with that many X-Rays for fun.

There are companies that will let you get a "baseline" CT scan so that you can compare it with a future scan to see if something has changed. I don't think many doctors recommend this for the general public (because of the high radiation dose), but it does seem to be an available service and not prohibited by the FDA or something.

A CT scan comes with a strikingly high radiation dose, much greater than most people are likely to receive in any other circumstance. https://xkcd.com/radiation/

It's worth pointing out that CT is extremely sensitive for calcium and hence bone, so that bones could be scanned at a lower Xray dose than soft tissue. 30 seconds of Googling showed a study where a whole body CT bone survey was carried out using 4.1 mSv, or about 200 chest xrays. If you're not looking for fine detail in the bones, an even lower dose might suffice.

The FDA barely prevents people injecting themselves with snakeoil stem cell treatments...

"Baseline" CT smells like an expensive solution looking for a problem to sell to hypochondriacs. A hefty dose of ionizing radiation for no clear medical benefit gets a thumb down from me.

MRIs are nearly perfectly safe though.

Yeah, I have the same feeling about the baseline CT service and I'm sorry I wasn't more forthright about it above.

> I don't think many doctors recommend this for the general public

> A CT scan comes with a strikingly high radiation dose

Another challenge is that they probably wouldn't give you a baseline scan from the bottom of your toes to the tip of your head. Abdomen/thorax and/or head/neck, probably. So you can't get the whole skeleton. A planar "scout" scan of two dimensions is normal examination procedure prior to the diagnostic scan. Those can often run a long portion of the body. You might be able to project something from that.

Aside: The Sievert (SI unit referenced in the XKCD comic) is a really interesting (IMO) unit. Instead of measuring the radiation in normal "amount of radiation" style, it measures the "equivalent dose" intended to help understand the ultimate biological impact of the radiation. The radiation emitted might be measured in Joules and the radiation absorbed might be measured in Gray (Joules/kg), but Sievert can be weighted by the tissue that absorbed the radiation. Your gonads or your head would have a greater weight than your ankle (or so I figure). This, I would guess, gives radiologists a much better way to consider the net impact of a diagnostic procedure in order to weigh against the overall diagnosis & prognosis.

Also, another aside: dose has become a more competitive feature for CT manufacturers in the last decade or so and several offer features to measurably reduce the dose.

Consider building off of the work of this artist who did the same.



That's amazing! I will look into their methodologies more. Thanks!

You are very welcome! If it's not too much trouble, consider blogging/documenting your work as it progresses. A rising tide lifts all boats.

CT scanners usually speak DICOM. You'll have to make a 3D model from those dicom stacks with, e.g., AMIRA[0], then fiddle the facets with Maya or similar, and then you should be able to export to STL from there.


I mean this as a joke, but only sortof....

For my response to #3, an interesting thought would be to have a metal 3D printer (or at least access to one).

Not long ago, Bugatti made a 3D printed brake caliper out of titanium that was stronger and lighter than their own highly engineered caliper. [0]

Upgrading your skeleton to titanium might not be adamantium, but it sure would be cool if you ever needed the spare parts!

Finally, lest you think I was totally out there, SLM Solutions (who printed the caliper for Bugatti), actually has a medical division! [1]

[0] - https://www.tctmagazine.com/3d-printing-news/bugatti-slm-sol...

[1] - https://www.slm-solutions.com/industries/medical-and-dental/

This is really cool. I did not know it was possible to print metallic structures like this. Thanks for sharing!

If you liked that, you'll love the video of it being speed & heat tested [0]. I watched it after turning up the sound and putting it on a big TV screen - it's gorgeous!

[0] - https://www.autoblog.com/2018/12/21/bugatti-3d-printed-titan...

Here's a useful video to see "CT scan segmentation" via DICOM files first hand. [0] The video shows a guy segmenting out the mandible from some CT data (and mentions where to find other, open, CT data).

itk-snap, the imaging software used in the video, is open source. [1]

[0] https://www.youtube.com/watch?v=P44m3MZuv5A

[1] http://www.itksnap.org/pmwiki/pmwiki.php

I would first start our by using CT since soft tissue subtraction is a very easy task. This is because soft tissue has a certain density compared to bone (houndsfield unit [1].) You would maybe need to smooth for a good 3D print, but it's probably an easy starting place. Hell, a quick numpy script could easily do this. I would also poke at radiological scanning softwear (I use Radiant).

As far as data sources, I think you can probably find some open source CT scans to do this [2, 3]. There are PLENTY of chest and abdominal open source CT scans that exist. You may need to "mix and match" some body parts, but it wouldn't be too hard as long as you're using same gendered scans with similar height and anatomical features. Sort of the way they 'interpolate' for dinosaur bones.

Is this for a research project?

Good luck!

[1]. https://en.wikipedia.org/wiki/Hounsfield_scale [2]. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3043884/ [3]. https://www.radrounds.com/profiles/blogs/list-of-open-access...

You want to spend $10,000+ to "debug" your skeleton, and you're currently stuck on the easiest part of that entire process?

I think a new hobby is probably the best option here...

I appreciate your candid critique. I did not know the cost nor the steps involved in doing this. Also, by "debugging" I meant to find discrepancies or signs of abnormalities (if any) by having a model skeleton on hand.

The least expensive option I can think of:

1: Get a 3d model of a skeleton. (One that you can edit in a free 3D modeling application like Blender, etc.)

2: Get a tape measure and a cooperative friend/significant other and measure as many of the skeletal dimensions you can without removing that pesky outer wrapping.

3: Edit the 3D model to match your measurements.

4: Print!

A decent and cheap 3d printer with a large build volume would be the Creality CR-10s. You could print it using PETG filament.

Thanks! I will check it out.

I've done quite a bit of 3D modeling using medical imaging working with various MDs for exploratory research projects.

For contrast, you'll want a CT because MRI typically isn't great for bone features but that inherently has radiation exposure which I doubt you'll have an MD sign off on if you're perfectly healthy. I don't recommend this personally but...

Ignoring that, most all radiology/medical imaging, especially anything CT based, uses DICOM as a standard data format. Many applications can read this data (everything from Photoshop, Matlab/Octave to libraries for languages if you want to go that far) but I highly recommend using 3D Slicer for your data processing: https://www.slicer.org/

It's a fantastic piece of software often used in medical research for computational analysis work. It will allow you to import the DICOM data, read the metadata correctly to adjust/apply transformations on the data, and position the image frames in space correctly. From those frame stacks, you'll be able to do all sorts of things from volumetric viewing (computing interframe voxels), applying pre-mapped imaging specific color maps to the data, 3D volumetric rendering (with stereo support), and slicing/clipping which will all be useful.

There are lots of tutorials and even videos online for extracting 3D surface meshes from the 3D image data using Slicer. Some automatic thresholding will be useful to speed the process but you'll find for ball-and-socket joints, you'll have tediously define these regions on the 2D images frame by frame. From my experience the spine is the absolute worst based on the way the 3D geometries interlock. Assuming you have a high enough spatial resolution CT or series of independent CT scans, you'll likely need to step through the entire spinal column frame-by0frame to produce quality surface meshes. This process took me a good 4-8 hours just to do 4 lumbar vertebrae on a patient manually (constantly checking 3D geometry references to see if what I was doing was correct).

Once you're done with all of that, you'll then need to export all of these individual surface meshes (I'm guessing you'll want them independently segmented to play with/assemble, plus it'll likely be needed for 3D printing), you may need to down-sample/simplify the surface meshes and smooth them for printing. This can be done with a number of 3D modeling tools like Blender but I recommend Meshlab personally. There are a lot of approaches for this, google is your friend.

STL (or other surface mesh formats, say OBJ) will of course lose the DICOM metadata and scaling may become an issue depending on how Slicer exports the data and any additional post-processing you may do, so keep that in mind before printing that scaling may not be 1:1.

I used a cheap online printing service for my vertebrae project and scaled one of the lower lumbar vertebrae to about 1/7th actual scale for printing and that cost me about $30. A full scale lumbar vertebrae from the same service cost nearly $200 (this was about 6 years ago, no clue what prices are now). There may be better options.

You may also need to keep in mind 3D printing limitations during the entire process. Some 3D printers have maximum bounding box sizes (those arms only move so far) so your model can only be so big which may require you to break it into smaller parts and connect back together (glue? IDK, I've never done this). You can also shop around for services that can 3D print larger structures (I'm sure there's plenty) or do it yourself with some hacked out DIY 3D printer.

Most of the projects I worked on did this type of work because physically modeling bone in the real world with correct materials is quite difficult due to a lot of factors (I only 3D printed a scaled down vertebrae from one project as a keepsake for the work I did). Bones, for example, have a lot of smaller internal microstructures you may need to account for which was a critical concern since we were attempting to model bone fractures on a specific patient's vertebrae for a proposed experimental procedure and new process from a neurosurgeon. If you're interested in that sort of modeling, I found voxel based physical modeling techniques that work better than the finite element method/finite element analysis the group mechanical engineers suggested (he was comfortable with FEA/FEM).

The mechanical engineers working with us initially wanted to get cadavers in their lab do various physical stress tests on bone, but that was ruled out early on since we pointed out structural properties of decaying bodies were likely not representative of living bone/cellular structures (besides the "hey, dead bodies/limbs in our lab" fact)--plus, hey, computational science and modeling is cool ;)

Thank you so much for your insightful comment, I was looking for a tool like 3D Slicer when I got my brain scanned last year.

I managed to spin a few gifs [1] out of the data but got stuck in the 3D-part.

Looking forward to finally trying it out! :)


3D Slicer provides a wealth of training tutorials though sometimes there are slight UI variations between versions that aren't covered that you need to interpret for: https://www.slicer.org/wiki/Documentation/Nightly/Training

Here are some of the generic renderings for the spinal modeling project I described, if you're interested (renderings created with Avizo--an expensive commercial application--instead of 3D slicer for specific use case reasons for the sake time savings): https://www.youtube.com/watch?v=dkDVeyLLmFM&list=PLZMGw4TBzq...

Thanks for taking the time to write this!

As you mentioned, it looks like it will be difficult to get a referral for a full-body scan as a healthy person :\

Nonetheless, I found your explanation on printing such objects really helpful and the tutorials for 3D Slicer you've linked are really cool. While fully body scan looks impossible, I was involved in an accident several years ago and the hospital had taken CT scans of my brain to ensure it wasn't damaged. I will visit them to check if they can share the DICOM data of that scan (if they even have it by now) and will try to process it with 3D Slicer.

So CT would be the best way to get a clearer picture of your own skeleton as high-density structures like bones stand out much better (Hounsfield units and all that). Then you'd have to segment the skeletal system and do a surface-extraction. I have a decent writeup on how to do that with Python and VTK under [1].

MRI might cut it, and unlike CT its not as radioactive, but typically in MR the contrast between soft tissue and bones isn't as pronounced so segmentation becomes trickier. I wrote a post on segmenting my own brain from a head MR I had done and as you can see from the pics the bones don't stand out [2]. Honestly, I dunno how easy it'll be to convince a doctor to write you a referral for a full-body CT scan given the potential health hazards.

Then comes the tricky part, no imaging modality or segmentation is perfect and you'll end up with a noisy dataset that won't play well in 3D printing. Prior to the surface extraction you'd have to post-process your segmentation to clean little islands of tissue, possibly even manually, and close holes in the segmented structures. A lot of that can be done automatically but you'll likely have to do some by hand. Medical image processing frameworks like ITK (and SimpleITK in Python) are your friends.

What I've found works very well (large part of my PhD was on medical imaging) is multi-modal imaging where you perform a segmentation on two datasets, e.g., MR and CT, registered to one another so you can best disambiguate between soft tissue and bone [3].

You'd then have to extract the surfaces into something like STL and post-process it in some software like MeshLab [4] to create a smooth mesh which you'll extract in a clean STL. That you can print but that's when you'll have to deal with the quirks of 3D printing. Depending on the filament you use overhangs are gonna become and issue (something about molten plastic and gravity I presume) so you may have to split your model into separate pieces that can be 3D printed (I think the skull will be particularly tricky) and then eg glue them together.

Before you go down that rabbit hole I propose you try and print a 'clean' skull that has already been segmented. I found [5] to be a fantastic resource of anatomical part models! Have a look at [6] on how to configure the interface to get the skull bones.

Good luck!

[1] https://pyscience.wordpress.com/2014/09/11/surface-extractio... [2] https://pyscience.wordpress.com/2014/10/19/image-segmentatio... [3] https://pyscience.wordpress.com/2014/11/02/multi-modal-image... [4] http://www.meshlab.net/ [5] http://lifesciencedb.jp/bp3d/ [6] https://imgur.com/a/uGqDA5Y

Thank you for the detailed response! [2] was an interesting read for someone new to medical imaging.

As you mentioned, it seems like it will be hard to get a referral for a full-body CT scan as a healthy person. The costs of scans also look pretty steep to quench a curiosity thirst :/

Nevertheless, I appreciate you sharing this knowledge and will try to print a segmented skull to understand the process better.

Wow this would be a great thing to try to fix body faults

How, exactly?

Not OP, but perhaps minor skeletal deformities. Or serious injuries. For example:

> By using a combination of 3D printing and adult stem cells, Dr. John Szivek hopes this will help injured combat veterans, cancer patients, and victims of serious injuries.

> "We developed the idea that maybe we could put in a scaffold that regenerates bone very quickly by adding stem cells from the patient, their own stem cells and by adding some calcium particles and using a pattern that would cause the bone to grow really quickly," he says.

> The 3D plastic bone shaped frames called scaffolds are locked in place with two screws and a rod that can all be easily removed when bone forms over the scaffold.

> "After about six months your body tends to give up producing new bone and starts producing scar tissue so if we can cause healing to occur really quickly we can save the patient from having that problem," Szivek explains.


Well, with physiotherapy and osteopathy which are used to fix body and movement faults one of the biggest problems is knowing exactly how the bones and cartilage are aligned. Currently most techniques for finding this involve another person prodding and poking the patient's body, so to have a #d map would be hugely useful

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact