https://github.com/r03ert0/meshgeometry
mesh geometry tools
https://github.com/r03ert0/meshgeometry
Last synced: about 1 month ago
JSON representation
mesh geometry tools
- Host: GitHub
- URL: https://github.com/r03ert0/meshgeometry
- Owner: r03ert0
- Created: 2012-11-11T14:29:35.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2021-07-12T08:34:12.000Z (almost 4 years ago)
- Last Synced: 2024-08-04T02:10:15.267Z (11 months ago)
- Language: C++
- Size: 3.72 MB
- Stars: 25
- Watchers: 6
- Forks: 11
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- AwesomeCppGameDev - meshgeometry
README
meshgeometry
============Mesh geometry tools. Several commands can be chained together, with the same operation
appearing many times in the same command line. They are processed sequentially.Compiling:
bash compile.shIn Linux, you may need to install the freeglut3 and libmesa libraries first:
apt-get update
apt install freeglut3-dev
apt install mesa-common-devI/O commands |Description
---------------------|----------------
-iformat format_name |Force input format (needs to precede imesh)
-oformat format_name |Force output format (needs to precede omesh)
-i filename |Input file (also accepts -imesh)
-o filename |Output file (also accepts -omesh)
-odata filename |Output dataGeometry measurement |Description
-------------------------------------------------|----------------
-absgi |Compute absolute gyrification index
-area |Surface area
-checkOrientation |Check that normals point outside
-centre |Move the mesh's barycentre to the origin
-euler |Print Euler characteristic
-foldLength |Compute total fold length
-size |Display mesh dimensions
-tris |Display number of triangles
-verts |Display number of vertices
-volume |Compute mesh volume
-curv |Compute curvature
-depth |Compute sulcal depth
-areaMap |Compute surface area per vertex
-icurv number_of_iterations |Integrated curvature (warning: icurv changes the geometry of the mesh)
-isolatedVerts |Count the number of isolated vertices in the meshGeometry modification |Description
-------------------------------------------------|----------------
-add filename |Add mesh at filename to the current mesh
-average n_meshes path1 path2 ... pathn |Compute an average of n_meshes all of the same topology
-barycentricProjection reference_mesh |Print barycentric coordinates for each vertex in reference_mesh
-fixFlip |Detect flipped triangles and fix them
-fixSmall |Detect triangles with an angle >160
-flip |Flip normals degrees and fix them
-laplaceSmooth lambda number_of_iterations |Laplace smoothing
-level level_value |Adds new vertices (and triangles) to the edges that cross level_value in the vertex data (f.ex., mean curvature)
-normalise |Place all vertices at distance 1 from the origin
-randverts number_of_vertices |Generate homogeneously distributedrandom vertices over the mesh
-relax filename |Relax current mesh to mesh at filename (both meshes have the same topology)
-resample smooth_mesh reference_mesh |Resample the mesh to match the vertices and the topology of the argument mesh
-removeIsolatedVerts |Removes isolated vertices in the mesh (if present)
-rotate x y z |Rotate with angles x, y and z (in degrees)
-scale scale_value |Multiply each vertex by 'scale'
-sortTriangles |Sort the triangles in the mesh file along the x axis
-stereographic |Stereographic projection
-subdivide |Subdivide the mesh with one iteration of Kobbelt's sqrt(3) algorithm
-taubinSmooth lambda mu number_of_iterations |Taubin Smoothing
-translate x y z |Translate mesh by x, y, and z.
-lissencephalic |Smooth valleys and hills, not the coast
-normal |Mesh normal vectorsData measurement |Description
-------------------------------------------------|----------------
-countClusters value |Count clusters in texture data
-max |Maximum data value
-mean |Mean data value
-min |Minimum data valueData modification |Description
-------------------------------------------------|----------------
-addVal |Add value data
-subVal |Subtract value from data
-multVal |Multiply data time value
-divVal |Divide data by value
-clip min max |Clip data values to the interval [min,max]\n\
-smoothData lambda number_of_iterations |Laplace smoothing of data, lambda=0 -> no smoothing, lambda=1 -> each vertex value to neighbour's average
-threshold value 0:down/1:up |Threshold texture dataOther |Description
-------------------------------------------------|----------------
-drawSurface colourmap path |draw surface in tiff format, colormap is 'grey' or 'rainbow'
-v |Verbose mode
-h |HelpMeshgeometry can read and write several formats, based on the file extension:
Extension |Description
-------------------------------------------------|---------------------------
.orig, .pial, .white, .inflated, .sphere, .reg |Freesurfer meshes
.curv, .sulc, .sratio |Freesurfer data
.mesh |BrainVisa mesh
.txt |RT's mesh plain text format
.float |Raw float data
.txt1 |RT's data format
.bin |n-e-r-v-o-u-s system web binary mesh
.wrl, .obj, .ply, .stl, .smesh, .off, .vtk, .gii |Other mesh formats