An open API service indexing awesome lists of open source software.

https://github.com/r03ert0/meshgeometry

mesh geometry tools
https://github.com/r03ert0/meshgeometry

Last synced: about 1 month ago
JSON representation

mesh geometry tools

Awesome Lists containing this project

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.sh

In Linux, you may need to install the freeglut3 and libmesa libraries first:
apt-get update
apt install freeglut3-dev
apt install mesa-common-dev

I/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 data

Geometry 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 mesh

Geometry 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 vectors

Data measurement |Description
-------------------------------------------------|----------------
-countClusters value |Count clusters in texture data
-max |Maximum data value
-mean |Mean data value
-min |Minimum data value

Data 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 data

Other |Description
-------------------------------------------------|----------------
-drawSurface colourmap path |draw surface in tiff format, colormap is 'grey' or 'rainbow'
-v |Verbose mode
-h |Help

Meshgeometry 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