Re: slicer available?

  • To: Mathias Stümpert <AtzeS@xxxxxx>
  • Subject: Re: slicer available?
  • From: Doug Lindholm <lind@xxxxxxxx>
  • Date: Mon, 25 Sep 2000 09:13:30 -0600
Hi,

I've done this but I can't say that it is exactly easy. Here'e the gist:

Create a Real (for the axis perpendicular to your slice) to represent
the slice value. Add it to the Display with a
DirectManipulationRenderer. The resulting point will be your "handle" to
drag your slice. (Add it with ConstantMaps to the other two axes to
position it along the edge of the box.)

Create a Cell (with the Real's reference) which has the action of
reslicing your data: create a Gridded3DSet of the type (latitude,
longitude, altitude) with a manifold dimension of 2 and the constant
dimension with your Real (slice value). Use that set to resample your 3D
data and display the resulting Field.

This is terribly inefficient since a resample happens everytime a
manipulation of your Real is detected. It works surprisingly well if
your slice doesn't require high resolution.

I suspect there is a much better way using an index (one for each slice)
in your MathType and a map to Display.SelectValue but I haven't looked
into this, yet.

  index -> ((latitude, longitude, altitude) -> (pressure, temperature,
...))

Let me know if you want more details.

Regards,
Doug


Mathias Stümpert wrote:
> 
> Hi together,
> 
> I need a possibility to extract slices out of my 3D-Dataset. I think of
> a layer whose edges can be dragged along the axes. Is there an easy way
> to do this with VisAD?
> 
> My MathType looks like this:
> ((latitude, longitude, altitude) -> (pressure, temperature, ...))

-- 
*----------------------------------------------------------------------*
| Doug Lindholm, Software Engineer          |  E-mail: lind@xxxxxxxx   |
| Research Applications Program             |   Phone: 303-497-8374    |
| National Center for Atmospheric Research  |                          |
| P.O. Box 3000                             |     There's no place     |
| Boulder, Colorado 80307-3000              |        like $HOME        |
*----------------------------------------------------------------------*