{"id":13731565,"url":"https://github.com/r03ert0/meshgeometry","last_synced_at":"2026-01-10T17:05:48.415Z","repository":{"id":5446161,"uuid":"6639270","full_name":"r03ert0/meshgeometry","owner":"r03ert0","description":"mesh geometry tools","archived":false,"fork":false,"pushed_at":"2021-07-12T08:34:12.000Z","size":3904,"stargazers_count":25,"open_issues_count":6,"forks_count":11,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-08-04T02:10:15.267Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/r03ert0.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-11-11T14:29:35.000Z","updated_at":"2023-04-13T23:46:43.000Z","dependencies_parsed_at":"2022-09-03T08:31:07.317Z","dependency_job_id":null,"html_url":"https://github.com/r03ert0/meshgeometry","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r03ert0%2Fmeshgeometry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r03ert0%2Fmeshgeometry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r03ert0%2Fmeshgeometry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r03ert0%2Fmeshgeometry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r03ert0","download_url":"https://codeload.github.com/r03ert0/meshgeometry/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224702695,"owners_count":17355595,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T02:01:33.059Z","updated_at":"2026-01-10T17:05:48.379Z","avatar_url":"https://github.com/r03ert0.png","language":"C++","readme":"meshgeometry\n============\n\nMesh geometry tools. Several commands can be chained together, with the same operation\nappearing many times in the same command line. They are processed sequentially.\n\nCompiling:\n  bash compile.sh\n\nIn Linux, you may need to install the freeglut3 and libmesa libraries first:\n  apt-get update\n  apt install freeglut3-dev\n  apt install mesa-common-dev\n\n\nI/O commands         |Description\n---------------------|----------------\n-iformat format_name |Force input format (needs to precede imesh)\n-oformat format_name |Force output format (needs to precede omesh)\n-i filename          |Input file (also accepts -imesh)\n-o filename          |Output file (also accepts -omesh)\n-odata filename      |Output data\n\nGeometry measurement                             |Description\n-------------------------------------------------|----------------\n-absgi                                           |Compute absolute gyrification index\n-area                                            |Surface area\n-checkOrientation                                |Check that normals point outside\n-centre                                          |Move the mesh's barycentre to the origin\n-euler                                           |Print Euler characteristic\n-foldLength                                      |Compute total fold length\n-size                                            |Display mesh dimensions\n-tris                                            |Display number of triangles\n-verts                                           |Display number of vertices\n-volume                                          |Compute mesh volume\n-curv                                            |Compute curvature\n-depth                                           |Compute sulcal depth\n-areaMap                                         |Compute surface area per vertex\n-icurv number_of_iterations                      |Integrated curvature (warning: icurv changes the geometry of the mesh)\n-isolatedVerts                                   |Count the number of isolated vertices in the mesh\n\nGeometry modification                            |Description\n-------------------------------------------------|----------------\n-add filename                                    |Add mesh at filename to the current mesh\n-average n_meshes path1 path2 ... pathn          |Compute an average of n_meshes all of the same topology\n-barycentricProjection reference_mesh            |Print barycentric coordinates for each vertex in reference_mesh\n-fixFlip                                         |Detect flipped triangles and fix them\n-fixSmall                                        |Detect triangles with an angle \u003e160\n-flip                                            |Flip normals degrees and fix them\n-laplaceSmooth lambda number_of_iterations       |Laplace smoothing\n-level level_value                               |Adds new vertices (and triangles) to the edges that cross level_value in the vertex data (f.ex., mean curvature)\n-normalise                                       |Place all vertices at distance 1 from the origin\n-randverts number_of_vertices                    |Generate homogeneously distributedrandom vertices over the mesh\n-relax filename                                  |Relax current mesh to mesh at filename (both meshes have the same topology)\n-resample smooth_mesh reference_mesh             |Resample the mesh to match the vertices and the topology of the argument mesh\n-removeIsolatedVerts                             |Removes isolated vertices in the mesh (if present)\n-rotate x y z                                    |Rotate with angles x, y and z (in degrees)\n-scale scale_value                               |Multiply each vertex by 'scale'\n-sortTriangles                                   |Sort the triangles in the mesh file along the x axis\n-stereographic                                   |Stereographic projection\n-subdivide                                       |Subdivide the mesh with one iteration of Kobbelt's sqrt(3) algorithm\n-taubinSmooth lambda mu number_of_iterations     |Taubin Smoothing\n-translate x y z                                 |Translate mesh by x, y, and z.\n-lissencephalic                                  |Smooth valleys and hills, not the coast\n-normal                                          |Mesh normal vectors\n\nData measurement                                 |Description\n-------------------------------------------------|----------------\n-countClusters  value                            |Count clusters in texture data\n-max                                             |Maximum data value\n-mean                                            |Mean data value\n-min                                             |Minimum data value\n\nData modification                                |Description\n-------------------------------------------------|----------------\n-addVal                                          |Add value data\n-subVal                                          |Subtract value from data\n-multVal                                         |Multiply data time value\n-divVal                                          |Divide data by value\n-clip min max                                    |Clip data values to the interval [min,max]\\n\\\n-smoothData lambda number_of_iterations          |Laplace smoothing of data, lambda=0 -\u003e no smoothing, lambda=1 -\u003e each vertex value to neighbour's average\n-threshold value 0:down/1:up                     |Threshold texture data\n\nOther                                            |Description\n-------------------------------------------------|----------------\n-drawSurface colourmap path                      |draw surface in tiff format, colormap is 'grey' or 'rainbow'\n-v                                               |Verbose mode\n-h                                               |Help\n\nMeshgeometry can read and write several formats, based on the file extension:\n\nExtension                                        |Description\n-------------------------------------------------|---------------------------\n.orig, .pial, .white, .inflated, .sphere, .reg   |Freesurfer meshes\n.curv, .sulc, .sratio                            |Freesurfer data\n.mesh                                            |BrainVisa mesh\n.txt                                             |RT's mesh plain text format\n.float                                           |Raw float data\n.txt1                                            |RT's data format\n.bin                                             |n-e-r-v-o-u-s system web binary mesh\n.wrl, .obj, .ply, .stl, .smesh, .off, .vtk, .gii |Other mesh formats\n","funding_links":[],"categories":["Maths"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr03ert0%2Fmeshgeometry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fr03ert0%2Fmeshgeometry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr03ert0%2Fmeshgeometry/lists"}