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.
in | Mesh | Mesh from an isosurface. |
#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. |
out | Mesh | Mesh containing the requested objects. |
obj | DataObject | Renderable object |
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.
in
A mesh from an isosurface though of course it can be any mesh containing a Tri cell_set.
#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.
out
The mesh containing the objects selected from the isosurface and a single Tri cell_set.
obj
The directly renderable output mesh.
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.
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.
James S. Perrin, Manchester Visualization Centre
International AVS Centre Manchester Visualization Centre Manchester Computing University of Manchester Oxford Road Manchester United Kingdom M13 9PL