SCIRun User Mailing List

Text archives Help

Re: [SCIRUN-USERS] Field slicing

Chronological Thread 
  • From: David Weinstein <>
  • To: "Nils H. Busch" <>
  • Cc:
  • Subject: Re: [SCIRUN-USERS] Field slicing
  • Date: Wed, 22 Dec 2004 09:59:15 -0700


I just built a network with a FieldReader (dataset=$SCIRUN_DATA/brain-dmw/brain-dmw-mri-16.lvd.fld) and a FieldSlicer, and am not able to reproduce this problem. Can you please send me an example network that demonstrates the problem you're seeing?

I suspect that part of the problem here is that there's some confusion over the definitions of structured meshes, unstructured meshes, and grids. This is probably a good opportunity for me to describe what we mean by these terms. Here goes...

There are three classes of Meshes in SCIRun: gridded, structured, and unstructured. These differ in whether the locations of the nodes are explicit (a big list of them) or implicit (can be computed based on knowing the node's index and the bounding-box of the full mesh), and whether the element connectivities are explicit (again, a big list) or implicit (the nodes that make up an element can be inferred from the element's index).

- Grids (LatVol, Image, Scanline) have IMPLICIT node locations, and IMPLICIT connectivities
- Structured meshes (StructHexVol, StructQuadSurf) have EXPLICIT node locations (the nodes are free to move around), and IMPLICIT connectivities
- Unstructured meshes (HexVol, TetVol, QuadSurf, TriSurf, Curve, PointCloud) have EXPLICIT node locations, as well as EXPLICIT connectivities.

As you go from gridded to structured to unstructured, the meshes become less constrained.

There is always a trivial way to go from a more constrained mesh to a less constrained mesh: simply turning the implicit definitions into explicit lists. That is, we can go from a LatVol to a StructHexVol by making a list of all of the node locations (this is exactly what the ToStructured module does). Similarly, we can go from a LatVol to a HexVol by making both the nodes and the elements explicit (this is what the Unstructure module does).

However, there isn't a simple way to go BACK -- if we turn a LatVol into a HexVol, there's no easy way to go back to a LatVol (we can't assume the nodes are still at perfect evenly-spaced intervals, so it can no longer be represented as a LatVol). Of course, if a user really wants to get the data back onto a grid, we can always ~interpolate~ the HexVolField onto a LatVolField using the SampleLattice and DirectInterpolate modules -- it's just computationally somewhat expensive.


On Dec 22, 2004, at 7:36 AM, Nils H. Busch wrote:


I am having trouble changing the slice index number. I change to a new
slice once (if that axis is not currently selected), but when trying to
subsequently change the slice, nothing happens. The slider gui cannot be
moved nor does typing in a new slice number in the text field change

This happens with all kinds of input fields SCIRun .fld data or any of the
InsightTookit supported file formats.

Is this a known bug or am I doing something wrong (apparemtly only
structured fields can be sliced and I added a ToStructured module in my
network for any unstructured data sets (some InsightToolkit data formats
seem to be unstructured when read in and converted to a field)

I am using SCIRun v. 1.22 under debian linux compiled with gcc 3.3.1.


-- Nils H. Busch
======================================================================= ====
== The SCIRun Users mailing list: send email to ==
== for more details. ==
== Please acknowledge use of SCIRun in your papers and reports: ==
== see ==
======================================================================= ====

== The SCIRun Users mailing list: send email to   ==
== for more details.                                                     ==
== Please acknowledge use of SCIRun in your papers and reports:          ==
==   see         ==

Archive powered by MHonArc 2.6.16.

Top of page