SCI Home Software Documentation Installation User's Guide Developer's Guide

CIBC:Documentation:SCIRun:Tutorial:BioPSE:Chapter 4

From SCIRun Documentation Wiki

Jump to: navigation, search

Prev Next Contents


Contents

Chapter 4: Multiple Concurrent Visualizations

Chapter Sections

Chapter Overview

Chapter 3 demonstrated the construction of three separate networks used to visualize the utahtorso-lowres-voltage dataset. Chapter 4 discusses a fourth visualization tool; isosurface extraction. This chapter also demonstrates merging all four visualization networks into one larger network that performs all visualizations concurrently.

Isosurfacing

To begin, examine a fourth visualization method; isosufacing. Isosufacing takes a volumetric field, and finds areas in the field with the same value (e.g. in a voltage field, all areas where the voltage is 0.2 amps). Surfaces representing these areas are produced to make it easier to understand and visualize the field's data.

To perform isosufacing in SCIRun, do the following:

  • Create a ReadField module, and load the utahtorso-lowres-voltage.tvd.fld file.
  • Create an ExtractIsosurface module from the SCIRun->Visualization menu. Connect it to the ReadField.
  • Create a ViewScene module, and connect it to the ExtractIsosurface Module. Connect these two modules using the purple Geometry ports. In order to determine the type and/or name of a port, press the middle mouse button when the cursor is over the port.

The ExtractIsosurface module takes a volume Field as input, and outputs a surface Field and Geometry data. Geometry data is represented by purple pipes, and consists of data that can be directly rendered by the ViewScene module. The isosurface can be visualized with or without a color map. This demonstration does not deal with the output field, only the output Geometry data. (Note, geometry data is also referred to as scene graph data.)

Figure 4.1 shows the ExtractIsosurface module UI. The Iso Value slider widget determines which "surface" of the incoming volume Field is displayed. Upon releasing the slider, the module executes and the portion of the Field corresponding to the chosen isosurface is displayed. In addition to using the Slider to select a single iso value, the Quantity tab can be used to select multiple evenly spaced isosufaces, or use the List tab to select a list of specific isosufaces.

Image:4_1.gif
Figure 4.1: ExtractIsosurface UI

If a color map is not connected to the ExtractIsosurface input port, the module uses the Default Color. By default, the module extracts a surface using the Marching Cubes algorithm. The user can choose the number of threads (processors) the algorithm will use, or use the NOISE algorithm.

It can be more informative to see color associated with the data, so add our standard color map modules to this net.

  • Create a CreateStandardColorMaps module.
  • Create a RescaleColorMap module. Connect the ColorMap output port from CreateStandardColorMaps to the ColorMap input port on RescaleColorMap. The ColorMap port is dark purple.
  • Connect the field output port from the ReadField module to the Field input port on RescaleColorMap.
  • Finally, connect the output ColorMap port from RescaleColorMap to the ExtractIsosurface module.
  • Determining the best iso values to use for isosurfacing can take some practice. For this data set, bring up the UI for RescaleColorMap and select Fixed Scale. Use a Min of -30, and a Max of 30. On the ExtractIsosurface UI, Select List and use the values: -20 0 20 40. Note, the more surfaces, the longer it takes to generate. On slower computers, you may want to only use two iso values in your list: 0 20.

Putting Nets Together

Now add the visualization techniques covered in Chapter 3. This process involves sharing the ReadField and ViewScene modules across the 3A, 3B, and 3C networks. Choose from the following two options for rebuilding the nets saved in Chapter 3.

Option one, follow the instructions from Chapter 3, taking note of the following items:

  • For help, refer to the complete, color-coded network in Figure 4.2. This figure shows the combined net using the previous chapter's networks. Blue corresponds to 3A, orange to 3B, and yellow to 3C.
  • Repeat all steps for creating 3A in Chapter 3.
  • Do the same for 3B and 3C, but reuse the ReadField, CreateStandardColorMaps, RescaleColorMap and ViewScene modules created for net 3A.

Option two:

Use the File->Insert menu to insert all nets and their settings saved in Chapter 3. Keep one Viewer module. Destroy the other Viewer modules by right-clicking on each one, and selecting the Destroy option. To destroy a connection between two modules, right-click on the pipe connecting the modules, and select Delete. These nets share the ReadField module (in the upper left corner of Figure 4.2), which loads the utahtorso-lowres-voltage.tvd.fld file. Keep one ReadField module that reads voltage data, and destroy the others. Do not destroy the ReadField module reading electrode data (There should be two ReadField modules, one reading voltage data, and one reading electrode data). Also, use the same CreateStandardColorMaps and RescaleColorMap for all the ShowFields except the one connected to the GetFieldBoundary module.


Grouping Modules

Select (group) modules by drawing a rectangle around the modules using the left mouse button. The selected modules will turn light blue. Left-click and drag the mouse on any of the modules to move the entire group to a new location in the NetEdit frame.

Save this net, it will be used in Chapter 6.

Image:4_2.gif
Figure 4.2: Merged, Color-Coded Net

Image:4_3.gif
Figure 4.3: ViewWindow Displaying Combined Visualizations

Summary

At this point in the tutorial, four methods of visualizing data have been discussed. The tutorial has covered integrating separate module groups to perform concurrent visualizations. The modules used are part of the SCIRun Core modules. Chapter 5 discusses using modules from the bioelectric problem solving environment (BioPSE) package.

Return to Top


Prev Next Contents

Personal tools