{
  "_id": "6a12aae4acfb0bcc41d17274",
  "Package": "Morpho",
  "Type": "Package",
  "Title": "Calculations and Visualisations Related to Geometric\nMorphometrics",
  "Version": "2.13",
  "Date": "2025-09-04",
  "Authors@R": "c(\nperson(\"Stefan\", \"Schlager\",, \"zarquon42@gmail.com\", c(\"aut\", \"cre\", \"cph\")),\nperson(\"Gregory\", \"Jefferis\",,, c(\"ctb\")),\nperson(\"Dryden\", \"Ian\",,,c(\"cph\"))\n)",
  "Description": "A toolset for Geometric Morphometrics and mesh processing.\nThis includes (among other stuff) mesh deformations based on\nreference points, permutation tests, detection of outliers,\nprocessing of sliding semi-landmarks and semi-automated surface\nlandmark placement.",
  "Copyright": "see COPYRIGHTS file for details",
  "License": "GPL-2",
  "BugReports": "https://github.com/zarquon42b/Morpho/issues",
  "LazyLoad": "yes",
  "URL": "https://github.com/zarquon42b/Morpho",
  "Encoding": "UTF-8",
  "RoxygenNote": "7.3.2",
  "Config/pak/sysreqs": "cmake libfreetype6-dev libglu1-mesa-dev make\ntexlive libpng-dev libuv1-dev libgl1-mesa-dev zlib1g-dev",
  "Repository": "https://zarquon42b.r-universe.dev",
  "Date/Publication": "2026-04-24 08:22:31 UTC",
  "RemoteUrl": "https://github.com/zarquon42b/morpho",
  "RemoteRef": "HEAD",
  "RemoteSha": "b99aaf0edcdb4156262b40e2f36d128669a0ddd8",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-05-24 07:22:51 UTC",
    "User": "root"
  },
  "Author": "Stefan Schlager [aut, cre, cph],\nGregory Jefferis [ctb],\nDryden Ian [cph]",
  "Maintainer": "Stefan Schlager <zarquon42@gmail.com>",
  "MD5sum": "d2543cfda1b5020ee0f1e0d6d56f7c77",
  "_user": "zarquon42b",
  "_type": "src",
  "_file": "Morpho_2.13.tar.gz",
  "_fileid": "86ae74bf438771310aa4ded63b929820aee1a47ed41e52a2245a166d4c0f6529",
  "_filesize": 3475867,
  "_sha256": "86ae74bf438771310aa4ded63b929820aee1a47ed41e52a2245a166d4c0f6529",
  "_created": "2026-05-24T07:22:51.000Z",
  "_published": "2026-05-24T07:38:12.719Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77580265940,
      "time": 361,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7183276149"
    },
    {
      "job": 77580265948,
      "time": 333,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7183273313"
    },
    {
      "job": 77580265969,
      "time": 331,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7183273089"
    },
    {
      "job": 77580265968,
      "time": 350,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7183275060"
    },
    {
      "job": 77580265945,
      "time": 367,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7183303723"
    },
    {
      "job": 77580265939,
      "time": 434,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7183285235"
    },
    {
      "job": 77580265941,
      "time": 261,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7183287746"
    },
    {
      "job": 77580265947,
      "time": 741,
      "config": "macos-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7183318359"
    },
    {
      "job": 77579956900,
      "time": 339,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7183238406"
    },
    {
      "job": 77580265935,
      "time": 258,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7183265556"
    },
    {
      "job": 77580265965,
      "time": 312,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7183271508"
    },
    {
      "job": 77580265963,
      "time": 350,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7183275181"
    },
    {
      "job": 77580265961,
      "time": 340,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7183274052"
    }
  ],
  "_buildurl": "https://github.com/r-universe/zarquon42b/actions/runs/26354968365",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/zarquon42b/morpho",
  "_commit": {
    "id": "b99aaf0edcdb4156262b40e2f36d128669a0ddd8",
    "author": "Mario Schädel <42519751+mcranium@users.noreply.github.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Pts2mesh icp (#52)\n\n* added function version from personal project, added doc and namespace\n\n* added back in previous icpmat functionality\n\n* Delete .Rhistory\n\n* Delete .RData",
    "time": 1777018951
  },
  "_maintainer": {
    "name": "Stefan Schlager",
    "email": "zarquon42@gmail.com",
    "login": "zarquon42b",
    "description": "",
    "uuid": 1515863
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.2.0",
      "role": "Depends"
    },
    {
      "package": "Rcpp",
      "role": "LinkingTo"
    },
    {
      "package": "RcppArmadillo",
      "version": ">= 0.4",
      "role": "LinkingTo"
    },
    {
      "package": "Rvcg",
      "version": ">= 0.7",
      "role": "Imports"
    },
    {
      "package": "rgl",
      "version": ">= 0.100.18",
      "role": "Imports"
    },
    {
      "package": "foreach",
      "version": ">= 1.4.0",
      "role": "Imports"
    },
    {
      "package": "Matrix",
      "version": ">= 1.0-1",
      "role": "Imports"
    },
    {
      "package": "MASS",
      "role": "Imports"
    },
    {
      "package": "parallel",
      "role": "Imports"
    },
    {
      "package": "doParallel",
      "version": ">= 1.0.6",
      "role": "Imports"
    },
    {
      "package": "colorRamps",
      "role": "Imports"
    },
    {
      "package": "Rcpp",
      "role": "Imports"
    },
    {
      "package": "graphics",
      "role": "Imports"
    },
    {
      "package": "grDevices",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "role": "Imports"
    },
    {
      "package": "bezier",
      "role": "Imports"
    },
    {
      "package": "crayon",
      "role": "Imports"
    },
    {
      "package": "mclust",
      "role": "Imports"
    },
    {
      "package": "car",
      "role": "Suggests"
    },
    {
      "package": "lattice",
      "role": "Suggests"
    },
    {
      "package": "shapes",
      "role": "Suggests"
    },
    {
      "package": "sf",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "role": "Suggests"
    },
    {
      "package": "DescTools",
      "role": "Suggests"
    }
  ],
  "_owner": "zarquon42b",
  "_selfowned": true,
  "_usedby": 11,
  "_updates": [
    {
      "week": "2025-27",
      "n": 1
    },
    {
      "week": "2025-30",
      "n": 2
    },
    {
      "week": "2025-31",
      "n": 1
    },
    {
      "week": "2025-36",
      "n": 2
    },
    {
      "week": "2025-39",
      "n": 1
    },
    {
      "week": "2026-05",
      "n": 2
    },
    {
      "week": "2026-09",
      "n": 1
    },
    {
      "week": "2026-17",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "2.13",
      "date": "2025-09-26"
    }
  ],
  "_stars": 53,
  "_contributors": [
    {
      "user": "zarquon42b",
      "count": 1510,
      "uuid": 1515863
    },
    {
      "user": "jefferis",
      "count": 13,
      "uuid": 23763
    },
    {
      "user": "mcranium",
      "count": 5,
      "uuid": 42519751
    },
    {
      "user": "dmurdoch",
      "count": 2,
      "uuid": 1935680
    },
    {
      "user": "j0vid",
      "count": 1,
      "uuid": 9093863
    },
    {
      "user": "nevrome",
      "count": 1,
      "uuid": 10789038
    },
    {
      "user": "stla",
      "count": 1,
      "uuid": 4466543
    }
  ],
  "_userbio": {
    "uuid": 1515863,
    "type": "user",
    "name": "Stefan Schlager"
  },
  "_downloads": {
    "count": 1946,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/Morpho"
  },
  "_mentions": 118,
  "_devurl": "https://github.com/zarquon42b/morpho",
  "_searchresults": 253,
  "_topics": [
    "openblas",
    "cpp",
    "openmp"
  ],
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/Morpho.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/zarquon42b/morpho",
  "_realowner": "zarquon42b",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.23.3",
      "date": "2013-03-21"
    },
    {
      "version": "0.24.1",
      "date": "2013-06-17"
    },
    {
      "version": "0.25",
      "date": "2013-07-24"
    },
    {
      "version": "0.25-1",
      "date": "2013-08-02"
    },
    {
      "version": "1.0-1",
      "date": "2013-11-04"
    },
    {
      "version": "2.0",
      "date": "2014-02-06"
    },
    {
      "version": "2.0.1",
      "date": "2014-02-07"
    },
    {
      "version": "2.0.2",
      "date": "2014-02-24"
    },
    {
      "version": "2.0.3-1",
      "date": "2014-05-13"
    },
    {
      "version": "2.1",
      "date": "2014-09-25"
    },
    {
      "version": "2.2",
      "date": "2014-12-16"
    },
    {
      "version": "2.3.0",
      "date": "2015-06-23"
    },
    {
      "version": "2.3.1",
      "date": "2015-12-15"
    },
    {
      "version": "2.3.1.1",
      "date": "2016-01-22"
    },
    {
      "version": "2.4",
      "date": "2016-08-01"
    },
    {
      "version": "2.4.1.1",
      "date": "2016-09-13"
    },
    {
      "version": "2.5",
      "date": "2017-04-05"
    },
    {
      "version": "2.5.1",
      "date": "2017-04-21"
    },
    {
      "version": "2.6",
      "date": "2018-04-23"
    },
    {
      "version": "2.7",
      "date": "2019-05-16"
    },
    {
      "version": "2.8",
      "date": "2020-03-09"
    },
    {
      "version": "2.9",
      "date": "2021-09-09"
    },
    {
      "version": "2.10",
      "date": "2022-09-09"
    },
    {
      "version": "2.11",
      "date": "2023-01-27"
    },
    {
      "version": "2.12",
      "date": "2023-12-06"
    },
    {
      "version": "2.13",
      "date": "2025-09-04"
    }
  ],
  "_exports": [
    "adnormals",
    "align2procSym",
    "angle.calc",
    "angleTest",
    "anonymize",
    "applyTransform",
    "areaSphere",
    "areaSpherePart",
    "armaGinv",
    "array2list",
    "arrMean3",
    "asymPermute",
    "barycenter",
    "bindArr",
    "bone1",
    "bone2",
    "bone3",
    "CAC",
    "cExtract",
    "checkLM",
    "checkNA",
    "classify",
    "closemeshKD",
    "computeArea",
    "computeTransform",
    "conv2backf",
    "covDist",
    "covPCA",
    "covW",
    "createAtlas",
    "CreateL",
    "createMissingList",
    "crossp",
    "crossProduct",
    "cSize",
    "cutMeshPlane",
    "cutSpace",
    "CVA",
    "data2platonic",
    "deform.grid",
    "deformGrid2d",
    "deformGrid3d",
    "equidistantCurve",
    "export",
    "exVar",
    "facenormals",
    "fastKmeans",
    "file2mesh",
    "find.outliers",
    "fixLMmirror",
    "fixLMtps",
    "getFaces",
    "getMeaningfulPCs",
    "getOuterViewpoints",
    "getPCscores",
    "getPCtol",
    "getPLSCommonShape",
    "getPLSfromScores",
    "getPLSscores",
    "getPointAlongOutline",
    "getSides",
    "getTrafo4x4",
    "getTrafoRotaxis",
    "getVisibleVertices",
    "groupPCA",
    "histGroup",
    "icpmat",
    "ILDS",
    "ILDSR2",
    "inscribeEllipse",
    "inscribeEllipseRot",
    "invertFaces",
    "kendalldist",
    "line2plane",
    "lineplot",
    "list2array",
    "LPS2RAS",
    "mcNNindex",
    "mergeMeshes",
    "mesh2grey",
    "mesh2obj",
    "mesh2ply",
    "meshcube",
    "meshDist",
    "meshPlaneIntersect",
    "meshres",
    "mirror",
    "mirror2plane",
    "name2factor",
    "name2num",
    "NNshapeReg",
    "obj2mesh",
    "pcAlign",
    "pcaplot3d",
    "PCdist",
    "permudist",
    "permuvec",
    "placePatch",
    "plotAtlas",
    "plotNormals",
    "pls2B",
    "plsCoVar",
    "plsCoVarCommonShape",
    "ply2mesh",
    "points2plane",
    "prcompfast",
    "predictPLSfromData",
    "predictPLSfromScores",
    "predictRelWarps",
    "predictShape.lm",
    "proc.weight",
    "procAOVsym",
    "ProcGPA",
    "procSym",
    "projRead",
    "pts2meshICP",
    "qqmat",
    "quad2trimesh",
    "r2morphoj",
    "r2morphologika",
    "ray2mesh",
    "read.csv.folder",
    "read.fcsv",
    "read.lmdta",
    "read.mpp",
    "read.pts",
    "read.slicerjson",
    "readallTPS",
    "readLandmarks.csv",
    "regdist",
    "regdist.raw",
    "RegScore",
    "relaxLM",
    "relWarps",
    "render",
    "resampleCurve",
    "restoreFromPCA",
    "restoreShapes",
    "retroDeform3d",
    "retroDeformMesh",
    "rmUnrefVertex",
    "rmVertex",
    "rotaxis3d",
    "rotaxisMat",
    "rotmesh.onto",
    "rotonmat",
    "rotonto",
    "rotreverse",
    "scalemesh",
    "showPC",
    "skin1",
    "skin2",
    "skin3",
    "skin4",
    "slider2d",
    "slider3d",
    "solutionSpace",
    "sortCurve",
    "symmetrize",
    "tangentPlane",
    "tanplan",
    "tps2d",
    "tps3d",
    "typprob",
    "typprobClass",
    "unrefVertex",
    "updateIndices",
    "updateNormals",
    "vecx",
    "vert2points",
    "virtualMeshScan",
    "visualise",
    "visualize",
    "warp.mesh",
    "warpmovie2d",
    "warpmovie3d",
    "write.fcsv",
    "write.pts",
    "write.slicerjson"
  ],
  "_datasets": [
    {
      "name": "boneLM",
      "title": "Landmarks and a triangular mesh",
      "object": "boneData",
      "file": "boneData.rda",
      "class": [
        "array"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    },
    {
      "name": "longnose.lm",
      "title": "landmarks and a triangular mesh representing a human nose",
      "object": "nose",
      "file": "nose.rda",
      "class": [
        "matrix",
        "array"
      ],
      "fields": {},
      "rows": 623,
      "table": true,
      "tojson": true
    },
    {
      "name": "shortnose.lm",
      "title": "landmarks and a triangular mesh representing a human nose",
      "object": "nose",
      "file": "nose.rda",
      "class": [
        "matrix",
        "array"
      ],
      "fields": {},
      "rows": 623,
      "table": true,
      "tojson": true
    },
    {
      "name": "shortnose.mesh",
      "title": "landmarks and a triangular mesh representing a human nose",
      "object": "nose",
      "file": "nose.rda",
      "class": [
        "mesh3d",
        "shape3d"
      ],
      "fields": [],
      "table": false,
      "tojson": false
    },
    {
      "name": "skull_0144_ch_fe.mesh",
      "title": "Landmarks and a triangular mesh",
      "object": "boneData",
      "file": "boneData.rda",
      "class": [
        "mesh3d"
      ],
      "fields": [],
      "table": false,
      "tojson": false
    }
  ],
  "_help": [
    {
      "page": "Morpho-package",
      "title": "A toolbox providing methods for data-acquisition, visualisation and statistical methods related to Geometric Morphometrics and shape analysis",
      "topics": [
        "Morpho-package",
        "Morpho"
      ]
    },
    {
      "page": "align2procSym",
      "title": "align new data to an existing Procrustes registration",
      "topics": [
        "align2procSym"
      ]
    },
    {
      "page": "angle.calc",
      "title": "calculate angle between two vectors",
      "topics": [
        "angle.calc"
      ]
    },
    {
      "page": "angleTest",
      "title": "Test whether the direction of two vectors is similar",
      "topics": [
        "angleTest"
      ]
    },
    {
      "page": "anonymize",
      "title": "Replace ID-strings of data and associated files.",
      "topics": [
        "anonymize"
      ]
    },
    {
      "page": "applyTransform",
      "title": "apply affine transformation to data",
      "topics": [
        "applyTransform",
        "applyTransform.default",
        "applyTransform.matrix",
        "applyTransform.mesh3d"
      ]
    },
    {
      "page": "areaSphere",
      "title": "compute the area of an n-dimensional hypersphere",
      "topics": [
        "areaSphere"
      ]
    },
    {
      "page": "areaSpherePart",
      "title": "compute the area of an n-dimensional hypersphere cap",
      "topics": [
        "areaSpherePart"
      ]
    },
    {
      "page": "armaGinv",
      "title": "calculate Pseudo-inverse of a Matrix using RcppArmadillo",
      "topics": [
        "armaGinv"
      ]
    },
    {
      "page": "array2list",
      "title": "reverts list2array, converting an array to a list of matrices",
      "topics": [
        "array2list"
      ]
    },
    {
      "page": "arrMean3",
      "title": "calculate mean of an array",
      "topics": [
        "arrMean3"
      ]
    },
    {
      "page": "asymPermute",
      "title": "Assess differences in amount and direction of asymmetric variation (only object symmetry)",
      "topics": [
        "asymPermute"
      ]
    },
    {
      "page": "barycenter",
      "title": "calculates the barycenters for all faces of a triangular mesh",
      "topics": [
        "barycenter"
      ]
    },
    {
      "page": "bindArr",
      "title": "concatenate multiple arrays/matrices",
      "topics": [
        "bindArr"
      ]
    },
    {
      "page": "boneData",
      "title": "Landmarks and a triangular mesh",
      "topics": [
        "boneData",
        "boneLM",
        "skull_0144_ch_fe.mesh"
      ]
    },
    {
      "page": "CAC",
      "title": "calculate common allometric component",
      "topics": [
        "CAC"
      ]
    },
    {
      "page": "cExtract",
      "title": "extract information about fixed landmarks, curves and patches from and atlas generated by \"landmark\"",
      "topics": [
        "cExtract"
      ]
    },
    {
      "page": "checkLM",
      "title": "Visually browse through a sample rendering its landmarks and corresponding surfaces.",
      "topics": [
        "checkLM"
      ]
    },
    {
      "page": "checkNA",
      "title": "check for NA values in a matrix (of landmarks)",
      "topics": [
        "checkNA"
      ]
    },
    {
      "page": "classify",
      "title": "classify specimen based on between-group PCA or CVA or typprobClass",
      "topics": [
        "classify",
        "classify.bgPCA",
        "classify.CVA",
        "classify.typprob"
      ]
    },
    {
      "page": "closemeshKD",
      "title": "Project coordinates onto a target triangular surface mesh.",
      "topics": [
        "closemeshKD"
      ]
    },
    {
      "page": "colors",
      "title": "predefined colors for bone and skin",
      "topics": [
        "bone1",
        "bone2",
        "bone3",
        "colors",
        "skin1",
        "skin2",
        "skin3",
        "skin4"
      ]
    },
    {
      "page": "computeArea",
      "title": "Compute area enclosed within an irregular polygon",
      "topics": [
        "computeArea"
      ]
    },
    {
      "page": "computeTransform",
      "title": "calculate an affine transformation matrix",
      "topics": [
        "computeTransform"
      ]
    },
    {
      "page": "covDist",
      "title": "calculates distances and PC-coordinates of covariance matrices",
      "topics": [
        "covDist",
        "covPCA"
      ]
    },
    {
      "page": "covW",
      "title": "calculate the pooled within groups covariance matrix",
      "topics": [
        "covW"
      ]
    },
    {
      "page": "createAtlas",
      "title": "Create an atlas needed in placePatch",
      "topics": [
        "createAtlas"
      ]
    },
    {
      "page": "CreateL",
      "title": "Create Matrices necessary for Thin-Plate Spline",
      "topics": [
        "CreateL"
      ]
    },
    {
      "page": "createMissingList",
      "title": "create a list with empty entries to be used as missingList in slider3d",
      "topics": [
        "createMissingList"
      ]
    },
    {
      "page": "tangentPlane",
      "title": "calculate the orthogonal complement of a 3D-vector",
      "topics": [
        "crossProduct",
        "tangentPlane"
      ]
    },
    {
      "page": "cSize",
      "title": "calculate Centroid Size for a landmark configuration",
      "topics": [
        "cSize"
      ]
    },
    {
      "page": "cutMeshPlane",
      "title": "cut a mesh by a hyperplane and remove parts above/below that plane",
      "topics": [
        "cutMeshPlane"
      ]
    },
    {
      "page": "cutSpace",
      "title": "separate a 3D-pointcloud by a hyperplane",
      "topics": [
        "cutSpace"
      ]
    },
    {
      "page": "CVA",
      "title": "Canonical Variate Analysis",
      "topics": [
        "CVA"
      ]
    },
    {
      "page": "data2platonic",
      "title": "creates 3D shapes from data to be saved as triangular meshes",
      "topics": [
        "data2platonic"
      ]
    },
    {
      "page": "deformGrid2d",
      "title": "visualise differences between two superimposed sets of 2D landmarks",
      "topics": [
        "deformGrid2d"
      ]
    },
    {
      "page": "deformGrid3d",
      "title": "visualise differences between two superimposed sets of 3D landmarks",
      "topics": [
        "deformGrid3d"
      ]
    },
    {
      "page": "equidistantCurve",
      "title": "make a curve equidistant (optionally up/downsampling)",
      "topics": [
        "equidistantCurve"
      ]
    },
    {
      "page": "exVar",
      "title": "calculate variance of a distribution stemming from prediction models",
      "topics": [
        "exVar",
        "exVar.lm",
        "exVar.mvr"
      ]
    },
    {
      "page": "fastKmeans",
      "title": "fast kmeans clustering for 2D or 3D point clouds",
      "topics": [
        "fastKmeans"
      ]
    },
    {
      "page": "ply2mesh",
      "title": "Import 3D surface mesh files",
      "topics": [
        "file2mesh",
        "obj2mesh",
        "ply2mesh"
      ]
    },
    {
      "page": "find.outliers",
      "title": "Graphical interface to find outliers and/or to switch mislabeld landmarks",
      "topics": [
        "find.outliers"
      ]
    },
    {
      "page": "fixLMmirror",
      "title": "estimate missing landmarks from their bilateral counterparts",
      "topics": [
        "fixLMmirror",
        "fixLMmirror.array",
        "fixLMmirror.matrix"
      ]
    },
    {
      "page": "fixLMtps",
      "title": "estimate missing landmarks",
      "topics": [
        "fixLMtps"
      ]
    },
    {
      "page": "getFaces",
      "title": "find indices of faces that contain specified vertices",
      "topics": [
        "getFaces"
      ]
    },
    {
      "page": "getMeaningfulPCs",
      "title": "get number of meaningful Principal components",
      "topics": [
        "getMeaningfulPCs"
      ]
    },
    {
      "page": "getOuterViewpoints",
      "title": "Get viewpoints on a sphere around a 3D mesh",
      "topics": [
        "getOuterViewpoints"
      ]
    },
    {
      "page": "getPCscores",
      "title": "Obtain PC-scores for new landmark data",
      "topics": [
        "getPCscores"
      ]
    },
    {
      "page": "getPCtol",
      "title": "determine the minimum ratio for two subsequent eigenvalues to be considered different",
      "topics": [
        "getPCtol"
      ]
    },
    {
      "page": "getPLSCommonShape",
      "title": "Get the linear combinations associated with the common shape change in each latent dimension of a pls2B",
      "topics": [
        "getPLSCommonShape"
      ]
    },
    {
      "page": "getPLSfromScores",
      "title": "compute changes associated with 2-Block PLS-scores",
      "topics": [
        "getPLSfromScores"
      ]
    },
    {
      "page": "getPLSscores",
      "title": "compute 2-Block PLS scores for new data",
      "topics": [
        "getPLSscores"
      ]
    },
    {
      "page": "getPointAlongOutline",
      "title": "Get a point along a line with a given distance from the start of the line",
      "topics": [
        "getPointAlongOutline"
      ]
    },
    {
      "page": "getSides",
      "title": "try to identify bilateral landmarks and sort them by side",
      "topics": [
        "getSides"
      ]
    },
    {
      "page": "getTrafo4x4",
      "title": "get 4x4 Transformation matrix",
      "topics": [
        "getTrafo4x4",
        "getTrafo4x4.rotonto"
      ]
    },
    {
      "page": "getTrafoRotaxis",
      "title": "compute a 4x4 Transformation matrix for rotation around an arbitrary axis",
      "topics": [
        "getTrafoRotaxis"
      ]
    },
    {
      "page": "getVisibleVertices",
      "title": "find vertices visible from a given viewpoints",
      "topics": [
        "getVisibleVertices"
      ]
    },
    {
      "page": "groupPCA",
      "title": "Perform PCA based of the group means' covariance matrix",
      "topics": [
        "groupPCA"
      ]
    },
    {
      "page": "histGroup",
      "title": "plot histogram for multiple groups.",
      "topics": [
        "histGroup"
      ]
    },
    {
      "page": "icpmat",
      "title": "match two landmark configurations using iteratively closest point search",
      "topics": [
        "icpmat"
      ]
    },
    {
      "page": "ILDS",
      "title": "Compute Pairwise Landmark Distances",
      "topics": [
        "ILDS"
      ]
    },
    {
      "page": "ILDSR2",
      "title": "Compute R2 for Interlandmark Distances",
      "topics": [
        "ILDSR2"
      ]
    },
    {
      "page": "inscribeEllipse",
      "title": "Inscribe the maximum ellipse into any arbitrary 2D polygon",
      "topics": [
        "inscribeEllipse"
      ]
    },
    {
      "page": "inscribeEllipseRot",
      "title": "Inscribe the maximum ellipse into any arbitrary 2D polygon including rotations",
      "topics": [
        "inscribeEllipseRot"
      ]
    },
    {
      "page": "invertFaces",
      "title": "invert faces' orientation of triangular mesh",
      "topics": [
        "invertFaces"
      ]
    },
    {
      "page": "kendalldist",
      "title": "Calculates the Riemannian distance between two superimposed landmark configs.",
      "topics": [
        "kendalldist"
      ]
    },
    {
      "page": "line2plane",
      "title": "get intersection between a line and a plane",
      "topics": [
        "line2plane"
      ]
    },
    {
      "page": "lineplot",
      "title": "plot lines between landmarks",
      "topics": [
        "lineplot"
      ]
    },
    {
      "page": "list2array",
      "title": "converts a list of matrices to an array",
      "topics": [
        "list2array"
      ]
    },
    {
      "page": "LPS2RAS",
      "title": "convert data from LPS to RAS space and back",
      "topics": [
        "LPS2RAS"
      ]
    },
    {
      "page": "mcNNindex",
      "title": "find nearest neighbours for 2D and 3D point clouds",
      "topics": [
        "mcNNindex"
      ]
    },
    {
      "page": "mergeMeshes",
      "title": "merge multiple triangular meshes into a single one",
      "topics": [
        "mergeMeshes"
      ]
    },
    {
      "page": "mesh2grey",
      "title": "convert a colored mesh to greyscale.",
      "topics": [
        "mesh2grey"
      ]
    },
    {
      "page": "mesh2ply",
      "title": "export mesh objects to disk",
      "topics": [
        "mesh2obj",
        "mesh2ply"
      ]
    },
    {
      "page": "meshcube",
      "title": "calculate the corners of a mesh's bouning box",
      "topics": [
        "meshcube"
      ]
    },
    {
      "page": "meshDist",
      "title": "calculates and visualises distances between surface meshes or 3D coordinates and a surface mesh.",
      "topics": [
        "meshDist",
        "meshDist.matrix",
        "meshDist.mesh3d"
      ]
    },
    {
      "page": "meshPlaneIntersect",
      "title": "get intersections between mesh and a plane",
      "topics": [
        "meshPlaneIntersect"
      ]
    },
    {
      "page": "meshres",
      "title": "calculate average edge length of a triangular mesh",
      "topics": [
        "meshres"
      ]
    },
    {
      "page": "mirror",
      "title": "mirror landmarks or triangular mesh in place",
      "topics": [
        "mirror",
        "mirror.matrix",
        "mirror.mesh3d"
      ]
    },
    {
      "page": "mirror2plane",
      "title": "mirror points or mesh on an arbitrary plane",
      "topics": [
        "mirror2plane",
        "mirror2plane.matrix",
        "mirror2plane.mesh3d"
      ]
    },
    {
      "page": "name2factor",
      "title": "extract data from array names",
      "topics": [
        "name2factor",
        "name2num"
      ]
    },
    {
      "page": "NNshapeReg",
      "title": "Estimate the shape by averaging the shape of the nearest neighbours.",
      "topics": [
        "NNshapeReg"
      ]
    },
    {
      "page": "nose",
      "title": "landmarks and a triangular mesh representing a human nose",
      "topics": [
        "longnose.lm",
        "nose",
        "shortnose.lm",
        "shortnose.mesh"
      ]
    },
    {
      "page": "pcAlign",
      "title": "align two 3D-pointclouds/meshes by their principal axes",
      "topics": [
        "pcAlign",
        "pcAlign.matrix",
        "pcAlign.mesh3d"
      ]
    },
    {
      "page": "pcaplot3d",
      "title": "visualization of shape variation",
      "topics": [
        "pcaplot3d",
        "pcaplot3d.nosymproc",
        "pcaplot3d.symproc"
      ]
    },
    {
      "page": "PCdist",
      "title": "correlation between a reduced space and the original space",
      "topics": [
        "PCdist"
      ]
    },
    {
      "page": "permudist",
      "title": "performs permutation testing for group differences.",
      "topics": [
        "permudist"
      ]
    },
    {
      "page": "permuvec",
      "title": "perfom permutation testing on angles and distances between subgroups of two major groups.",
      "topics": [
        "permuvec"
      ]
    },
    {
      "page": "placePatch",
      "title": "Project semi-landmarks from a predefined atlas onto all specimen in a sample",
      "topics": [
        "placePatch"
      ]
    },
    {
      "page": "plot.ILDSR2",
      "title": "Plot graphical report for ILDSR2",
      "topics": [
        "plot.ILDSR2"
      ]
    },
    {
      "page": "plot.slider3d",
      "title": "plot the result of slider3d",
      "topics": [
        "plot.slider3d"
      ]
    },
    {
      "page": "plotAtlas",
      "title": "visualize an atlas defined by createAtlas",
      "topics": [
        "plotAtlas"
      ]
    },
    {
      "page": "plotNormals",
      "title": "plots the normals of a triangular surface mesh.",
      "topics": [
        "plotNormals"
      ]
    },
    {
      "page": "pls2B",
      "title": "Two-Block partial least square regression.",
      "topics": [
        "pls2B"
      ]
    },
    {
      "page": "plsCoVar",
      "title": "Get the shape changes from pls2B associated with each latent variable",
      "topics": [
        "plsCoVar"
      ]
    },
    {
      "page": "plsCoVarCommonShape",
      "title": "Compute the shape changes along the common axis of deformations",
      "topics": [
        "plsCoVarCommonShape"
      ]
    },
    {
      "page": "points2plane",
      "title": "projects a 3D coordinate orthogonally onto a plane",
      "topics": [
        "points2plane"
      ]
    },
    {
      "page": "prcompfast",
      "title": "fast Principal Component Analysis (PCA)",
      "topics": [
        "prcompfast"
      ]
    },
    {
      "page": "predict.bgPCA",
      "title": "Compute between-group-PC scores from new data",
      "topics": [
        "predict.bgPCA"
      ]
    },
    {
      "page": "predict.CVA",
      "title": "Compute CV-scores from new data",
      "topics": [
        "predict.CVA"
      ]
    },
    {
      "page": "predictPLSfromData",
      "title": "predict 2 Block-PLS from new data",
      "topics": [
        "predictPLSfromData"
      ]
    },
    {
      "page": "predictPLSfromScores",
      "title": "predict data from 2-Block PLS-scores",
      "topics": [
        "predictPLSfromScores"
      ]
    },
    {
      "page": "predictRelWarps",
      "title": "predict relative warps for data not included in the training data set",
      "topics": [
        "predictRelWarps"
      ]
    },
    {
      "page": "predictShape.lm",
      "title": "Predict shapes based on linear models calculated from PCscores",
      "topics": [
        "predictShape.lm"
      ]
    },
    {
      "page": "proc.weight",
      "title": "calculate weights inverse to the distances from the specified observation.",
      "topics": [
        "proc.weight"
      ]
    },
    {
      "page": "procAOVsym",
      "title": "Procrustes ANOVA for structures with object symmetry",
      "topics": [
        "procAOVsym"
      ]
    },
    {
      "page": "ProcGPA",
      "title": "Workhorse function for procSym, responsible for Procrustes registration",
      "topics": [
        "ProcGPA"
      ]
    },
    {
      "page": "procSym",
      "title": "Procrustes registration",
      "topics": [
        "procSym"
      ]
    },
    {
      "page": "projRead",
      "title": "Project points onto the closest point on a mesh",
      "topics": [
        "projRead"
      ]
    },
    {
      "page": "pts2meshICP",
      "title": "Align a landmark configuration to a mesh using ICP",
      "topics": [
        "pts2meshICP"
      ]
    },
    {
      "page": "qqmat",
      "title": "Q-Q plot to assess normality of data",
      "topics": [
        "qqmat"
      ]
    },
    {
      "page": "quad2trimesh",
      "title": "converts a mesh containing quadrangular faces into one only consisting of triangles",
      "topics": [
        "quad2trimesh"
      ]
    },
    {
      "page": "r2morphoj",
      "title": "Export data to MorphoJ and Morphologika",
      "topics": [
        "r2morphoj",
        "r2morphologika"
      ]
    },
    {
      "page": "ray2mesh",
      "title": "projects the vertices of a mesh along its normals onto the surface of another one.",
      "topics": [
        "ray2mesh"
      ]
    },
    {
      "page": "read.csv.folder",
      "title": "batch import data from files",
      "topics": [
        "read.csv.folder"
      ]
    },
    {
      "page": "read.fcsv",
      "title": "read fiducials from slicer4",
      "topics": [
        "read.fcsv"
      ]
    },
    {
      "page": "read.lmdta",
      "title": "read dta files",
      "topics": [
        "read.lmdta"
      ]
    },
    {
      "page": "read.mpp",
      "title": "Read saved pick-points from meshlab",
      "topics": [
        "read.mpp"
      ]
    },
    {
      "page": "read.pts",
      "title": "reads pts files",
      "topics": [
        "read.pts"
      ]
    },
    {
      "page": "read.slicerjson",
      "title": "read Landmarks from Slicer in Json format",
      "topics": [
        "read.slicerjson"
      ]
    },
    {
      "page": "readallTPS",
      "title": "Import landmarks and outlines from TPS files",
      "topics": [
        "readallTPS"
      ]
    },
    {
      "page": "readLandmarks.csv",
      "title": "import landmark data from csv files",
      "topics": [
        "readLandmarks.csv"
      ]
    },
    {
      "page": "regdist",
      "title": "correlation between shape space and tangent space",
      "topics": [
        "regdist"
      ]
    },
    {
      "page": "RegScore",
      "title": "calulate regression scores for linear model",
      "topics": [
        "RegScore"
      ]
    },
    {
      "page": "relaxLM",
      "title": "relax one specific landmark configuration against a reference",
      "topics": [
        "relaxLM",
        "relaxLM.matrix",
        "relaxLM.mesh3d"
      ]
    },
    {
      "page": "relWarps",
      "title": "calculate relative Warp analysis",
      "topics": [
        "relWarps"
      ]
    },
    {
      "page": "render",
      "title": "plot or save the results of meshDist",
      "topics": [
        "export",
        "export.meshDist",
        "render",
        "render.matrixDist",
        "render.meshDist"
      ]
    },
    {
      "page": "resampleCurve",
      "title": "Resample a curve equidistantly",
      "topics": [
        "resampleCurve"
      ]
    },
    {
      "page": "restoreFromPCA",
      "title": "restore original data from PCA",
      "topics": [
        "restoreFromPCA"
      ]
    },
    {
      "page": "restoreShapes",
      "title": "restore shapes from PC-Scores or similar projections",
      "topics": [
        "restoreShapes"
      ]
    },
    {
      "page": "retroDeform3d",
      "title": "symmetrize a bilateral landmark configuration",
      "topics": [
        "retroDeform3d"
      ]
    },
    {
      "page": "retroDeformMesh",
      "title": "symmetrize a triangular mesh",
      "topics": [
        "retroDeformMesh"
      ]
    },
    {
      "page": "rotaxis3d",
      "title": "Rotate an object (matrix or mesh) around an arbitrary axis in 3D",
      "topics": [
        "rotaxis3d",
        "rotaxis3d.matrix",
        "rotaxis3d.mesh3d"
      ]
    },
    {
      "page": "rotaxisMat",
      "title": "calculate a rotation matrix around an arbitrary axis through the origin in 3D",
      "topics": [
        "rotaxisMat"
      ]
    },
    {
      "page": "rotmesh.onto",
      "title": "rotate ,scale and translate a mesh based on landmark information.",
      "topics": [
        "rotmesh.onto"
      ]
    },
    {
      "page": "rotonmat",
      "title": "rotate matrix of landmarks",
      "topics": [
        "rotonmat"
      ]
    },
    {
      "page": "rotonto",
      "title": "rotates, translates and scales one matrix onto an other using Procrustes fitting",
      "topics": [
        "rotonto",
        "rotreverse",
        "rotreverse.matrix",
        "rotreverse.mesh3d"
      ]
    },
    {
      "page": "scalemesh",
      "title": "scale a mesh of class \"mesh3d\"",
      "topics": [
        "scalemesh"
      ]
    },
    {
      "page": "slider2d",
      "title": "slides Semilandmarks along curves 2D by minimising bending energy of a thin-plate spline deformation.",
      "topics": [
        "slider2d"
      ]
    },
    {
      "page": "slider3d",
      "title": "slides Semilandmarks along curves and surfaces in 3D by minimising bending energy of a thin-plate spline deformation.",
      "topics": [
        "slider3d"
      ]
    },
    {
      "page": "solutionSpace",
      "title": "returns the solution space (basis and translation vector) for an equation system",
      "topics": [
        "solutionSpace"
      ]
    },
    {
      "page": "sortCurve",
      "title": "sort curvepoints by using the subsequent neighbours",
      "topics": [
        "sortCurve"
      ]
    },
    {
      "page": "symmetrize",
      "title": "create a perfectly symmetric version of landmarks",
      "topics": [
        "symmetrize"
      ]
    },
    {
      "page": "tps3d",
      "title": "thin plate spline mapping (2D and 3D) for coordinates and triangular meshes",
      "topics": [
        "tps2d",
        "tps3d"
      ]
    },
    {
      "page": "typprob",
      "title": "calculate typicality probabilities",
      "topics": [
        "typprob",
        "typprobClass"
      ]
    },
    {
      "page": "vertex",
      "title": "some little helpers for vertex operations on triangular meshes",
      "topics": [
        "rmUnrefVertex",
        "rmVertex",
        "unrefVertex",
        "vert2points"
      ]
    },
    {
      "page": "updateIndices",
      "title": "update a vector of indices after removal of some referenced items",
      "topics": [
        "updateIndices"
      ]
    },
    {
      "page": "updateNormals",
      "title": "Compute face or vertex normals of a triangular mesh",
      "topics": [
        "facenormals",
        "updateNormals"
      ]
    },
    {
      "page": "vecx",
      "title": "convert an 3D array into a matrix and back",
      "topics": [
        "vecx"
      ]
    },
    {
      "page": "virtualMeshScan",
      "title": "remove all parts of a triangular mesh, not visible from a set of viewpoints",
      "topics": [
        "virtualMeshScan"
      ]
    },
    {
      "page": "visualize",
      "title": "Plot the ILDS with the relevant ILDS ighlighted",
      "topics": [
        "visualise",
        "visualise.ILDSR2",
        "visualize",
        "visualize.ILDSR2"
      ]
    },
    {
      "page": "warpmovie3d",
      "title": "Creates a sequence of images showing predefined steps of warping two meshes or landmark configurations (2D and 3D) into each other",
      "topics": [
        "warpmovie2d",
        "warpmovie3d",
        "warpmovie3d.matrix",
        "warpmovie3d.mesh3d"
      ]
    },
    {
      "page": "write.fcsv",
      "title": "write fiducials in slicer4 format",
      "topics": [
        "write.fcsv"
      ]
    },
    {
      "page": "write.pts",
      "title": "exports a matrix containing landmarks into .pts format",
      "topics": [
        "write.pts"
      ]
    },
    {
      "page": "write.slicerjson",
      "title": "Export landmarks (or any 3D coordinates) to the new slicer json format",
      "topics": [
        "write.slicerjson"
      ]
    }
  ],
  "_readme": "https://github.com/zarquon42b/morpho/raw/HEAD/README.md",
  "_rundeps": [
    "base64enc",
    "bezier",
    "bslib",
    "cachem",
    "cli",
    "codetools",
    "colorRamps",
    "crayon",
    "digest",
    "doParallel",
    "evaluate",
    "fastmap",
    "fontawesome",
    "foreach",
    "fs",
    "highr",
    "htmltools",
    "htmlwidgets",
    "iterators",
    "jquerylib",
    "jsonlite",
    "knitr",
    "lattice",
    "lifecycle",
    "magrittr",
    "MASS",
    "Matrix",
    "mclust",
    "memoise",
    "mime",
    "R6",
    "rappdirs",
    "Rcpp",
    "RcppArmadillo",
    "RcppEigen",
    "rgl",
    "rlang",
    "rmarkdown",
    "Rvcg",
    "sass",
    "tinytex",
    "xfun",
    "yaml"
  ],
  "_sysdeps": [
    {
      "shlib": "liblapack",
      "package": "libopenblas0-pthread",
      "source": "openblas",
      "version": "0.3.26+ds-1ubuntu0.1",
      "name": "openblas",
      "homepage": "https://www.openblas.net/",
      "description": "Optimized BLAS (linear algebra) library (shared lib, pthread)"
    },
    {
      "shlib": "libblas",
      "package": "libopenblas0-pthread",
      "source": "openblas",
      "version": "0.3.26+ds-1ubuntu0.1",
      "name": "openblas",
      "homepage": "https://www.openblas.net/",
      "description": "Optimized BLAS (linear algebra) library (shared lib, pthread)"
    },
    {
      "shlib": "libstdc++",
      "package": "libstdc++6",
      "source": "gcc",
      "version": "14.2.0-4ubuntu2~24.04.1",
      "name": "c++",
      "homepage": "http://gcc.gnu.org/",
      "description": "GNU Standard C++ Library v3"
    },
    {
      "shlib": "libgomp",
      "package": "libgomp1",
      "source": "gcc",
      "version": "14.2.0-4ubuntu2~24.04.1",
      "name": "openmp",
      "homepage": "http://gcc.gnu.org/",
      "description": "GCC OpenMP (GOMP) support library"
    }
  ],
  "_score": 10.315264408298434,
  "_indexed": true,
  "_nocasepkg": "morpho",
  "_universes": [
    "zarquon42b"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "2.13",
      "date": "2026-05-24T07:27:49.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "b99aaf0edcdb4156262b40e2f36d128669a0ddd8",
      "fileid": "6a50989840c70b0e302e8e9714f4f2a69579db32bffb8ee697691c2b8d02891e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/zarquon42b/actions/runs/26354968365"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "2.13",
      "date": "2026-05-24T07:27:44.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "b99aaf0edcdb4156262b40e2f36d128669a0ddd8",
      "fileid": "3b4d5c1b61b293fa583b8310967eeee32d546e483b4201ed7270f4c52fa4c3f3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/zarquon42b/actions/runs/26354968365"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "2.13",
      "date": "2026-05-24T07:27:39.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "b99aaf0edcdb4156262b40e2f36d128669a0ddd8",
      "fileid": "e88793614d5ed71f4fe1626cc2391296236e0545613fdc4d01a0bb9944ca6f8e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/zarquon42b/actions/runs/26354968365"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "2.13",
      "date": "2026-05-24T07:27:54.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "b99aaf0edcdb4156262b40e2f36d128669a0ddd8",
      "fileid": "570bacc4064068617bf67732750800e9162cbef1b53a132e2e60b8cd5e2c5131",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/zarquon42b/actions/runs/26354968365"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "2.13",
      "date": "2026-05-24T07:32:21.000Z",
      "arch": "aarch64",
      "commit": "b99aaf0edcdb4156262b40e2f36d128669a0ddd8",
      "fileid": "022a08761d39911317412c0e50f5b6e0838ba7fe10a07c2c84d4a97ff45a846a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/zarquon42b/actions/runs/26354968365"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "2.13",
      "date": "2026-05-24T07:28:43.000Z",
      "arch": "x86_64",
      "commit": "b99aaf0edcdb4156262b40e2f36d128669a0ddd8",
      "fileid": "e0f7099799303786cb7058293831cf5c41a2ba48dd2a28e26c1eeaf3340be0f2",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/zarquon42b/actions/runs/26354968365"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "2.13",
      "date": "2026-05-24T07:30:35.000Z",
      "arch": "aarch64",
      "commit": "b99aaf0edcdb4156262b40e2f36d128669a0ddd8",
      "fileid": "661d6df5796650e2fb56bf5a31ede2b2ebe961e941683648ddfd498231e21949",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/zarquon42b/actions/runs/26354968365"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "2.13",
      "date": "2026-05-24T07:31:02.000Z",
      "arch": "x86_64",
      "commit": "b99aaf0edcdb4156262b40e2f36d128669a0ddd8",
      "fileid": "38eb5273859ae5c3a3981da1a5d5a05bafd6174f489a7dfe0e2d5e665d3679bb",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/zarquon42b/actions/runs/26354968365"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "2.13",
      "date": "2026-05-24T07:27:40.000Z",
      "arch": "emscripten",
      "commit": "b99aaf0edcdb4156262b40e2f36d128669a0ddd8",
      "fileid": "fd5f3ec29884f56a03a6fe84f99e0e73cea39697596d7e67de43bc162aff32e5",
      "status": "success",
      "buildurl": "https://github.com/r-universe/zarquon42b/actions/runs/26354968365"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "2.13",
      "date": "2026-05-24T07:26:21.000Z",
      "arch": "x86_64",
      "commit": "b99aaf0edcdb4156262b40e2f36d128669a0ddd8",
      "fileid": "0963ec6282e7dbd006eab78bbe036481321819ffb1369f82bb87dbca2ec5ed6f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/zarquon42b/actions/runs/26354968365"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "2.13",
      "date": "2026-05-24T07:25:43.000Z",
      "arch": "x86_64",
      "commit": "b99aaf0edcdb4156262b40e2f36d128669a0ddd8",
      "fileid": "117578880d7c6c483b5ddbc76e3dd831b4dbe81ef68c3e99aad34212554b5da9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/zarquon42b/actions/runs/26354968365"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "2.13",
      "date": "2026-05-24T07:25:54.000Z",
      "arch": "x86_64",
      "commit": "b99aaf0edcdb4156262b40e2f36d128669a0ddd8",
      "fileid": "ad07463646286695361d7ae5a3b5d5de75400ca8cb40cb1cb8dcecc0d87050ae",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/zarquon42b/actions/runs/26354968365"
    }
  ]
}