Skip to content

Cryo-EM and Microscopy Volumes

Handling Cryo-EM and Microscopy Volumes

In the previous chapter on Molecular Nodes we focused on atomic model data, essentially lists of atoms with coordinates and metadata. Blender's Geometry Nodes are ideal for this because the geometry/animations/color is generated procedurally from data such as positions, bonds, chain IDs, or B-factors.

In structural and cell biology, however, we often also work with a different type of data: volumetric data. Instead of discrete atoms, we have a 3D grid of values. Each voxel stores a scalar, for example electron density in cryo-EM, or light intensity in fluorescence microscopy.

Blender supports volumes currently only via the OpenVDB format, designed for special effects like explosions and clouds. When importing an OpenVDB file, a new volume object stores voxel grids, which can be rendered directly in Cycles or Eevee as density fields.

Blender expects volume data in OpenVDB format. Direct manipulation of the underlying voxel array inside Blender is limited. This results in a workflow like:

  1. Convert your data externally or in a Blender Python script to OpenVDB format
  2. Save the .vdb file
  3. Import it into Blender as a Volume object

In one of the chapters on Python scripting, an example of this workflow is presented.

For some commonly used file formats, there are plugins that help with the import and display of scientific volumetric data:

Plugin Handles Typical Formats
Molecular Nodes Molecular/cellular EM volumes (e.g., density maps, tomograms) .mrc .map
Bioxel Nodes Any Biological voxel data .dcm .DICOM .ima .bmp .jpg .png .tif .hdf .mrc .map ...
Microscopy Nodes Fluorescency microscopy + EM volumes .tif, .zarr

Once imported, these plug-ins have custom nodes in geometry nodes for common operations on volumes, such as threshholding to create a mesh, or displaying plane-cuts.

Interesting

Blender 5 introduces an important development: Grid sockets in Geometry Nodes. These allow direct access to volume grids inside the node system. You can for example:

  • Sample grid values
  • Modify density procedurally
  • Combine multiple grids, e.g. addition

New types of nodes will be added in future versions, and it will be interesting to see what new things we can do with volumes in Blender.


Last update: 04 March 2026 16:05:48