Open source Human Anatomy Atlas

Hello everybody,

You may like to see the first steps towards what should become a full open source 3D human anatomy atlas; you can now download the .blend files (Blender offers great options to organize and visualize these files) at https://www.z-anatomy.com/.

To be kept informed, you can follow the ‘z-anatomy’ linkedin and facebook pages.
It is just the beginning; the files will be updated regularly.

All comments are welcome,

g.

1 Like

@Melodicpinpon I think it was very good and a lot of hard work has been put into it. Thank you and I will share this with my colleagues. Congratulations to you and the team on your great work.

As a suggestion, moving forward may need to simplify the navigation for users not familiar with Blender. is there a Slicelet like an option for blender?

1 Like

Hi Manjula,

It is possible to import a .dicom converted into a pile of images (.jpg/.png) and to apply a boolean operation with a cube to get a similar effect, and even to reproduce the MPR effect with a simple node setup and a script. Using images on their original plane, definitely yes.

For the meshes, it is very different; although it is possible to reproduce something comparable to a slice-scroll function with orthographic views and the ‘clip start’ option of the view menu; every virtual plane created by the slicing through the mesh would be empty and let appear the inner side of the surface of the object; the system would be a hack and have several serious disadvantages compared to a regular .dicom viewer (glitchy, slow, heavy computing…).

Clipping border (Alt+B) allows to get a rapid slicing effect but it is not editable; each clipping box must be done one at a time. (Z-Anatomy on LinkedIn: Demo fonctions de base)

I take good note of your question and will investigate; it would be a great option.
Maybe with nodes.

1 Like

I contacted Cicero Moraes that works much linking .dicoms and Blender to ask him the question.
You can see his work when searching ‘Orthogonblender’.

1 Like

Hi everyone!


5
11
20

I write back about this project because the file is improving regularly:
https://www.z-anatomy.com/
It is worth downloading the latest version from time to time.

To be kept informed of the updates, the linkedin page can be followed:
https://www.linkedin.com/company/z-anatomy

1 Like

Thanks for sharing, this looks really nice!

Blender file format is not a data archival or exchange file format. There is not even a formal specification of the this file format, it is subject to change any time, any way without notice, it is just whatever is currently implemented in Blender (very much the same way as Slicer’s scene file format). It would be important to make the models available in a standard file format, such as glTF, PLY, OBJ, or even VRML so that it can be used in other software, such as Slicer, OpenAnatomy, OpenSim, …

For example, we could easily import the atlas from any of the standard file formats into Slicer (but not from Blender), including textures, and register that to real patient images, even with non-linear warping. Or, we could edit the atlas to be able to create models from the most common normal and pathological variations from patient images.

1 Like

I agree, the anatomy data looks great :+1:

I’d suggest exporting them in USD format, which will be easy since there already an exporter for Blender. USD is becoming very popular for this kind of data for content creation. We should look into making USD import/export tools for Slicer. It might be possible to put some of the functionality in VTK, but probably it’s cleanest to work at the application level.

USD is also the basis for Nvidia’s Omniverse. We may or may not want to use Omniverse but it indicates momentum behind USD and at least some level of maturity across platforms.

1 Like

USD looks great. I wanted to like glTF but always remained somewhat uncomfortable with how rigid the format is and much the hardware representation and efficient implementation dictates everything. USD seems to operate at higher level concepts and supports references, layers, inheritance, user-level metadata, temporary hiding of primitives, etc. - all things that are extremely valuable for anatomical atlases. I’ve just read that Blender got a USD importer, too, so now you can do round-trip editing not just in Blender but other software, too.

