ijkmcube - generate isosurface using Marching Cubes

ijkmcube[OPTIONS]{isovalues}{inputfilename}

ijkmcubegenerates 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 iso- value is specified, the program will generate a separate output file for each.

-octreeCreate an octree and identify grid cubes intersected by the isosurface using the octree. Speeds up isosurface generation when more than one isovalue is specified. -regionLDivide the grid into regions ofLxLxLx... edges and identify grid regions intersected by the isosurface. Speeds up isosurface generation when more than one iso- value is specified.-nepUse an isosurface table with negative, equals (zero) and positive vertex labels. The equals vertex labels represents vertices whose scalar value equals the iso- value. -snapDApply algorithmSnapMC.Construct the isosurface mesh by setting the scalar value of grid vertices within distanceDof 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. DistanceDis between 0.0 and 0.5 and represents a fraction of the grid edge. -ivolConstruct an interval volume. -subsampleSSubsample the input grid and then construct the isosur- face. Subsample the input grid so thatSgrid edges are replaced by a single grid edge. -supersampleSSupersample the input grid and then construct the isosurface. Supersample the input grid so that each grid edge is replaced bySgrid edges. Assign scalar values to new grid vertices using multi-linear interpo- lation.-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.-topology"{isotable|cube_decider|adecider}" Choose isosurface topology in ambiguous cubes.isotableUse topology from isosurface lookup table. (Default.)cube_deciderDetermine topology of ambiguous cubes with no ambiguous facets based on average value of cube vertices.adeciderUse the asymptotic decider to determine isosur- face 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 sub- divided into pyramids and/or simplices. Every isosur- face vertex is on a cube, pyramid or simplex edge.linearDetermine the location of the isosurface vertex using linear interpolation on the endpoints of the cube, pyramid or simplex edge containing the isosurface vertex.multilinearDetermine the location of the isosurface vertex using multilinear interpolation on the cube ver- tices. -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. -offOutput the mesh in Geomview .offformat. (Default.) -ivOutput the mesh in OpenInventor .ivformat. -o{output_filename} Specify the output file name. If the output file name is not specified, the program constructs an appropriate file name. -stdoutSend the output to standard output. -helpPrint a help message. -timePrint program execution time information. -nowriteDo not write any output file. Useful in debugging or in timing executions without creating output. -sSilent mode. Do not print any grid or isosurface information on the terminal.

ijkmcube10data.nrrdExtract the isosurface with isovalue 10 from Nrrd filedata.nrrd.ijkmcube102030data.nrrdExtract isosurfaces with isovalues 10, 20 and 30 from Nrrd filedata.nrrd.ijkmcube102030data.nrrdijkmcube-octree102030data.nrrdBuild an octree on the grid indata.nrrdand extract isosurfaces with isovalues 10, 20 and 30 using that octree. Each isosurface is stored in a separate file.ijkmcube102030data.nrrdijkmcube-nep10data.nrrdExtract the isosurface with isovalue 10 using an iso- surface table with negative, equals and positive vertex labels.ijkmcube-snap0.310data.nrrdExtract the isosurface with isovalue 10 using algorithm SnapMC with a snap value 0.3.ijkmcube-ivol1020data.nrrdExtract the interval volume representing scalar values from 10 to 20.ijkmcube-ivol102025data.nrrdExtract 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"506070556575"10data3D.nrrdExtract 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"404040606060" -highres"505050707070"10data3D.nrrdExtract 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 resolu- tion Regions outside these rectangular regions have lower resolution. Note that the full resolution rec- tangular regions may overlap.

-- Isosurface generation in 3D requires the .xit(XML Iso- surface Table) isosurface lookup table fileiso.cube.3D.xit. -- Isosurface generation in 4D requires the xit isosurface lookup table fileiso.cube.4D.xit. -- Interval volume generation in 3D requires the xit isosur- face lookup table fileivol.cube.3D.xit. -- Isosurface generation in 3D with the options-nepor -snapDrequires the xit isosurface lookup table fileiso.nep.cube.3D.xit.

ijkgentable(1),xit(5).

Sundaresan Raman, Rephael Wenger

Man(1) output converted with man2html