Skip to content
Rob Campbell edited this page Apr 8, 2020 · 6 revisions

Python Volume Visualiser for 3-D data.

Concept

Lasagna is a lightweight Python visualiser for 3D volume data and is still under heavy development. Lasagna visualises volume data as three linked 2D views which all zoom and pan together. Moving the mouse cursor in one view controls which slice (of the 3-D volume) is displayed in the other two views.

Lasagna was inspired by VV. Lasagna's is very lightweight and flexible, allowing plugins to provide any additional functionality. Plugins are easy to write in Python and PyQt.

What data does Lasagna handle?

Lasagna loads 3D image data sets from multi-page TIFFs, MHD files, and LSM stacks. Lasagna only works on image stacks that can be loaded entirely into RAM.

What applications is Lasagna designed for?

Although Lasagna is designed to be flexible, it is being developed with the following tasks in mind:

  • Performing 3D registration using Elastix.
  • Assessing 3D registration accuracy by overlaying two volumes in different colours.
  • Guiding registration by identifying analogous points in two different volumes.
  • Exploration of the Allen Reference Atlas brain areas.
  • Overlaying of sparse points or traced structures (neuronal trees) onto a 3-D volume.

Current features

  • Interactive exploration of a 3D volume through slicing.
  • Overlay of arbitrary numbers of volumes (RAM permitting).
  • Overlay of data points or lines (e.g. neuronal trees).
  • Interactive exploration of the ARA brain areas through a simple plugin.
  • Overlay of brain area boundaries onto a sample brain.
  • Python scripts with a particular format are made accessible via a Plugins menu and can modify the behavior of
  • Lasagna by calling existing methods or modifying those methods via hooks.
  • Histogram, fast zoom reset, user-defined scales for each axis.

Quick start

Follow the install instructions on the README then run lasagna -D to download example data and test out the viewer. See the usage instructions for more details.

Coordinate framework

The coordinates are all in pixels. The first frame in the imported Z-stack is z=0. The top left pixel of this is the origin.

Advanced use

Overall organisation is described in here. You can learn about adding new plugins here. A little information about writing new plugins also exists.