@Melodicpinpon FYI, I’ve tried the atlas and it was a bit hard for me to use it. Maybe my feedback can be useful for you:

  • Higher than expected hardware requirements: It needs desktop computer or gaming laptop. My relatively strong Intel i7 ultrabook with 16GB RAM, and Intel Iris Plus Graphics could not handle it (I could barely rotate the viewin Blender, physical memory usage was near 100%). My desktop with an i7 CPU, 32GB RAM, RTX 2080 could load the model without problems, but everything was still sluggish. => For authoring/editing it could be OK to require 32 GB RAM and desktop class GPU, but for users you would need to create decimated models (preferable by about a factor of 10x).
  • There are a number of extra setup steps to adjust the application preferences. Some of them persistently change the preferences, so it somebody uses Blender for other purposes then he has to switch between the regular settings and the Z-anatomy recommended settings. Loading and setup of an atlas should be simpler.
  • Hard to navigate. Keyboard shortcuts help (without that I could not do anything), but not granular enough (just show/hide 6-8 major categories). I also found it hard (could not really figure out even in the end) why items does not show up if I open the eye icon (and all parents’ eye icons). When I right-clicked and choose to show all items inside then it worked. I also found that it was almost impossible to use it with a touchpad (I would have needed the middle button or reconfigure keyboard shortcuts). It is mostly just the complexity of Blender, which is justified if you want to edit the model, but just for viewing feels too difficult. => Instead of using Blender for distribution, it would be better to use a simpler viewer. Virtual reality support in the viewer is essential, interacting in with a mouse and keyboard on a 2D screen is just painful compared to having two 6-DOF controllers in an immersive 3D environment. You can get a standalone Oculus Quest for $300, which should easily handle visualization of surface meshes and image cross-sections. A simple application that shows meshes and images like the OpenAnatomy web viewer would be sufficient, but it with virtual reality support.
  • I was not able to show labels with callouts, as I saw it on some screenshots.
  • Some anatomy seem to be missing. For example, I could not visualize the lymphatic system. => It would be nice to document the list of known issues/missing parts clearly, near the download link, so that users know what to expect.
  • Scalability: Management of even this single specimen is quite complicated. I don’t know how would you incorporate anatomical variations, pathologies, different taxonomies, coordinate systems, manage versioning, accept additions or change requests from others, keeping the models in sync with various other anatomical atlases, how could you correlate the meshes with ground truth data (CT, MRI, ultrasound, cryosections, etc.). => This is obviously very difficult, would take a lot of work, but coordinating with OpenAnatomy project or other open efforts should help. Projects could share common data model (USD?), desktop and web viewer, authoring tools (Blender, 3D Slicer), etc.

The .blend files are indeed meant to be used in Blender. They offer many interesting options (colors, complex organisation, between others that could be useful for anatomy). All versions of Blender are always available and the file that I share is adapted to the latest version. The whole file or parts of it can easily be exported into many other formats from the .blend if needed.

Pathological anatomy could be a further step, beyond all sane anatomy.

