Potts Model Code and Data

Description

The lattice file contains a 100x100x100 mesh stored as a 1d array with the last index changing the fastest (eg, [0][0][0], [0][0][1], [0][0][2], ...). Each row contains the (biological) cell id and type that is currently occupying the mesh point. Every cell has a unique id and there are about 1000 unique cells in this file. Each cell also has a type and this file has four types. The types are:

Most of the cells are of type 1. The vtk file is simply a VTK STRUCTURED_POINTS data set built from the type field in the original file.

For the visualizations, we'd like to be able to extract the geometry of each individual cell and render them as 'solid' objects. Each cell should be colored by its type for now but we also have concentration data that we'd like to eventually use to control the opacity and color of the cells. 2D slices of the volume should distinctly show the cell boundaries. In general, the fluid cells are made up of a few mesh points (10) and the biological cells many more (40-50).

In 2D, a lattice of cell ids might look like:

00000000000
00111222200
00110022200
00111000220
00000000000
The two cells here are:
111
11
111
and
2222
 222
  22
However, these two cells might also have the same type, in which case the volume renderer just draws them as one connected blob (since we're coloring based on type, not id). Looking at the lattice, it's obvious where the boundaries are. What we'd like are 3D surfaces for the cells (hollow on the inside) that will render faster than a volume and that we can apply surfaces, etc, to to display more information. Additionally, if a 2D slice is made of the lattice, we'd like to draw the cell boundaries. For the example above, at a minimum we'd like to get a picture like this:

We'd also like to get rid of the 'blocky' look of the cells. So, the above cells might look something like this:

I've had some luck using the volume rendering and contour slicing tools in VTK, but haven't had much luck getting precise boundaries for the cells (the cells really are discrete entities and the contour tools are treating the mesh as a continuum). The volume rendered cells tend to be 'blocky'. If I switch to 3D contours, cells swallow other cells. These issues are some of the motivating forces for extracting objects rather than doing volume rendering. The other big factor is the limit of 256 types for the volume renderer, which makes it difficult to identify individual cells.