{
  "_id": "6a1ed8cab401979e7340f1e9",
  "Package": "freesurferformats",
  "Type": "Package",
  "Title": "Read and Write 'FreeSurfer' Neuroimaging File Formats",
  "Version": "1.0.0",
  "Authors@R": "person(\"Tim\", \"Schäfer\", role = c(\"aut\", \"cre\"), email = \"ts+code@rcmd.org\", comment = c(ORCID = \"0000-0002-3683-8070\"))",
  "Maintainer": "Tim Schäfer <ts+code@rcmd.org>",
  "Description": "Provides functions to read and write neuroimaging data in\nvarious file formats, with a focus on 'FreeSurfer'\n<http://freesurfer.net/> formats. This includes, but is not\nlimited to, the following file formats: 1) MGH/MGZ format\nfiles, which can contain multi-dimensional images or other\ndata. Typically they contain time-series of three-dimensional\nbrain scans acquired by magnetic resonance imaging (MRI). They\ncan also contain vertex-wise measures of surface morphometry\ndata. The MGH format is named after the Massachusetts General\nHospital, and the MGZ format is a compressed version of the\nsame format. 2) 'FreeSurfer' morphometry data files in binary\n'curv' format. These contain vertex-wise surface measures,\ni.e., one scalar value for each vertex of a brain surface mesh.\nThese are typically values like the cortical thickness or brain\nsurface area at each vertex. 3) Annotation file format. This\ncontains a brain surface parcellation derived from a cortical\natlas. 4) Surface file format. Contains a brain surface mesh,\ngiven by a list of vertices and a list of faces.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "URL": "https://github.com/dfsp-spirit/freesurferformats",
  "BugReports": "https://github.com/dfsp-spirit/freesurferformats/issues",
  "VignetteBuilder": "knitr",
  "RoxygenNote": "7.3.3",
  "Config/pak/sysreqs": "libxml2-dev libssl-dev",
  "Repository": "https://dfsp-spirit.r-universe.dev",
  "Date/Publication": "2026-02-18 09:48:44 UTC",
  "RemoteUrl": "https://github.com/dfsp-spirit/freesurferformats",
  "RemoteRef": "HEAD",
  "RemoteSha": "26478c6fa2af187c9b47a798ceb7649a51dd3c0b",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-20 09:38:16 UTC",
    "User": "root"
  },
  "Author": "Tim Schäfer [aut, cre] (ORCID: <https://orcid.org/0000-0002-3683-8070>)",
  "MD5sum": "87c562544afeee1c375b9c0dc7b4e89f",
  "_user": "dfsp-spirit",
  "_type": "src",
  "_file": "freesurferformats_1.0.0.tar.gz",
  "_fileid": "0d6748c0a9a4fdf8c5556cbc9152f5c28fcb1ef643dde505dba60005fcd07b3f",
  "_filesize": 4026628,
  "_sha256": "0d6748c0a9a4fdf8c5556cbc9152f5c28fcb1ef643dde505dba60005fcd07b3f",
  "_created": "2026-05-20T09:38:16.000Z",
  "_published": "2026-06-02T13:21:14.761Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 79080254411,
      "time": 182,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7106547736"
    },
    {
      "job": 79080254737,
      "time": 158,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7106539304"
    },
    {
      "job": 79080254915,
      "time": 122,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7106526245"
    },
    {
      "job": 79080254705,
      "time": 120,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7106525840"
    },
    {
      "job": 79080253909,
      "time": 250,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7106482430"
    },
    {
      "job": 79080254574,
      "time": 105,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7358840730"
    },
    {
      "job": 79080254710,
      "time": 139,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7106532468"
    },
    {
      "job": 79080257728,
      "time": 178,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7106546053"
    },
    {
      "job": 79080255268,
      "time": 140,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7106533242"
    }
  ],
  "_buildurl": "https://github.com/r-universe/dfsp-spirit/actions/runs/26154104231",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/dfsp-spirit/freesurferformats",
  "_commit": {
    "id": "26478c6fa2af187c9b47a798ceb7649a51dd3c0b",
    "author": "Tim Schaefer <ts+code@rcmd.org>",
    "committer": "Tim Schaefer <ts+code@rcmd.org>",
    "message": "NEW: add codeberg mirror workflow\n",
    "time": 1771408124
  },
  "_maintainer": {
    "name": "Tim Schäfer",
    "email": "ts+code@rcmd.org",
    "login": "dfsp-spirit",
    "orcid": "0000-0002-3683-8070",
    "description": "Bioinformatician, former Neuroscientist,  and Software Developer. Currently Research Software Engineer at MPI AE.",
    "uuid": 1061893
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "pkgfilecache",
      "version": ">= 0.1.1",
      "role": "Imports"
    },
    {
      "package": "xml2",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "curl",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 2.1.0",
      "role": "Suggests"
    },
    {
      "package": "oro.nifti",
      "version": ">= 0.9",
      "role": "Suggests"
    },
    {
      "package": "gifti",
      "version": ">= 0.7.5",
      "role": "Suggests"
    },
    {
      "package": "cifti",
      "version": ">= 0.4.5",
      "role": "Suggests"
    }
  ],
  "_owner": "dfsp-spirit",
  "_selfowned": true,
  "_usedby": 9,
  "_updates": [
    {
      "week": "2025-37",
      "n": 2
    },
    {
      "week": "2026-08",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "v1.0.0",
      "date": "2025-09-07"
    }
  ],
  "_topics": [
    "brain",
    "brain-atlas",
    "brain-surfaces",
    "curv",
    "dti",
    "fileformats",
    "freesurfer",
    "label",
    "mesh",
    "mgh",
    "mri",
    "neuroimaging",
    "parcellation",
    "research",
    "surface",
    "voxel"
  ],
  "_stars": 23,
  "_contributors": [
    {
      "user": "dfsp-spirit",
      "count": 839,
      "uuid": 1061893
    },
    {
      "user": "dipterix",
      "count": 5,
      "uuid": 8163576
    },
    {
      "user": "andrewlawrence",
      "count": 1,
      "uuid": 4668209
    }
  ],
  "_userbio": {
    "uuid": 1061893,
    "type": "user",
    "name": "Tim Schäfer",
    "description": "Bioinformatician, former Neuroscientist,  and Software Developer. Currently Research Software Engineer at MPI AE."
  },
  "_downloads": {
    "count": 1732,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/freesurferformats"
  },
  "_devurl": "https://github.com/dfsp-spirit/freesurferformats",
  "_searchresults": 54,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/freesurferformats.html",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/dfsp-spirit/freesurferformats",
  "_realowner": "dfsp-spirit",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2019-09-04"
    },
    {
      "version": "0.1.1",
      "date": "2019-09-13"
    },
    {
      "version": "0.1.2",
      "date": "2019-10-02"
    },
    {
      "version": "0.1.3",
      "date": "2019-10-15"
    },
    {
      "version": "0.1.4",
      "date": "2019-11-06"
    },
    {
      "version": "0.1.5",
      "date": "2019-11-12"
    },
    {
      "version": "0.1.6",
      "date": "2019-11-27"
    },
    {
      "version": "0.1.7",
      "date": "2020-01-07"
    },
    {
      "version": "0.1.8",
      "date": "2020-02-17"
    },
    {
      "version": "0.1.9",
      "date": "2020-04-14"
    },
    {
      "version": "0.1.10",
      "date": "2020-05-13"
    },
    {
      "version": "0.1.11",
      "date": "2020-06-17"
    },
    {
      "version": "0.1.12",
      "date": "2020-08-26"
    },
    {
      "version": "0.1.13",
      "date": "2020-09-21"
    },
    {
      "version": "0.1.14",
      "date": "2021-01-17"
    },
    {
      "version": "0.1.15",
      "date": "2021-05-25"
    },
    {
      "version": "0.1.16",
      "date": "2021-11-07"
    },
    {
      "version": "0.1.17",
      "date": "2022-02-11"
    },
    {
      "version": "0.1.18",
      "date": "2024-02-02"
    },
    {
      "version": "1.0.0",
      "date": "2025-09-08"
    }
  ],
  "_exports": [
    "annot.max.region.idx",
    "bvsmp",
    "cdata",
    "closest.vert.to.point",
    "colortable.from.annot",
    "delete_all_opt_data",
    "doapply.transform.mtx",
    "download_opt_data",
    "faces.quad.to.tris",
    "faces.tris.to.quad",
    "flip2D",
    "flip3D",
    "fs.get.morph.file.ext.for.format",
    "fs.get.morph.file.format.from.filename",
    "fs.patch",
    "fs.surface.to.tmesh3d",
    "get_opt_data_filepath",
    "gifti_writer",
    "gifti_xml",
    "gifti_xml_add_global_metadata",
    "gifti_xml_write",
    "giftixml_add_labeltable_from_annot",
    "is.bvsmp",
    "is.fs.annot",
    "is.fs.label",
    "is.fs.surface",
    "is.fs.volume",
    "is.mghheader",
    "list_opt_data",
    "mghheader.centervoxelRAS.from.firstvoxelRAS",
    "mghheader.crs.orientation",
    "mghheader.is.conformed",
    "mghheader.is.ras.valid",
    "mghheader.primary.slice.direction",
    "mghheader.ras2vox",
    "mghheader.ras2vox.tkreg",
    "mghheader.scanner2tkreg",
    "mghheader.tkreg2scanner",
    "mghheader.update.from.vox2ras",
    "mghheader.vox2ras",
    "mghheader.vox2ras.tkreg",
    "mghheader.vox2vox",
    "mni152reg",
    "ni1header.template",
    "ni2header.template",
    "nifti.datadim.from.dimfield",
    "nifti.datadim.to.dimfield",
    "nifti.file.uses.fshack",
    "nifti.file.version",
    "nifti.header.check",
    "ras.to.surfaceras",
    "ras.to.talairachras",
    "read_nisurface",
    "read_nisurfacefile",
    "read.dti.tck",
    "read.dti.trk",
    "read.dti.tsf",
    "read.fs.annot",
    "read.fs.annot.gii",
    "read.fs.colortable",
    "read.fs.curv",
    "read.fs.gca",
    "read.fs.label",
    "read.fs.label.gii",
    "read.fs.label.native",
    "read.fs.mgh",
    "read.fs.morph",
    "read.fs.morph.asc",
    "read.fs.morph.bvsmp",
    "read.fs.morph.cifti",
    "read.fs.morph.gii",
    "read.fs.morph.ni1",
    "read.fs.morph.ni2",
    "read.fs.morph.nii",
    "read.fs.morph.txt",
    "read.fs.patch",
    "read.fs.patch.asc",
    "read.fs.surface",
    "read.fs.surface.asc",
    "read.fs.surface.bvsrf",
    "read.fs.surface.byu",
    "read.fs.surface.geo",
    "read.fs.surface.gii",
    "read.fs.surface.ico",
    "read.fs.surface.mz3",
    "read.fs.surface.obj",
    "read.fs.surface.off",
    "read.fs.surface.ply",
    "read.fs.surface.stl",
    "read.fs.surface.stl.bin",
    "read.fs.surface.vtk",
    "read.fs.transform",
    "read.fs.transform.dat",
    "read.fs.transform.lta",
    "read.fs.transform.xfm",
    "read.fs.volume",
    "read.fs.volume.nii",
    "read.fs.weight",
    "read.mesh.brainvoyager",
    "read.nifti1.data",
    "read.nifti1.header",
    "read.nifti2.data",
    "read.nifti2.header",
    "read.smp.brainvoyager",
    "readable.files",
    "rotate2D",
    "rotate3D",
    "sm0to1",
    "sm1to0",
    "surfaceras.to.ras",
    "surfaceras.to.talairach",
    "talairachras.to.ras",
    "vertex.euclid.dist",
    "vertexdists.to.point",
    "write.fs.annot",
    "write.fs.annot.gii",
    "write.fs.colortable",
    "write.fs.curv",
    "write.fs.label",
    "write.fs.label.gii",
    "write.fs.mgh",
    "write.fs.morph",
    "write.fs.morph.asc",
    "write.fs.morph.gii",
    "write.fs.morph.ni1",
    "write.fs.morph.ni2",
    "write.fs.morph.smp",
    "write.fs.morph.txt",
    "write.fs.patch",
    "write.fs.surface",
    "write.fs.surface.asc",
    "write.fs.surface.bvsrf",
    "write.fs.surface.byu",
    "write.fs.surface.gii",
    "write.fs.surface.mz3",
    "write.fs.surface.obj",
    "write.fs.surface.off",
    "write.fs.surface.ply",
    "write.fs.surface.ply2",
    "write.fs.surface.vtk",
    "write.fs.weight",
    "write.fs.weight.asc",
    "write.nifti1",
    "write.nifti2",
    "write.smp.brainvoyager",
    "xml_node_gifti_coordtransform"
  ],
  "_help": [
    {
      "page": "annot.max.region.idx",
      "title": "Get max region index of an fs.annot instance.",
      "topics": [
        "annot.max.region.idx"
      ]
    },
    {
      "page": "bvsmp",
      "title": "Create new bvsmp instance encoding morph data for Brainvoyager.",
      "topics": [
        "bvsmp"
      ]
    },
    {
      "page": "cdata",
      "title": "Create CDATA element string from string.",
      "topics": [
        "cdata"
      ]
    },
    {
      "page": "closest.vert.to.point",
      "title": "Find vertex index closest to given query coordinate using Euclidean distance.",
      "concept": [
        "Euclidean distance util functions"
      ],
      "topics": [
        "closest.vert.to.point"
      ]
    },
    {
      "page": "colortable.from.annot",
      "title": "Extract color lookup table (LUT) from annotation.",
      "concept": [
        "atlas functions",
        "colorLUT functions"
      ],
      "topics": [
        "colortable.from.annot"
      ]
    },
    {
      "page": "delete_all_opt_data",
      "title": "Delete all data in the package cache.",
      "topics": [
        "delete_all_opt_data"
      ]
    },
    {
      "page": "doapply.transform.mtx",
      "title": "Apply a spatial transformation matrix to the given coordinates.",
      "topics": [
        "doapply.transform.mtx"
      ]
    },
    {
      "page": "download_opt_data",
      "title": "Download optional data for the freesurferformats package.",
      "topics": [
        "download_opt_data"
      ]
    },
    {
      "page": "faces.quad.to.tris",
      "title": "Convert quadrangular faces or polygons to triangular ones.",
      "concept": [
        "mesh functions"
      ],
      "topics": [
        "faces.quad.to.tris"
      ]
    },
    {
      "page": "faces.tris.to.quad",
      "title": "Convert tris faces to quad faces by simple merging.",
      "topics": [
        "faces.tris.to.quad"
      ]
    },
    {
      "page": "flip2D",
      "title": "Flip a 2D matrix.",
      "topics": [
        "flip2D"
      ]
    },
    {
      "page": "flip3D",
      "title": "Flip a 3D array along an axis.",
      "concept": [
        "volume math"
      ],
      "topics": [
        "flip3D"
      ]
    },
    {
      "page": "fs.get.morph.file.ext.for.format",
      "title": "Determine morphometry file extension from format",
      "concept": [
        "morphometry functions"
      ],
      "topics": [
        "fs.get.morph.file.ext.for.format"
      ]
    },
    {
      "page": "fs.get.morph.file.format.from.filename",
      "title": "Determine morphometry file format from filename",
      "concept": [
        "morphometry functions"
      ],
      "topics": [
        "fs.get.morph.file.format.from.filename"
      ]
    },
    {
      "page": "fs.patch",
      "title": "Constructor for fs.patch",
      "concept": [
        "patch functions"
      ],
      "topics": [
        "fs.patch"
      ]
    },
    {
      "page": "fs.surface.to.tmesh3d",
      "title": "Get an rgl tmesh3d instance from a brain surface mesh.",
      "topics": [
        "fs.surface.to.tmesh3d"
      ]
    },
    {
      "page": "get_opt_data_filepath",
      "title": "Access a single file from the package cache by its file name.",
      "topics": [
        "get_opt_data_filepath"
      ]
    },
    {
      "page": "gifti_writer",
      "title": "Write data to a gifti file.",
      "topics": [
        "gifti_writer"
      ]
    },
    {
      "page": "gifti_xml",
      "title": "Get GIFTI XML representation of data.",
      "topics": [
        "gifti_xml"
      ]
    },
    {
      "page": "gifti_xml_add_global_metadata",
      "title": "Add metadata to GIFTI XML tree.",
      "topics": [
        "gifti_xml_add_global_metadata"
      ]
    },
    {
      "page": "gifti_xml_write",
      "title": "Write XML tree to a gifti file.",
      "topics": [
        "gifti_xml_write"
      ]
    },
    {
      "page": "giftixml_add_labeltable_from_annot",
      "title": "Add a label tabel from an annotation to a GIFTI XML tree.",
      "topics": [
        "giftixml_add_labeltable_from_annot"
      ]
    },
    {
      "page": "is.bvsmp",
      "title": "Check whether object is a bvsmp instance.",
      "topics": [
        "is.bvsmp"
      ]
    },
    {
      "page": "is.fs.annot",
      "title": "Check whether object is an fs.annot",
      "topics": [
        "is.fs.annot"
      ]
    },
    {
      "page": "is.fs.label",
      "title": "Check whether object is an fs.label",
      "topics": [
        "is.fs.label"
      ]
    },
    {
      "page": "is.fs.surface",
      "title": "Check whether object is an fs.surface",
      "topics": [
        "is.fs.surface"
      ]
    },
    {
      "page": "is.fs.volume",
      "title": "Check whether object is an fs.volume",
      "topics": [
        "is.fs.volume"
      ]
    },
    {
      "page": "is.mghheader",
      "title": "Check whether object is an mghheader",
      "topics": [
        "is.mghheader"
      ]
    },
    {
      "page": "list_opt_data",
      "title": "Get file names available in package cache.",
      "topics": [
        "list_opt_data"
      ]
    },
    {
      "page": "mghheader.centervoxelRAS.from.firstvoxelRAS",
      "title": "Compute RAS coords of center voxel.",
      "topics": [
        "mghheader.centervoxelRAS.from.firstvoxelRAS"
      ]
    },
    {
      "page": "mghheader.crs.orientation",
      "title": "Compute MGH volume orientation string.",
      "topics": [
        "mghheader.crs.orientation"
      ]
    },
    {
      "page": "mghheader.is.conformed",
      "title": "Determine whether an MGH volume is conformed.",
      "topics": [
        "mghheader.is.conformed"
      ]
    },
    {
      "page": "mghheader.is.ras.valid",
      "title": "Check whether header contains valid ras information",
      "concept": [
        "header coordinate space"
      ],
      "topics": [
        "mghheader.is.ras.valid"
      ]
    },
    {
      "page": "mghheader.primary.slice.direction",
      "title": "Compute MGH primary slice direction",
      "topics": [
        "mghheader.primary.slice.direction"
      ]
    },
    {
      "page": "mghheader.ras2vox",
      "title": "Compute ras2vox matrix from basic MGH header fields.",
      "concept": [
        "header coordinate space"
      ],
      "topics": [
        "mghheader.ras2vox"
      ]
    },
    {
      "page": "mghheader.ras2vox.tkreg",
      "title": "Compute ras2vox-tkreg matrix from basic MGH header fields.",
      "concept": [
        "header coordinate space"
      ],
      "topics": [
        "mghheader.ras2vox.tkreg"
      ]
    },
    {
      "page": "mghheader.scanner2tkreg",
      "title": "Compute scanner-RAS 2 tkreg-RAS matrix from basic MGH header fields.",
      "concept": [
        "header coordinate space"
      ],
      "topics": [
        "mghheader.scanner2tkreg"
      ]
    },
    {
      "page": "mghheader.tkreg2scanner",
      "title": "Compute tkreg-RAS to scanner-RAS matrix from basic MGH header fields.",
      "concept": [
        "header coordinate space"
      ],
      "topics": [
        "mghheader.tkreg2scanner"
      ]
    },
    {
      "page": "mghheader.update.from.vox2ras",
      "title": "Update mghheader fields from vox2ras matrix.",
      "topics": [
        "mghheader.update.from.vox2ras"
      ]
    },
    {
      "page": "mghheader.vox2ras",
      "title": "Compute vox2ras matrix from basic MGH header fields.",
      "concept": [
        "header coordinate space"
      ],
      "topics": [
        "mghheader.vox2ras"
      ]
    },
    {
      "page": "mghheader.vox2ras.tkreg",
      "title": "Compute vox2ras-tkreg matrix from basic MGH header fields.",
      "concept": [
        "header coordinate space"
      ],
      "topics": [
        "mghheader.vox2ras.tkreg"
      ]
    },
    {
      "page": "mghheader.vox2vox",
      "title": "Compute vox2vox matrix between two volumes.",
      "topics": [
        "mghheader.vox2vox"
      ]
    },
    {
      "page": "mni152reg",
      "title": "Get fsaverage (MNI305) to MNI152 transformation matrix.",
      "topics": [
        "mni152reg"
      ]
    },
    {
      "page": "ni1header.for.data",
      "title": "Create NIFTI v1 header suitable for given data.",
      "topics": [
        "ni1header.for.data"
      ]
    },
    {
      "page": "ni1header.template",
      "title": "Create a template NIFTI v1 header. You will have to adapt it for your use case.",
      "topics": [
        "ni1header.template"
      ]
    },
    {
      "page": "ni2header.for.data",
      "title": "Create NIFTI v2 header suitable for given data.",
      "topics": [
        "ni2header.for.data"
      ]
    },
    {
      "page": "ni2header.template",
      "title": "Create a template NIFTI v2 header. You will have to adapt it for your use case.",
      "topics": [
        "ni2header.template"
      ]
    },
    {
      "page": "nifti.datadim.from.dimfield",
      "title": "Compute data dimensions from the 'dim' field of the NIFTI (v1 or v2) header.",
      "concept": [
        "NIFTI helper functions"
      ],
      "topics": [
        "nifti.datadim.from.dimfield"
      ]
    },
    {
      "page": "nifti.datadim.to.dimfield",
      "title": "Compute NIFTI dim field for data dimension.",
      "concept": [
        "NIFTI helper functions"
      ],
      "topics": [
        "nifti.datadim.to.dimfield"
      ]
    },
    {
      "page": "nifti.file.uses.fshack",
      "title": "Determine whether a NIFTI file uses the FreeSurfer hack.",
      "topics": [
        "nifti.file.uses.fshack"
      ]
    },
    {
      "page": "nifti.file.version",
      "title": "Determine NIFTI file version information and whether file is a NIFTI file.",
      "topics": [
        "nifti.file.version"
      ]
    },
    {
      "page": "nifti.header.check",
      "title": "Perform basic sanity checks on NIFTI header data. These are in no way meant to be exhaustive.",
      "topics": [
        "nifti.header.check"
      ]
    },
    {
      "page": "print.fs.annot",
      "title": "Print description of a brain atlas or annotation.",
      "topics": [
        "print.fs.annot"
      ]
    },
    {
      "page": "print.fs.label",
      "title": "Print description of a brain surface label.",
      "topics": [
        "print.fs.label"
      ]
    },
    {
      "page": "print.fs.patch",
      "title": "Print description of a brain surface patch.",
      "topics": [
        "print.fs.patch"
      ]
    },
    {
      "page": "print.fs.surface",
      "title": "Print description of a brain surface.",
      "topics": [
        "print.fs.surface"
      ]
    },
    {
      "page": "print.fs.volume",
      "title": "Print description of a brain volume.",
      "topics": [
        "print.fs.volume"
      ]
    },
    {
      "page": "ras.to.surfaceras",
      "title": "Translate RAS coordinates, as used in volumes by applying vox2ras, to surface RAS.",
      "topics": [
        "ras.to.surfaceras"
      ]
    },
    {
      "page": "ras.to.talairachras",
      "title": "Compute MNI talairach coordinates from RAS coords.",
      "topics": [
        "ras.to.talairachras"
      ]
    },
    {
      "page": "read_nisurface",
      "title": "Read a surface, based on the file path without extension.",
      "concept": [
        "mesh functions"
      ],
      "topics": [
        "read_nisurface"
      ]
    },
    {
      "page": "read_nisurfacefile",
      "title": "S3 method to read a neuroimaging surface file.",
      "concept": [
        "mesh functions"
      ],
      "topics": [
        "read_nisurfacefile"
      ]
    },
    {
      "page": "read_nisurfacefile.fsascii",
      "title": "Read a FreeSurfer ASCII surface file.",
      "topics": [
        "read_nisurfacefile.fsascii"
      ]
    },
    {
      "page": "read_nisurfacefile.fsnative",
      "title": "Read a FreeSurfer ASCII surface file.",
      "topics": [
        "read_nisurfacefile.fsnative"
      ]
    },
    {
      "page": "read_nisurfacefile.gifti",
      "title": "Read a gifti file as a surface.",
      "topics": [
        "read_nisurfacefile.gifti"
      ]
    },
    {
      "page": "read.dti.tck",
      "title": "Read DTI tracking data from file in MRtrix 'TCK' format.",
      "topics": [
        "read.dti.tck"
      ]
    },
    {
      "page": "read.dti.trk",
      "title": "Read fiber tracks from Diffusion Toolkit in trk format.",
      "topics": [
        "read.dti.trk"
      ]
    },
    {
      "page": "read.dti.tsf",
      "title": "Read DTI tracking per-coord data from file in MRtrix 'TSF' format.",
      "topics": [
        "read.dti.tsf"
      ]
    },
    {
      "page": "read.fs.annot",
      "title": "Read file in FreeSurfer annotation format",
      "concept": [
        "atlas functions"
      ],
      "topics": [
        "read.fs.annot"
      ]
    },
    {
      "page": "read.fs.annot.gii",
      "title": "Read an annotation or label in GIFTI format.",
      "concept": [
        "gifti readers"
      ],
      "topics": [
        "read.fs.annot.gii"
      ]
    },
    {
      "page": "read.fs.colortable",
      "title": "Read colortable file in FreeSurfer ASCII LUT format.",
      "concept": [
        "atlas functions",
        "colorLUT functions"
      ],
      "topics": [
        "read.fs.colortable"
      ]
    },
    {
      "page": "read.fs.curv",
      "title": "Read file in FreeSurfer curv format",
      "concept": [
        "morphometry functions"
      ],
      "topics": [
        "read.fs.curv"
      ]
    },
    {
      "page": "read.fs.gca",
      "title": "Read FreeSurfer GCA file.",
      "topics": [
        "read.fs.gca"
      ]
    },
    {
      "page": "read.fs.label",
      "title": "Read a label file.",
      "concept": [
        "label functions"
      ],
      "topics": [
        "read.fs.label"
      ]
    },
    {
      "page": "read.fs.label.gii",
      "title": "Read a label from a GIFTI label/annotation file.",
      "concept": [
        "gifti readers",
        "label functions"
      ],
      "topics": [
        "read.fs.label.gii"
      ]
    },
    {
      "page": "read.fs.label.native",
      "title": "Read file in FreeSurfer label format",
      "concept": [
        "label functions"
      ],
      "topics": [
        "read.fs.label.native"
      ]
    },
    {
      "page": "read.fs.mgh",
      "title": "Read file in FreeSurfer MGH or MGZ format",
      "concept": [
        "morphometry functions"
      ],
      "topics": [
        "read.fs.mgh"
      ]
    },
    {
      "page": "read.fs.morph",
      "title": "Read morphometry data file in any FreeSurfer format.",
      "concept": [
        "morphometry functions"
      ],
      "topics": [
        "read.fs.morph"
      ]
    },
    {
      "page": "read.fs.morph.asc",
      "title": "Read morphometry data from ASCII curv format file",
      "topics": [
        "read.fs.morph.asc"
      ]
    },
    {
      "page": "read.fs.morph.bvsmp",
      "title": "Read Brainvoyager vertex-wise statistical surface data from SMP file.",
      "topics": [
        "read.fs.morph.bvsmp"
      ]
    },
    {
      "page": "read.fs.morph.cifti",
      "title": "Read surface morphometry data from CIFTI dscalar files.",
      "topics": [
        "read.fs.morph.cifti"
      ]
    },
    {
      "page": "read.fs.morph.gii",
      "title": "Read morphometry data file in GIFTI format.",
      "concept": [
        "gifti readers",
        "morphometry functions"
      ],
      "topics": [
        "read.fs.morph.gii"
      ]
    },
    {
      "page": "read.fs.morph.ni1",
      "title": "Read morphometry data from FreeSurfer NIFTI v1 format files.",
      "topics": [
        "read.fs.morph.ni1"
      ]
    },
    {
      "page": "read.fs.morph.ni2",
      "title": "Read morphometry data from FreeSurfer NIFTI v2 format files.",
      "topics": [
        "read.fs.morph.ni2"
      ]
    },
    {
      "page": "read.fs.morph.nii",
      "title": "Read morphometry data from FreeSurfer NIFTI format files, determine NIFTI version automatically.",
      "topics": [
        "read.fs.morph.nii"
      ]
    },
    {
      "page": "read.fs.morph.txt",
      "title": "Read morphometry data from plain text file",
      "topics": [
        "read.fs.morph.txt"
      ]
    },
    {
      "page": "read.fs.patch",
      "title": "Read FreeSurfer binary or ASCII patch file.",
      "concept": [
        "patch functions"
      ],
      "topics": [
        "read.fs.patch"
      ]
    },
    {
      "page": "read.fs.patch.asc",
      "title": "Read FreeSurfer ASCII format patch.",
      "concept": [
        "patch functions"
      ],
      "topics": [
        "read.fs.patch.asc"
      ]
    },
    {
      "page": "read.fs.surface",
      "title": "Read file in FreeSurfer surface format or various mesh formats.",
      "concept": [
        "mesh functions"
      ],
      "topics": [
        "read.fs.surface"
      ]
    },
    {
      "page": "read.fs.surface.asc",
      "title": "Read FreeSurfer ASCII format surface.",
      "concept": [
        "mesh functions"
      ],
      "topics": [
        "read.fs.surface.asc"
      ]
    },
    {
      "page": "read.fs.surface.bvsrf",
      "title": "Read Brainvoyager srf format (.srf) mesh as surface.",
      "concept": [
        "mesh functions"
      ],
      "topics": [
        "read.fs.surface.bvsrf"
      ]
    },
    {
      "page": "read.fs.surface.byu",
      "title": "Read mesh in BYU format.",
      "topics": [
        "read.fs.surface.byu"
      ]
    },
    {
      "page": "read.fs.surface.geo",
      "title": "Read GEO format mesh as surface.",
      "concept": [
        "mesh functions"
      ],
      "topics": [
        "read.fs.surface.geo"
      ]
    },
    {
      "page": "read.fs.surface.gii",
      "title": "Read GIFTI format mesh as surface.",
      "concept": [
        "gifti readers",
        "mesh functions"
      ],
      "topics": [
        "read.fs.surface.gii"
      ]
    },
    {
      "page": "read.fs.surface.ico",
      "title": "Read ICO format mesh as surface.",
      "concept": [
        "mesh functions"
      ],
      "topics": [
        "read.fs.surface.ico"
      ]
    },
    {
      "page": "read.fs.surface.mz3",
      "title": "Read surface mesh in mz3 format, used by Surf-Ice.",
      "topics": [
        "read.fs.surface.mz3"
      ]
    },
    {
      "page": "read.fs.surface.obj",
      "title": "Read OBJ format mesh as surface.",
      "concept": [
        "mesh functions"
      ],
      "topics": [
        "read.fs.surface.obj"
      ]
    },
    {
      "page": "read.fs.surface.off",
      "title": "Read Object File Format (OFF) mesh as surface.",
      "concept": [
        "mesh functions"
      ],
      "topics": [
        "read.fs.surface.off"
      ]
    },
    {
      "page": "read.fs.surface.ply",
      "title": "Read Stanford PLY format mesh as surface.",
      "concept": [
        "mesh functions"
      ],
      "topics": [
        "read.fs.surface.ply"
      ]
    },
    {
      "page": "read.fs.surface.stl",
      "title": "Read mesh in STL format, auto-detecting ASCII versus binary format version.",
      "topics": [
        "read.fs.surface.stl"
      ]
    },
    {
      "page": "read.fs.surface.stl.bin",
      "title": "Read surface mesh in STL binary format.",
      "topics": [
        "read.fs.surface.stl.bin"
      ]
    },
    {
      "page": "read.fs.surface.vtk",
      "title": "Read VTK ASCII format mesh as surface.",
      "concept": [
        "mesh functions"
      ],
      "topics": [
        "read.fs.surface.vtk"
      ]
    },
    {
      "page": "read.fs.transform",
      "title": "Load transformation matrix from a file.",
      "concept": [
        "header coordinate space"
      ],
      "topics": [
        "read.fs.transform"
      ]
    },
    {
      "page": "read.fs.transform.dat",
      "title": "Load transformation matrix from a tkregister dat file.",
      "concept": [
        "header coordinate space"
      ],
      "topics": [
        "read.fs.transform.dat"
      ]
    },
    {
      "page": "read.fs.transform.lta",
      "title": "Load transformation matrix from a FreeSurfer linear transform array (LTA) file.",
      "concept": [
        "header coordinate space"
      ],
      "topics": [
        "read.fs.transform.lta"
      ]
    },
    {
      "page": "read.fs.transform.xfm",
      "title": "Load transformation matrix from an XFM file.",
      "concept": [
        "header coordinate space"
      ],
      "topics": [
        "read.fs.transform.xfm"
      ]
    },
    {
      "page": "read.fs.volume",
      "title": "Read volume file in MGH, MGZ or NIFTI format",
      "concept": [
        "morphometry functions"
      ],
      "topics": [
        "read.fs.volume"
      ]
    },
    {
      "page": "read.fs.volume.nii",
      "title": "Turn a 3D or 4D `oro.nifti` instance into an `fs.volume` instance with complete header.",
      "topics": [
        "read.fs.volume.nii"
      ]
    },
    {
      "page": "read.fs.weight",
      "title": "Read file in FreeSurfer weight or w format",
      "concept": [
        "morphometry functions"
      ],
      "topics": [
        "read.fs.weight"
      ]
    },
    {
      "page": "read.mesh.brainvoyager",
      "title": "Read Brainvoyager srf format (.srf) mesh.",
      "concept": [
        "mesh functions"
      ],
      "topics": [
        "read.mesh.brainvoyager"
      ]
    },
    {
      "page": "read.nifti1.data",
      "title": "Read raw NIFTI v1 data from file (which may contain the FreeSurfer hack).",
      "topics": [
        "read.nifti1.data"
      ]
    },
    {
      "page": "read.nifti1.header",
      "title": "Read NIFTI v1 header from file (which may contain the FreeSurfer hack).",
      "topics": [
        "read.nifti1.header"
      ]
    },
    {
      "page": "read.nifti2.data",
      "title": "Read raw data from NIFTI v2 file.",
      "topics": [
        "read.nifti2.data"
      ]
    },
    {
      "page": "read.nifti2.header",
      "title": "Read NIFTI v2 header from file.",
      "topics": [
        "read.nifti2.header"
      ]
    },
    {
      "page": "read.smp.brainvoyager",
      "title": "Read Brainvoyager statistical surface results from SMP file.",
      "topics": [
        "read.smp.brainvoyager"
      ]
    },
    {
      "page": "readable.files",
      "title": "Find files with the given base name and extensions that exist.",
      "topics": [
        "readable.files"
      ]
    },
    {
      "page": "rotate2D",
      "title": "Rotate a 2D matrix in 90 degree steps.",
      "topics": [
        "rotate2D"
      ]
    },
    {
      "page": "rotate3D",
      "title": "Rotate a 3D array in 90 degree steps.",
      "concept": [
        "volume math"
      ],
      "topics": [
        "rotate3D"
      ]
    },
    {
      "page": "sm0to1",
      "title": "Adapt spatial transformation matrix for 1-based indices.",
      "concept": [
        "header coordinate space"
      ],
      "topics": [
        "sm0to1"
      ]
    },
    {
      "page": "sm1to0",
      "title": "Adapt spatial transformation matrix for 0-based indices.",
      "concept": [
        "header coordinate space"
      ],
      "topics": [
        "sm1to0"
      ]
    },
    {
      "page": "surfaceras.to.ras",
      "title": "Translate surface RAS coordinates, as used in surface vertices and surface labels, to volume RAS.",
      "topics": [
        "surfaceras.to.ras"
      ]
    },
    {
      "page": "surfaceras.to.talairach",
      "title": "Compute Talairach RAS for surface RAS (e.g., vertex coordinates).",
      "topics": [
        "surfaceras.to.talairach"
      ]
    },
    {
      "page": "talairachras.to.ras",
      "title": "Compute MNI talairach coordinates from RAS coords.",
      "topics": [
        "talairachras.to.ras"
      ]
    },
    {
      "page": "vertex.euclid.dist",
      "title": "Compute Euclidean distance between two vertices v1 and v2.",
      "concept": [
        "Euclidean distance util functions"
      ],
      "topics": [
        "vertex.euclid.dist"
      ]
    },
    {
      "page": "vertexdists.to.point",
      "title": "Compute Euclidean distance from all mesh vertices to given point.",
      "concept": [
        "Euclidean distance util functions"
      ],
      "topics": [
        "vertexdists.to.point"
      ]
    },
    {
      "page": "write.fs.annot",
      "title": "Write annotation to binary file.",
      "concept": [
        "atlas functions"
      ],
      "topics": [
        "write.fs.annot"
      ]
    },
    {
      "page": "write.fs.annot.gii",
      "title": "Write annotation to GIFTI file.",
      "concept": [
        "atlas functions",
        "gifti writers"
      ],
      "topics": [
        "write.fs.annot.gii"
      ]
    },
    {
      "page": "write.fs.colortable",
      "title": "Write colortable file in FreeSurfer ASCII LUT format.",
      "concept": [
        "atlas functions",
        "colorLUT functions"
      ],
      "topics": [
        "write.fs.colortable"
      ]
    },
    {
      "page": "write.fs.curv",
      "title": "Write file in FreeSurfer curv format",
      "concept": [
        "morphometry functions"
      ],
      "topics": [
        "write.fs.curv"
      ]
    },
    {
      "page": "write.fs.label",
      "title": "Write vertex indices to file in FreeSurfer label format",
      "concept": [
        "label functions"
      ],
      "topics": [
        "write.fs.label"
      ]
    },
    {
      "page": "write.fs.label.gii",
      "title": "Write a binary surface label in GIFTI format.",
      "concept": [
        "gifti writers",
        "morphometry functions"
      ],
      "topics": [
        "write.fs.label.gii"
      ]
    },
    {
      "page": "write.fs.mgh",
      "title": "Write file in FreeSurfer MGH or MGZ format",
      "concept": [
        "morphometry functions"
      ],
      "topics": [
        "write.fs.mgh"
      ]
    },
    {
      "page": "write.fs.morph",
      "title": "Write morphometry data in a format derived from the given file name.",
      "concept": [
        "morphometry functions"
      ],
      "topics": [
        "write.fs.morph"
      ]
    },
    {
      "page": "write.fs.morph.asc",
      "title": "Write file in FreeSurfer ASCII curv format",
      "concept": [
        "morphometry functions"
      ],
      "topics": [
        "write.fs.morph.asc"
      ]
    },
    {
      "page": "write.fs.morph.gii",
      "title": "Write morphometry data in GIFTI format.",
      "concept": [
        "gifti writers",
        "morphometry functions"
      ],
      "topics": [
        "write.fs.morph.gii"
      ]
    },
    {
      "page": "write.fs.morph.ni1",
      "title": "Write morphometry data in NIFTI v1 format.",
      "concept": [
        "morphometry functions",
        "nifti1 writers"
      ],
      "topics": [
        "write.fs.morph.ni1"
      ]
    },
    {
      "page": "write.fs.morph.ni2",
      "title": "Write morphometry data in NIFTI v2 format.",
      "concept": [
        "morphometry functions",
        "nifti2 writers"
      ],
      "topics": [
        "write.fs.morph.ni2"
      ]
    },
    {
      "page": "write.fs.morph.smp",
      "title": "Write morphometry data in Brainvoyager SMP format.",
      "concept": [
        "morphometry functions"
      ],
      "topics": [
        "write.fs.morph.smp"
      ]
    },
    {
      "page": "write.fs.morph.txt",
      "title": "Write curv data to file in simple text format",
      "concept": [
        "morphometry functions"
      ],
      "topics": [
        "write.fs.morph.txt"
      ]
    },
    {
      "page": "write.fs.patch",
      "title": "Write a surface patch",
      "concept": [
        "patch functions"
      ],
      "topics": [
        "write.fs.patch"
      ]
    },
    {
      "page": "write.fs.surface",
      "title": "Write mesh to file in FreeSurfer binary surface format",
      "concept": [
        "mesh export functions",
        "mesh functions"
      ],
      "topics": [
        "write.fs.surface"
      ]
    },
    {
      "page": "write.fs.surface.asc",
      "title": "Write mesh to file in FreeSurfer ASCII surface format",
      "concept": [
        "mesh functions"
      ],
      "topics": [
        "write.fs.surface.asc"
      ]
    },
    {
      "page": "write.fs.surface.bvsrf",
      "title": "Write surface to Brainvoyager SRF file.",
      "topics": [
        "write.fs.surface.bvsrf"
      ]
    },
    {
      "page": "write.fs.surface.byu",
      "title": "Write mesh to file in BYU ASCII format.",
      "concept": [
        "mesh functions"
      ],
      "topics": [
        "write.fs.surface.byu"
      ]
    },
    {
      "page": "write.fs.surface.gii",
      "title": "Write mesh to file in GIFTI surface format",
      "concept": [
        "gifti writers",
        "mesh functions"
      ],
      "topics": [
        "write.fs.surface.gii"
      ]
    },
    {
      "page": "write.fs.surface.mz3",
      "title": "Write mesh to file in mz3 binary format.",
      "concept": [
        "mesh functions"
      ],
      "topics": [
        "write.fs.surface.mz3"
      ]
    },
    {
      "page": "write.fs.surface.obj",
      "title": "Write mesh to file in Wavefront object (.obj) format",
      "concept": [
        "mesh export functions"
      ],
      "topics": [
        "write.fs.surface.obj"
      ]
    },
    {
      "page": "write.fs.surface.off",
      "title": "Write mesh to file in Object File Format (.off)",
      "concept": [
        "mesh export functions"
      ],
      "topics": [
        "write.fs.surface.off"
      ]
    },
    {
      "page": "write.fs.surface.ply",
      "title": "Write mesh to file in PLY format (.ply)",
      "concept": [
        "mesh export functions"
      ],
      "topics": [
        "write.fs.surface.ply"
      ]
    },
    {
      "page": "write.fs.surface.ply2",
      "title": "Write mesh to file in PLY2 File Format (.ply2)",
      "concept": [
        "mesh export functions"
      ],
      "topics": [
        "write.fs.surface.ply2"
      ]
    },
    {
      "page": "write.fs.surface.vtk",
      "title": "Write mesh to file in VTK ASCII format",
      "concept": [
        "mesh functions"
      ],
      "topics": [
        "write.fs.surface.vtk"
      ]
    },
    {
      "page": "write.fs.weight",
      "title": "Write file in FreeSurfer weight format",
      "concept": [
        "morphometry functions"
      ],
      "topics": [
        "write.fs.weight"
      ]
    },
    {
      "page": "write.fs.weight.asc",
      "title": "Write file in FreeSurfer weight ASCII format",
      "concept": [
        "morphometry functions"
      ],
      "topics": [
        "write.fs.weight.asc"
      ]
    },
    {
      "page": "write.nifti1",
      "title": "Write header and data to a file in NIFTI v1 format.",
      "concept": [
        "nifti1 writers"
      ],
      "topics": [
        "write.nifti1"
      ]
    },
    {
      "page": "write.nifti2",
      "title": "Write header and data to a file in NIFTI v2 format.",
      "concept": [
        "nifti2 writers"
      ],
      "topics": [
        "write.nifti2"
      ]
    },
    {
      "page": "write.smp.brainvoyager",
      "title": "Write a brainvoyager SMP file.",
      "topics": [
        "write.smp.brainvoyager"
      ]
    },
    {
      "page": "xml_node_gifti_coordtransform",
      "title": "Create XML GIFTI CoordinateSystemTransformMatrix node.",
      "topics": [
        "xml_node_gifti_coordtransform"
      ]
    }
  ],
  "_readme": "https://github.com/dfsp-spirit/freesurferformats/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "curl",
    "digest",
    "downloader",
    "pkgfilecache",
    "rappdirs",
    "rlang",
    "xml2"
  ],
  "_vignettes": [
    {
      "source": "freesurferformats_header.Rmd",
      "filename": "freesurferformats_header.html",
      "title": "Computing volume header data with freesurferformats",
      "engine": "knitr::rmarkdown",
      "headings": [
        "About the MGH header",
        "Getting access to the header data in MGH or MGZ files",
        "Computing more information from the header",
        "Transformation matrices",
        "Primary slice direction and volume CRS orientation",
        "Check whether the volume is conformed"
      ],
      "created": "2020-02-11 16:02:19",
      "modified": "2020-02-11 16:21:20",
      "commits": 2
    },
    {
      "source": "freesurferformats.Rmd",
      "filename": "freesurferformats.html",
      "title": "Reading FreeSurfer neuroimaging data with freesurferformats",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Reading FreeSurfer neuroimaging data with freesurferformats",
        "Background",
        "Reading MGH and MGZ format files",
        "Accessing metadata from the MGH header",
        "A second MGH example",
        "Hint: Further image processing and visualization for volumes",
        "Reading 'curv' format files",
        "Reading morphometry data, no matter the format",
        "Reading morphometry data for a subset of vertices from weight, paint or w files",
        "Reading annotation files",
        "Working with annotation data",
        "Reading surface files (meshes)",
        "Reading arbitrary triangular meshes and converting to rgl mesh3d",
        "Reading labels",
        "Reading color lookup tables (LUT files)",
        "Computing the unique color codes",
        "References",
        "Alternatives, similar and related Packages"
      ],
      "created": "2019-08-21 12:54:44",
      "modified": "2020-09-04 11:41:24",
      "commits": 25
    },
    {
      "source": "freesurferformats_write.Rmd",
      "filename": "freesurferformats_write.html",
      "title": "Writing FreeSurfer neuroimaging data with freesurferformats",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Writing FreeSurfer neuroimaging data with freesurferformats",
        "Writing 1D morphometry data or other per-vertex information (in MGH, MGZ or curv format)",
        "Writing MGH and MGZ format files with full control over the header",
        "MGH data types",
        "Writing 'curv' format files (morphometry data)",
        "Writing surface format files",
        "Writing label files",
        "Writing color lookup table (LUT) files in ASCII format"
      ],
      "created": "2019-09-13 08:13:42",
      "modified": "2020-04-14 14:42:09",
      "commits": 5
    }
  ],
  "_score": 8.542184498064522,
  "_indexed": true,
  "_nocasepkg": "freesurferformats",
  "_universes": [
    "dfsp-spirit"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.0",
      "date": "2026-05-20T09:40:43.000Z",
      "distro": "noble",
      "commit": "26478c6fa2af187c9b47a798ceb7649a51dd3c0b",
      "fileid": "66a73bc8fb02a04e82b9a0273413d421c645fc4a945e7441977f0d2aae2fdebc",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/dfsp-spirit/actions/runs/26154104231"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.0.0",
      "date": "2026-05-20T09:40:31.000Z",
      "distro": "noble",
      "commit": "26478c6fa2af187c9b47a798ceb7649a51dd3c0b",
      "fileid": "9913e4474d2254982cf50dceee41dc86068fe6986fb652dfa47b997fa8d78fc2",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/dfsp-spirit/actions/runs/26154104231"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.0.0",
      "date": "2026-05-20T09:40:01.000Z",
      "commit": "26478c6fa2af187c9b47a798ceb7649a51dd3c0b",
      "fileid": "a11aefad0c13339f395a9a0e35c396b370af3a27d48d6796dd6f2363279ff663",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/dfsp-spirit/actions/runs/26154104231"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.0.0",
      "date": "2026-05-20T09:40:00.000Z",
      "commit": "26478c6fa2af187c9b47a798ceb7649a51dd3c0b",
      "fileid": "ff8ccaccc8d2c7a348be1818ed3efe57e4263d4c0274d94337e3b1b104b6340b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/dfsp-spirit/actions/runs/26154104231"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.0.0",
      "date": "2026-05-20T09:39:51.000Z",
      "commit": "26478c6fa2af187c9b47a798ceb7649a51dd3c0b",
      "fileid": "5423efe1ca7253f78fe479dbfece227207ba5727daeabd5aa90fcfffd87995ec",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/dfsp-spirit/actions/runs/26154104231"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.0.0",
      "date": "2026-05-20T09:40:22.000Z",
      "commit": "26478c6fa2af187c9b47a798ceb7649a51dd3c0b",
      "fileid": "0ba0b3037d439d5a9a8740a255a6e9330304525ccae2aeb155ae80a20b483f75",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/dfsp-spirit/actions/runs/26154104231"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.0.0",
      "date": "2026-05-20T09:39:57.000Z",
      "commit": "26478c6fa2af187c9b47a798ceb7649a51dd3c0b",
      "fileid": "e8c071fa79c005145494b88907d201b864fc4f2e7fc3011e350560e9c80af479",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/dfsp-spirit/actions/runs/26154104231"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.0.0",
      "date": "2026-06-02T13:20:44.000Z",
      "commit": "26478c6fa2af187c9b47a798ceb7649a51dd3c0b",
      "fileid": "c76150a8b744759e6606dc023a1d8cc344cc618f82aa3a8e5d57bd0f77e31174",
      "status": "success",
      "buildurl": "https://github.com/r-universe/dfsp-spirit/actions/runs/26154104231"
    }
  ]
}