3D Anatomical Models

From Noisebridge
Revision as of 02:43, 18 July 2012 by Hurtstotouchfire (talk | contribs) (→‎Image segmentation: corrections)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Instructibles posted a great article on 3d printing brains and head models from MRI scans. We are playing with some ideas for similar projects we could do at noisebridge. Discussion of this project is on the neuro mailing list if you want to get involved.


In order to do this, we'll need some DICOMs (nifti is also ok). T1 MRIs of heads are great, but we could use other anatomical scans as well.

  • T1 MRI of my head, DICOM and nifti formats. Will get files sharable. -- Hurtstotouchfire 00:16, 30 May 2012 (UTC)
  • T1 MRI of Chris's head, DICOM format. Will ask him if we can share this publicly. --Hurtstotouchfire 00:16, 30 May 2012 (UTC)
  • Liz said she has T1 MR head DICOMs as well and might be up for sharing them. --Hurtstotouchfire 00:16, 30 May 2012 (UTC)

Image segmentation[edit]

The instructibles tutorial describes in step two how to "select only the brain" with tissue thresholding using InVesalius. The slightly more sophisticated approach would be to use 3d image segmentation algorithms like FSL's BET, which is nicely re-implemented in BioImage Suite or the watershed algorithm (the videos are awesome) which is implemented in Freesurfer.

The approach described in the Instructibles article is a manual approximation of region-growing. I am personally still fond of FSL's BET algorithm, which is substantially less elegant, but has awesome errors.

3D Printing[edit]

What formats can we easily feed to a makerbot, laser-cutter, or CNC mill? -- Hurtstotouchfire 00:02, 30 May 2012 (UTC)

File Formats:

  • .obj - "The OBJ file format is a simple data-format that represents 3D geometry alone — namely, the position of each vertex, the UV position of each texture coordinate vertex, normals, and the faces that make each polygon defined as a list of vertices, and texture vertices. Vertices are stored in a counter-clockwise order by default, making explicit declaration of normals unnecessary."
  • .stl - "STL files describe only the surface geometry of a three dimensional object without any representation of color, texture or other common CAD model attributes... An STL file describes a raw unstructured triangulated surface by the unit normal and vertices (ordered by the right-hand rule) of the triangles using a three-dimensional Cartesian coordinate system."
  • .pyl - "The format was principally designed to store three dimensional data from 3D scanners. It supports a relatively simple description of a single object as a list of nominally flat polygons. A variety of properties can be stored including: color and transparency, surface normals, texture coordinates and data confidence values. The format permits one to have different properties for the front and back of a polygon."


  • InVesalius
    • exports to STL
    • packaged by the nice guys at Debian who are trying to get more medical software packaged for linux. I met them at a conference once, they are well-meaning zealots. --Hurtstotouchfire 00:02, 30 May 2012 (UTC)
  • FSL
  • Osirix
    • Semi-opensource and free (the 64-bit functions are proprietary and for pay - not needed)
    • Exports to STL (very well)