The memory needed to run the whole anatomy is indeed pushing the processor to their limits, I will maybe create other files containing only an arm, a leg etc. to alleviate the calculation needed.
The attempt to optimize the file size is a priority, and Giorgio Luciano, a(nother) Medical 3D modeller proposed today to work on the file to retopo a fair part of it in order to use Normal maps. We’ll see if it helps. Although I achieved to lower the file size from 261 to 197Mb following the good advice from DNorman (Open source anatomy on blender - #13 by DNorman - Works in Progress - Blender Artists Community); the memory used keeps being very high.

Importing the shortcuts is quite straightforward but I requested an similar way to import/export user preferences; at the moment the way to change it in is to find the location of the program through a %appdata% search, then pasting the userprefs.blend into the scripts folder:

The file is meant to be used with a full desktop computer with a 3 button mouse and a keyboard with numpad. The other devices will suffer severe limitations of the functionalities. On the other hand, for those who have the required material, it offers all the functions that he/she can dream of.

I agree about the eye icon issue, especially the fact that showing a collection should implicate to automatically show all the upper collection but understand also why they chose to do it this way. you can shift LMB the eye icon of a collection to show/hide all the underlying structures at once.
I found that it was much easier to show/hide collection, selecting them with the customized shortcut ‘RMB’ that allow to chose the collections to which the selected structure belongs, and to hide with ‘H’. the outliner is still kept apparent as a glossary, but can be hidden.

I already contacted Michael Halle from the Open anatomy project to see if a collaboration was possible and wait for his answer.

The work has been started a few months ago and is under development. The best way to see what is missing is looking to the empty collections of the outliner (there are thousands of structures, trying to list them is a big work).

As for the last part, it leads me to macro-economic and political considerations that you probably share, since 3D Slicer is open source. I work without any subvention and will soon have to ‘find a job’. But of course, much could be (/have been) done with some will. The will seems to be missing within most decisions makers.

Thank you for these feedback, Andras, I appreciate much your work and would have loved to collaborate with you if there were more bridges between 3DSicer and Blender. I asked to ‘BodyPart3D’ for the RMI (there must be one somewhere) used to creates the models but did not get any answer. Would you like to insist with me? This point is quite important for the future of the project.

If there is a good scene file format that both Slicer and Blender can import/export without losing any valuable information then this problem is solved. We hoped that glTF would work, but it is a bit too low-level and it seems quite hard to preserve all custom metadata during import/export operations. However, USD format looks quite promising. Blender can already read/write it and there seems to be official packages to read/write USD files in Python that may be usable in Slicer. I’ve also asked about USD on the VTK forum and they seemed to be open to the idea. It is not an easy task to add support for this complex file format, but due to its flexibility and wide support in various tools, the investment would probably pay off in the long term.

It took a while for me to figure out that by RMI you mean MRI. Yes, if there are no underlying anatomical images then it is quite limited what you can do with the atlas, as it is harder to correlate with other atlases, verify that the model is accurate, etc. I’m not sure how can I help with this. I think the issue is that people must prioritize projects that they are funded to do, so while they would like to help others, it may not be always possible. So, as you have probably realized, to get funding so that you and your collaborators can give enough attention to it.

The labels that have been added for now use the ‘MeasureIt’ free default addon because Call out tiles is not free (about 1$ too expensive).

Most atlases do not share .dicoms and are still valuable learning tools. The one that I share is based on the great work of ‘BodyParts3D’ (that has been left as separated .obj with their names and relations contained in another file during then years) and I therefore depend on them to get or not a .dicom.

I only mean to write to the Author and ask for the MRI.

I will keep on doing what I can and does not depend on other’s help; fundings wouldn’t enhance the quality of what I do; although it may be useful to keep on working on the long term.

Hi Pieper,
I watched one or two videos but did not get what advantage(s) the USD format has over the .blend, or the .fbx that can also be used to import a model from Blender to Unity.

Probably the main advantages of USD are that it’s a modern, open, platform neutral format that’s designed as an interchange format rather than a document format for a given software.

Exactly!

I would also add that since we discussed this we spent some more time with gltf and available web viewers and improved the SlicerOpenAnatomy extension. As a result we now have a very good workflow for creating and share models:

  • Create/edit segmentation using Segment Editor
  • Export segmentation to glTF format using SlicerOpenAnatomy extension. The glTF file stores segment names, hierarchy, and display properties. We use simple shading and no texture, but we could specify more interesting textures, too.
  • Upload the glTF file to GitHub or Dropbox (or use any custom file hosting).
  • Embed the model into your website or view on a computer/tablet/phone using a free glTF web viewer. For example, you can use 3dviewer.net, which can show/hide branches of the hierarchy, click on any model to get information on it, click on a structure in the model tree to see that in 3D, etc. Click here for an example.

image

This workflow has many advantages:

  • No software installation is needed for model viewing.
  • You can create high-quality yet lightweight, fast-loading models (glTF is a high-efficiency export format, not a document format such as .blend). See an example with nice textures and lighting here.
  • Everything is completely free. (not even $1)
  • The data does not have to be uploaded to third-party servers - just your own server or the cloud service provider to store your data.
  • You can share data privately: only those people can access your file on Dropbox who has received the link from you.

You can find some more information in this topic:

All this sounds interesting;
I’ll take a close look at it soon.
Meanwhile you may like to see the app made in Unity by Lluis Vinent,
it’s already pretty cool:

This videos shows the blend part of the project:

1 Like

The ‘Online 3D viewer’ is simple and easy, I like it.
Nonetheless, the app made by Lluis Vinent for ‘Z-anatomy’ has more options and very useful tools to navigate, select, isolate, with the labels, the definitions and so on.
Blender and the python script also provide a very rich environment to visualize these models.
Therefor, I do not see much reason for me to convert the files to match the USD format.

Besides, the formats that you speak about may be more versatile, but when it comes to the edition of the models, a real 3D software will be needed anyway, and Blender is the open source option, and became really competitive technically.

The combination of Blender and Unity seem to be the best option today to create and share, for example, specific anatomical models, or an open source anatomical model of another animal.

What do you think about this analysis?
Do you think that there is still a good reason to convert the files in USD and share them with the ‘Online 3D Viewer’?
Would you like to join our efforts to share a powerful open visualizer solution?

I plan to go on working on the anatomical content during the next months.

If the goal is that a handful of anatomy and 3D modeling experts maintain a few mesh-only atlases that many people with average experience and computing hardware can view then what you described sounds like a good solution. Your previous attempt of using Blender as end-user viewer assumed that users could install Blender, had a computer that could load a full-quality anatomical model, and were able to learn to use Blender, which excluded many people; that’s why adding an easy-to-use viewer displaying simplified models is great.

If you want to support images (such as importing and displaying CT, MRI, etc. images along with 3D models), want to allow the end-users community to not just view but also edit/combine/create atlases, maintain many atlases in a sustainable way, etc. then you need to make the workflow more flexible and scalable. This is why using USD, glTF, or other simple but powerful standard open file format (with custom extensions or conventions) for storing your atlases would be essential. Blender’s .blend file format is a document file format with the goal of supporting all features of Blender and evolves with the application, and therefore it is not suitable for data exchange and archival.

I’m mostly interested in utilizing imaging data for creating and editing anatomical models in Slicer and export/import them in standard file formats. I’m very happy if there are simple viewers that can display the created content, but I won’t be able to directly contribute to them (other than with occasional testing and giving advice).

Hello, does anyone have a valid link to download the Z anatomy models please?

Yea, I found out few days ago the site has suddenly gone for unknown reason.
I have the file from March 2023 version 0.9.9.7.5 for both blender and Unity portable version.
I put them on google drive:
Blender Version:

Unity Version: