Content-type: text/html; charset=UTF-8 Man page of IJKMCUBE

IJKMCUBE

Section: User Commands (1)
Updated: 25 JAN 2023
Index Return to Main Contents
 

NAME

ijkmcube - generate isosurface using Marching Cubes  

SYNOPSIS

ijkmcube [OPTIONS] {isovalues} {input filename}  

DESCRIPTION

ijkmcube generates an isosurface using Marching Cubes or one of its variants. Input file contains scalar values in NRRD (Nearly Raw Raster Data) format. When more than one isovalue is specified, the program will generate a separate output file for each.  

OPTIONS

-octree
Create an octree and identify grid cubes intersected by the isosurface using the octree. Speeds up isosurface generation when more than one isovalue is specified.
-region L
Divide the grid into regions of LxLxLx... edges and identify grid regions intersected by the isosurface. Speeds up isosurface generation when more than one isovalue is specified.
-nep
Use an isosurface table with negative, equals (zero) and positive vertex labels. The equals vertex labels represents vertices whose scalar value equals the isovalue.
-snap D
Apply algorithm SnapMC. Construct the isosurface mesh by setting the scalar value of grid vertices within distance D of the isosurface to the isovalue. This effectively "snaps" isosurface vertices onto that grid vertex. Construct the mesh using the NEP (negative, equals, positive) lookup table and then move isosurface vertices back to original locations on the isosurface.

Distance D is between 0.0 and 0.5 and represents a fraction of the grid edge.

-ivol
Construct an interval volume.
-subsample S
Subsample the input grid and then construct the isosurface. Subsample the input grid so that S grid edges are replaced by a single grid edge.
-supersample S
Supersample the input grid and then construct the isosurface. Supersample the input grid so that each grid edge is replaced by S grid edges. Assign scalar values to new grid vertices using multi-linear interpolation.
-highres "{region_coordinates}"
Define a high resolution region in a multiresolution isosurface. Coordinates must be surroundeded by double quotation marks. Number of coordinates is twice the grid dimension. List coordinates of lowest point in region followed by coordinates of highest point.
-numres_levels N
Determines maximum resolution of high resolution regions.
-topology "{isotable|cube_decider|adecider}"
Choose isosurface topology in ambiguous cubes.
isotable
Use topology from isosurface lookup table. (Default.)
cube_decider
Determine topology of ambiguous cubes with no ambiguous facets based on average value of cube vertices.
adecider
Use the asymptotic decider to determine isosurface topology of ambiguous facets. Breaks cubes with ambiguous facets into pyramids.
-interpolate "{linear|multilinear}"
Use linear or multilinear interpolation to determine location of isosurface vertices in cubes which are subdivided into pyramids and/or simplices. Every isosurface vertex is on a cube, pyramid or simplex edge.
linear
Determine the location of the isosurface vertex using linear interpolation on the endpoints of the cube, pyramid or simplex edge containing the isosurface vertex.
multilinear
Determine the location of the isosurface vertex using multilinear interpolation on the cube vertices.
-isotable_dir {isotable_directory}
Set the directory containing the isosurface lookup table .xit (XML Isosurface Table) file. An isosurface lookup table file of the appropriate dimension and type is required.
-off
Output the mesh in Geomview .off format. (Default.)
-ply
Output the mesh in Polygon File Format, .ply format. (Allowed only with 3D scalar data.)
-fig
Output the mesh in FIG (xfig) .fig format. (Allowed only with 3D scalar data.)
-o {output_filename}
Specify the output file name. If the output file name is not specified, the program constructs an appropriate file name.
-prefix {prefix}
Use {prefix} as prefix in constructing output file names.
-label_with_isovalue
Include isovalue in output file name.
-stdout
Send the output to standard output.
-time
Print program execution time information.
-nowrite
Do not write any output file. Useful in debugging or in timing executions without creating output.
-s
Silent mode. Do not print any grid or isosurface information on the terminal.
-usage
Print usage message.
-more_options
Print additional (more) options.
-all_options
Print usage message with all options.
-help
Print a help message.
-help_more
Print help message for additional (more) options.
-help_all
Print help message for all options.
 

EXAMPLES

ijkmcube 10 data.nrrd
Extract the isosurface with isovalue 10 from Nrrd file data.nrrd.
ijkmcube 10 20 30 data.nrrd
Extract isosurfaces with isovalues 10, 20 and 30 from Nrrd file data.nrrd.
ijkmcube 10 20 30 data.nrrd
ijkmcube -octree 10 20 30 data.nrrd
Build an octree on the grid in data.nrrd and extract isosurfaces with isovalues 10, 20 and 30 using that octree. Each isosurface is stored in a separate file.
ijkmcube 10 20 30 data.nrrd
ijkmcube -nep 10 data.nrrd
Extract the isosurface with isovalue 10 using an isosurface table with negative, equals and positive vertex labels.
ijkmcube -snap 0.3 10 data.nrrd
Extract the isosurface with isovalue 10 using algorithm SnapMC with a snap value 0.3.
ijkmcube -ivol 10 20 data.nrrd
Extract the interval volume representing scalar values from 10 to 20.
ijkmcube -ivol 10 20 25 data.nrrd
Extract the interval volumes representing scalar values from 10 to 20 and the interval volume representing scalar values from 20 to 25. Each interval volume is stored in a separate file.
ijkmcube -highres "50 60 70 55 65 75" 10 data3D.nrrd
Extract a multiresolution isosurface with isovalue 10. The rectangular region with lowest vertex (50,60,70) and highest vertex (55,65,75) has full resolution. Regions outside this rectangular region have lower resolution.
ijkmcube -highres "40 40 40 60 60 60"
-highres "50 50 50 70 70 70" 10 data3D.nrrd
Extract a multiresolution isosurface with isovalue 10. Rectangular regions between (40,40,40) and (60,60,60) and between (50,50,50) and (70,70,70) have full resolution Regions outside these rectangular regions have lower resolution. Note that the full resolution rectangular regions may overlap.
 

NOTES

-- Isosurface generation in 3D requires the .xit (XML Isosurface Table) isosurface lookup table file iso.cube.3D.xit.

-- Isosurface generation in 4D requires the xit isosurface lookup table file iso.cube.4D.xit.

-- Interval volume generation in 3D requires the xit isosurface lookup table file ivol.cube.3D.xit.

-- Isosurface generation in 3D with the options -nep or -snap D requires the xit isosurface lookup table file iso.nep.cube.3D.xit.  

SEE ALSO

ijkgentable(1),xit(5).  

AUTHOR

Sundaresan Raman, Rephael Wenger


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
EXAMPLES
NOTES
SEE ALSO
AUTHOR

This document was created by man2html, using the manual pages.
Time: 13:33:10 GMT, January 26, 2023