IsoObjsReduce and IsoObjsReduce2

Synopsis

This module identifies the topological separate objects within an isosurface (ie segments) and orders them by size, the user can select which objects to display. This allows visualization of objects by removing obscuring artifacts.

Input Ports

in Mesh Mesh from an isosurface.

Parameters

#Objects UIslider IsoObjsReduce: The number of the largest objects to return.
IsoObjsReduce2: The number of the largest objects to list
Objects to Display UImultiList IsoObjsReduce2: A list of objects (largest first) that can be displayed.

Output Ports

out Mesh Mesh containing the requested objects.
obj DataObject Renderable object

Description

Isosurfacing is probably the most the most used form of 3D visualization unfortunately like most other methods it can suffer from noisy data. Preprocessing may not always be possible or wanted but noise can double the number of triangles in a isosurface and hence obscure the structure to be visualised as well as hit performance. Theses macros find the individual objects in a isosurface and sort these in order of size. IsoObjsReduce will return the specified number of the largest objects and IsoObjsReduce2 will allow you to choose which objects of returned from a list.

For more details on the modules contained in these macros see the documentation.

Input Ports

in

A mesh from an isosurface though of course it can be any mesh containing a Tri cell_set.

Parameters

#Objects

IsoObjsReduce: Returns the this many of the largest objects.The output mesh will be updated each time you select a different number objects.
IsoObjsReduce2: List this many of the largest objects in the UImultiList.

Objects to Display

IsoObjsReduce2: A list of objects (largest first) that can be displayed. The output mesh will be updated each time you select different objects.

Output Ports

out

The mesh containing the objects selected from the isosurface and a single Tri cell_set.

obj

The directly renderable output mesh.

Example

IsoObjsReduceEg and IsoObjsReduce2Eg both have fun with the lobster. A downsize module is used to that it can be adjusted to the performance of your machine.

Files

iac_proj/isoored/ior_mods.v contains the V definitions of the iso_objs_red and iso_objs_red2 low-level modules and the _iso_obj group.

iac_proj/isoored/ior_macs.v contains the V definitions of the IsoObjsReduce and IsoObjsReduce2 user macros.

iac_proj/isoored/ior_apps.v contains the V definition of the IsoObjsReduceEg and IsoObjsReduce2Eg example applications.

Author

James S. Perrin,
Manchester Visualization Centre

Contact

International AVS Centre
Manchester Visualization Centre
Manchester Computing
University of Manchester
Oxford Road
Manchester
United Kingdom
M13 9PL

See Also