{
  "_id": "6ac9eac1fe5cc25786e82a96",
  "Package": "nat.fastcore",
  "Title": "Re-implementation of nat core functions in Rust",
  "Version": "0.13.0",
  "Authors@R": "person(\"Philipp\", \"Schlegel\", , \"pms70@cam.ac.uk\", role = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0000-0002-5633-1314\"))",
  "Description": "A re-implementation of core 'nat' (Neuroanatomy Toolbox)\nfunctions in Rust for speed. Provides fast skeleton/tree (DAG)\noperations (geodesic distances, Strahler order, segment\ngeneration, twig pruning, synapse flow centrality, node\nclassification, skeleton healing), mesh connected components,\nNBLAST/synNBLAST neuron similarity scoring, CMTK and Elastix\nspatial transforms (applying a registration to points without\nneeding CMTK or Elastix installed), and landmark-based warps\n(thin-plate spline, moving least squares), exposed to R via\nextendr.",
  "License": "GPL-3",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.3",
  "Config/rextendr/version": "0.4.2",
  "SystemRequirements": "Cargo (Rust's package manager), rustc >= 1.65.0, xz",
  "Config/testthat/edition": "3",
  "Config/pak/sysreqs": "xz-utils libclang-dev",
  "Repository": "https://schlegelp.r-universe.dev",
  "Date/Publication": "2026-08-13 06:10:44 UTC",
  "RemoteUrl": "https://github.com/schlegelp/fastcore-rs",
  "RemoteRef": "HEAD",
  "RemoteSha": "5ada9d8347e1f72f0e415fef37ec914350a2f086",
  "RemoteSubdir": "R/nat.fastcore",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-10-08 11:32:38 UTC",
    "User": "root"
  },
  "Author": "Philipp Schlegel [aut, cre] (ORCID:\n<https://orcid.org/0000-0002-5633-1314>)",
  "Maintainer": "Philipp Schlegel <pms70@cam.ac.uk>",
  "_user": "schlegelp",
  "_type": "src",
  "_file": "nat.fastcore_0.13.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/22b2cec896879d92fa1788bee40298959692c931fa4064709a34c5981de90c14",
  "_filesize": 1191703,
  "_sha256": "22b2cec896879d92fa1788bee40298959692c931fa4064709a34c5981de90c14",
  "_expires": "2027-01-16T12:03:39.000Z",
  "_created": "2026-10-08T11:32:38.000Z",
  "_published": "2026-10-10T07:35:29.056Z",
  "_buildurl": "https://github.com/r-universe/schlegelp/actions/runs/37770395855",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 114162186735,
      "time": 135,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11548221147"
    },
    {
      "job": 114162187004,
      "time": 204,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11548106544"
    },
    {
      "job": 114162187543,
      "time": 176,
      "config": "linux-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11548021573"
    },
    {
      "job": 114162186958,
      "time": 165,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11548076451"
    },
    {
      "job": 114162187344,
      "time": 212,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "WARNING",
      "artifact": "11549420449"
    },
    {
      "job": 114162187645,
      "time": 709,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "WARNING",
      "artifact": "11547497917"
    },
    {
      "job": 114162186944,
      "time": 217,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "WARNING",
      "artifact": "11549281371"
    },
    {
      "job": 114162187355,
      "time": 500,
      "config": "macos-release-x86_64",
      "r": "4.6.1",
      "check": "WARNING",
      "artifact": "11548032324"
    },
    {
      "job": 114162186747,
      "time": 260,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11548425250"
    },
    {
      "job": 114162185997,
      "time": 103,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 114162186043,
      "time": 389,
      "config": "windows-devel-arm64",
      "r": "4.7.0",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 114162187422,
      "time": 323,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11548561141"
    },
    {
      "job": 114162187265,
      "time": 286,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11548371246"
    },
    {
      "job": 114162186118,
      "time": 324,
      "config": "windows-release-arm64",
      "r": "4.6.1",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 114162186782,
      "time": 266,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11547656902"
    }
  ],
  "_upstream": "https://github.com/schlegelp/fastcore-rs",
  "_commit": {
    "id": "5ada9d8347e1f72f0e415fef37ec914350a2f086",
    "author": "Philipp Schlegel <observing@web.de>",
    "committer": "Philipp Schlegel <observing@web.de>",
    "message": "update changelog\n",
    "time": 1786601444
  },
  "_maintainer": {
    "name": "Philipp Schlegel",
    "email": "pms70@cam.ac.uk",
    "login": "schlegelp",
    "description": "Researcher working on neurons, circuits and connectomes; 🐘 @uni_matrix@qoto.org",
    "uuid": 7161148,
    "orcid": "0000-0002-5633-1314"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "schlegelp",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-45",
      "n": 3
    },
    {
      "week": "2026-24",
      "n": 4
    },
    {
      "week": "2026-25",
      "n": 3
    },
    {
      "week": "2026-26",
      "n": 2
    },
    {
      "week": "2026-28",
      "n": 26
    },
    {
      "week": "2026-29",
      "n": 10
    },
    {
      "week": "2026-30",
      "n": 9
    },
    {
      "week": "2026-31",
      "n": 16
    },
    {
      "week": "2026-32",
      "n": 17
    },
    {
      "week": "2026-33",
      "n": 10
    }
  ],
  "_tags": [
    {
      "name": "v0.2.0",
      "date": "2026-06-15"
    },
    {
      "name": "v0.3.0",
      "date": "2026-06-28"
    },
    {
      "name": "v0.4.0",
      "date": "2026-07-09"
    },
    {
      "name": "v0.5.0",
      "date": "2026-07-11"
    },
    {
      "name": "v0.5.1",
      "date": "2026-07-11"
    },
    {
      "name": "v0.6.0",
      "date": "2026-07-12"
    },
    {
      "name": "v0.6.1",
      "date": "2026-07-12"
    },
    {
      "name": "v0.7.0",
      "date": "2026-07-15"
    },
    {
      "name": "v0.7.1",
      "date": "2026-07-19"
    },
    {
      "name": "v0.7.2",
      "date": "2026-07-20"
    },
    {
      "name": "v0.7.3",
      "date": "2026-07-20"
    },
    {
      "name": "v0.8.0",
      "date": "2026-07-21"
    },
    {
      "name": "v0.9.0",
      "date": "2026-07-28"
    },
    {
      "name": "v0.10.0",
      "date": "2026-08-01"
    },
    {
      "name": "v0.10.1",
      "date": "2026-08-03"
    },
    {
      "name": "v0.11.0",
      "date": "2026-08-07"
    },
    {
      "name": "v0.12.0",
      "date": "2026-08-10"
    },
    {
      "name": "v0.13.0",
      "date": "2026-08-13"
    }
  ],
  "_topics": [
    "dag",
    "navis",
    "neurons",
    "rust",
    "cargo"
  ],
  "_stars": 2,
  "_contributors": [
    {
      "user": "schlegelp",
      "count": 216,
      "uuid": 7161148
    },
    {
      "user": "copilot",
      "count": 6,
      "uuid": 198982749
    }
  ],
  "_userbio": {
    "uuid": 7161148,
    "type": "user",
    "name": "Philipp Schlegel",
    "followers": 90,
    "description": "Researcher working on neurons, circuits and connectomes; 🐘 @uni_matrix@qoto.org"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/nat.fastcore"
  },
  "_mentions": 2,
  "_devurl": "https://github.com/schlegelp/fastcore-rs",
  "_searchresults": 3,
  "_cargo": true,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/nat.fastcore.html",
    "extra/readme.html",
    "extra/readme.md"
  ],
  "_cranurl": false,
  "_exports": [
    "adjacency",
    "all_dists_to_root",
    "betweenness",
    "boundary_halfedges",
    "break_segments",
    "bridges",
    "child_to_parent_dists",
    "classify_nodes",
    "cmtk_affine",
    "cmtk_dims",
    "cmtk_domain",
    "cmtk_read",
    "cmtk_spacing",
    "cmtk_versions",
    "cmtk_xform",
    "cmtk_xform_inv",
    "connected_components",
    "connected_components_graph",
    "contract_nodes",
    "contract_vertices",
    "descendant_counts",
    "descendants",
    "dist_to_root",
    "downsample_skeleton",
    "elastix_affine",
    "elastix_grid_origin",
    "elastix_grid_size",
    "elastix_grid_spacing",
    "elastix_kinds",
    "elastix_probe_invertible",
    "elastix_read",
    "elastix_xform",
    "elastix_xform_inv",
    "exposed_halfedges",
    "fast_hclust",
    "generate_segments",
    "geodesic_clusters",
    "geodesic_distances",
    "geodesic_farthest",
    "geodesic_farthest_mesh",
    "geodesic_matrix_graph",
    "geodesic_matrix_mesh",
    "geodesic_mst_graph",
    "geodesic_mst_mesh",
    "geodesic_nearest",
    "geodesic_nearest_mesh",
    "geodesic_pairs",
    "geodesic_path",
    "geodesic_predecessors",
    "get_num_threads",
    "has_cycles",
    "heal_skeleton",
    "leaf_order",
    "level_set_components",
    "longest_path",
    "longest_paths",
    "mesh_connected_components",
    "minimum_spanning_tree",
    "mls_affine",
    "mls_transform",
    "mls_xform",
    "nblast",
    "nblast_allbyall",
    "nblast_dist",
    "nblast_hclust",
    "nblast_knn",
    "nblast_pairs",
    "node_indices",
    "parents_from_edges",
    "paths_to_root",
    "prune_twigs",
    "reroot",
    "reroot_rewire",
    "resample_skeleton",
    "set_num_threads",
    "simplify_mesh",
    "simplify_mesh_lossless",
    "simplify_rdp",
    "simplify_skeleton",
    "simplify_vw",
    "smat_auto_limit",
    "smooth_mesh",
    "smooth_skeleton",
    "smooth_skeleton_gaussian",
    "stitch_fragments",
    "strahler_index",
    "subtree_height",
    "symmetrize",
    "synapse_flow_centrality",
    "synblast",
    "synblast_allbyall",
    "tps_affine",
    "tps_coefs",
    "tps_transform",
    "tps_xform",
    "trace_loops",
    "triangulate_rings",
    "unique_edges"
  ],
  "_help": [
    {
      "page": "adjacency",
      "title": "The skeleton's adjacency matrix, as the three arrays of a CSR matrix.",
      "topics": [
        "adjacency"
      ]
    },
    {
      "page": "all_dists_to_root",
      "title": "Compute all distances to root.",
      "topics": [
        "all_dists_to_root"
      ]
    },
    {
      "page": "betweenness",
      "title": "Betweenness centrality, in 'O(N)' rather than Brandes' 'O(V*E)'.",
      "topics": [
        "betweenness"
      ]
    },
    {
      "page": "boundary_halfedges",
      "title": "Every edge of a mesh that has only one face on it.",
      "topics": [
        "boundary_halfedges"
      ]
    },
    {
      "page": "break_segments",
      "title": "Break the tree into its linear segments (one integer vector per segment).",
      "topics": [
        "break_segments"
      ]
    },
    {
      "page": "bridges",
      "title": "Which edges are bridges — the ones whose removal would disconnect their component.",
      "topics": [
        "bridges"
      ]
    },
    {
      "page": "child_to_parent_dists",
      "title": "Calculate child -> parent distances.",
      "topics": [
        "child_to_parent_dists"
      ]
    },
    {
      "page": "classify_nodes",
      "title": "Classify nodes into roots (0), leaves (1), branch points (2) and slabs (3).",
      "topics": [
        "classify_nodes"
      ]
    },
    {
      "page": "cmtk_properties",
      "title": "Properties of a CMTK registration",
      "topics": [
        "cmtk_affine",
        "cmtk_dims",
        "cmtk_domain",
        "cmtk_properties",
        "cmtk_spacing",
        "cmtk_versions"
      ]
    },
    {
      "page": "cmtk_read",
      "title": "Read a CMTK registration",
      "topics": [
        "cmtk_read"
      ]
    },
    {
      "page": "cmtk_xform",
      "title": "Apply a CMTK registration to points",
      "topics": [
        "cmtk_xform"
      ]
    },
    {
      "page": "cmtk_xform_inv",
      "title": "Apply a CMTK registration to points, backwards",
      "topics": [
        "cmtk_xform_inv"
      ]
    },
    {
      "page": "connected_components",
      "title": "Connected components.",
      "topics": [
        "connected_components"
      ]
    },
    {
      "page": "connected_components_graph",
      "title": "Connected components of a graph given as an edge list.",
      "topics": [
        "connected_components_graph"
      ]
    },
    {
      "page": "contract_nodes",
      "title": "Collapse groups of nodes onto a representative and rewire what is left.",
      "topics": [
        "contract_nodes"
      ]
    },
    {
      "page": "contract_vertices",
      "title": "Contract nodes onto new ids, returning the simplified edge list.",
      "topics": [
        "contract_vertices"
      ]
    },
    {
      "page": "descendant_counts",
      "title": "How many nodes lie strictly below each node.",
      "topics": [
        "descendant_counts"
      ]
    },
    {
      "page": "descendants",
      "title": "Every node in the sub-tree below each source.",
      "topics": [
        "descendants"
      ]
    },
    {
      "page": "dist_to_root",
      "title": "Return path length from a single node to the root.",
      "topics": [
        "dist_to_root"
      ]
    },
    {
      "page": "downsample_skeleton",
      "title": "Keep every 'factor'-th node of every segment, dropping the rest.",
      "topics": [
        "downsample_skeleton"
      ]
    },
    {
      "page": "elastix_probe_invertible",
      "title": "Can an Elastix transform be inverted?",
      "topics": [
        "elastix_probe_invertible"
      ]
    },
    {
      "page": "elastix_properties",
      "title": "Properties of an Elastix transform",
      "topics": [
        "elastix_affine",
        "elastix_grid_origin",
        "elastix_grid_size",
        "elastix_grid_spacing",
        "elastix_kinds",
        "elastix_properties"
      ]
    },
    {
      "page": "elastix_read",
      "title": "Read an Elastix transform",
      "topics": [
        "elastix_read"
      ]
    },
    {
      "page": "elastix_xform",
      "title": "Apply an Elastix transform to points",
      "topics": [
        "elastix_xform"
      ]
    },
    {
      "page": "elastix_xform_inv",
      "title": "Invert an Elastix transform on points",
      "topics": [
        "elastix_xform_inv"
      ]
    },
    {
      "page": "exposed_halfedges",
      "title": "The edges a subset is about to expose. Takes the faces _before_ subsetting.",
      "topics": [
        "exposed_halfedges"
      ]
    },
    {
      "page": "fast_hclust",
      "title": "Hierarchical clustering without the 65536 observation limit",
      "topics": [
        "fast_hclust"
      ]
    },
    {
      "page": "generate_segments",
      "title": "Generate linear segments while maximising segment lengths.",
      "topics": [
        "generate_segments"
      ]
    },
    {
      "page": "geodesic_clusters",
      "title": "Greedily partition nodes into connected clusters of bounded radius.",
      "topics": [
        "geodesic_clusters"
      ]
    },
    {
      "page": "geodesic_distances",
      "title": "Geodesic distances between nodes.",
      "topics": [
        "geodesic_distances"
      ]
    },
    {
      "page": "geodesic_farthest",
      "title": "Distance to the farthest target for each source.",
      "topics": [
        "geodesic_farthest"
      ]
    },
    {
      "page": "geodesic_farthest_mesh",
      "title": "Distance to the farthest target vertex, for each source vertex of a mesh.",
      "topics": [
        "geodesic_farthest_mesh"
      ]
    },
    {
      "page": "geodesic_matrix_graph",
      "title": "Geodesic distances over an arbitrary graph given as an edge list.",
      "topics": [
        "geodesic_matrix_graph"
      ]
    },
    {
      "page": "geodesic_matrix_mesh",
      "title": "Geodesic (\"along-the-mesh-edge\") distances on a triangle mesh.",
      "topics": [
        "geodesic_matrix_mesh"
      ]
    },
    {
      "page": "geodesic_mst_graph",
      "title": "Minimum spanning tree over a subset of graph nodes, by geodesic distance.",
      "topics": [
        "geodesic_mst_graph"
      ]
    },
    {
      "page": "geodesic_mst_mesh",
      "title": "Minimum spanning tree over a subset of mesh vertices, by geodesic distance.",
      "topics": [
        "geodesic_mst_mesh"
      ]
    },
    {
      "page": "geodesic_nearest",
      "title": "Distance to the nearest target for each source.",
      "topics": [
        "geodesic_nearest"
      ]
    },
    {
      "page": "geodesic_nearest_mesh",
      "title": "Distance to the nearest target vertex, for each source vertex of a mesh.",
      "topics": [
        "geodesic_nearest_mesh"
      ]
    },
    {
      "page": "geodesic_pairs",
      "title": "Geodesic distances for explicit pairs of nodes.",
      "topics": [
        "geodesic_pairs"
      ]
    },
    {
      "page": "geodesic_path",
      "title": "The shortest route from one source to each target, as node sequences.",
      "topics": [
        "geodesic_path"
      ]
    },
    {
      "page": "geodesic_predecessors",
      "title": "Shortest path trees over a graph — distances _and_ the route to each node.",
      "topics": [
        "geodesic_predecessors"
      ]
    },
    {
      "page": "get_num_threads",
      "title": "Number of threads available for parallel work in this session.",
      "topics": [
        "get_num_threads"
      ]
    },
    {
      "page": "has_cycles",
      "title": "Check whether the tree contains cycles.",
      "topics": [
        "has_cycles"
      ]
    },
    {
      "page": "heal_skeleton",
      "title": "Heal a fragmented skeleton by reconnecting its fragments.",
      "topics": [
        "heal_skeleton"
      ]
    },
    {
      "page": "leaf_order",
      "title": "Dendrogram leaf order",
      "topics": [
        "leaf_order"
      ]
    },
    {
      "page": "level_set_components",
      "title": "Connected components of every level set at once.",
      "topics": [
        "level_set_components"
      ]
    },
    {
      "page": "longest_path",
      "title": "The longest path from any node to its root.",
      "topics": [
        "longest_path"
      ]
    },
    {
      "page": "longest_paths",
      "title": "The 'n' longest paths, each peeled off before the next is sought.",
      "topics": [
        "longest_paths"
      ]
    },
    {
      "page": "mesh_connected_components",
      "title": "Connected components of a triangle mesh",
      "topics": [
        "mesh_connected_components"
      ]
    },
    {
      "page": "minimum_spanning_tree",
      "title": "Minimum (or maximum) spanning forest of an undirected graph.",
      "topics": [
        "minimum_spanning_tree"
      ]
    },
    {
      "page": "mls_affine",
      "title": "The global affine of a moving least squares transform",
      "topics": [
        "mls_affine"
      ]
    },
    {
      "page": "mls_transform",
      "title": "Build a moving least squares transform from landmark pairs",
      "topics": [
        "mls_transform"
      ]
    },
    {
      "page": "mls_xform",
      "title": "Apply a moving least squares transform to points",
      "topics": [
        "mls_xform"
      ]
    },
    {
      "page": "nblast",
      "title": "Forward NBLAST of every query neuron against every target neuron.",
      "topics": [
        "nblast"
      ]
    },
    {
      "page": "nblast_allbyall",
      "title": "All-by-all forward NBLAST.",
      "topics": [
        "nblast_allbyall"
      ]
    },
    {
      "page": "nblast_dist",
      "title": "Condensed distances from a score matrix",
      "topics": [
        "nblast_dist"
      ]
    },
    {
      "page": "nblast_hclust",
      "title": "Hierarchical clustering of a score matrix",
      "topics": [
        "nblast_hclust"
      ]
    },
    {
      "page": "nblast_knn",
      "title": "k nearest neighbours under NBLAST, without building the score matrix",
      "topics": [
        "nblast_knn"
      ]
    },
    {
      "page": "nblast_pairs",
      "title": "Forward NBLAST for a set of (query, target) index pairs.",
      "topics": [
        "nblast_pairs"
      ]
    },
    {
      "page": "node_indices",
      "title": "For each node ID in 'parents' find its index in 'nodes'.",
      "topics": [
        "node_indices"
      ]
    },
    {
      "page": "parents_from_edges",
      "title": "Orient a graph into a rooted spanning forest — one parent per node.",
      "topics": [
        "parents_from_edges"
      ]
    },
    {
      "page": "paths_to_root",
      "title": "The path from each source up to its root.",
      "topics": [
        "paths_to_root"
      ]
    },
    {
      "page": "prune_twigs",
      "title": "Prune twigs below given threshold.",
      "topics": [
        "prune_twigs"
      ]
    },
    {
      "page": "reroot",
      "title": "Re-orient a forest so that each of 'new_roots' becomes its component's root.",
      "topics": [
        "reroot"
      ]
    },
    {
      "page": "reroot_rewire",
      "title": "Regenerate a parent vector after adding a set of undirected edges.",
      "topics": [
        "reroot_rewire"
      ]
    },
    {
      "page": "resample_skeleton",
      "title": "Place nodes at a fixed spacing along every neurite.",
      "topics": [
        "resample_skeleton"
      ]
    },
    {
      "page": "set_num_threads",
      "title": "Set the number of threads used for parallel work in this session.",
      "topics": [
        "set_num_threads"
      ]
    },
    {
      "page": "simplify_mesh",
      "title": "Simplify a triangle mesh, tracking where every vertex went.",
      "topics": [
        "simplify_mesh"
      ]
    },
    {
      "page": "simplify_mesh_lossless",
      "title": "Simplify a triangle mesh without changing its shape.",
      "topics": [
        "simplify_mesh_lossless"
      ]
    },
    {
      "page": "simplify_rdp",
      "title": "Drop the nodes that do not bend a neurite, by Ramer-Douglas-Peucker.",
      "topics": [
        "simplify_rdp"
      ]
    },
    {
      "page": "simplify_skeleton",
      "title": "Keep only roots, leafs and branch points, preserving cable length.",
      "topics": [
        "simplify_skeleton"
      ]
    },
    {
      "page": "simplify_vw",
      "title": "Drop the nodes that contribute least area, by Visvalingam-Whyatt.",
      "topics": [
        "simplify_vw"
      ]
    },
    {
      "page": "smat_auto_limit",
      "title": "The 'limit_dist=\"auto\"' value for a scoring matrix.",
      "topics": [
        "smat_auto_limit"
      ]
    },
    {
      "page": "smooth_mesh",
      "title": "Smooth a triangle mesh",
      "topics": [
        "smooth_mesh"
      ]
    },
    {
      "page": "smooth_skeleton",
      "title": "Smooth a skeleton with a moving average along each neurite.",
      "topics": [
        "smooth_skeleton"
      ]
    },
    {
      "page": "smooth_skeleton_gaussian",
      "title": "Smooth a skeleton with a Gaussian kernel along each neurite.",
      "topics": [
        "smooth_skeleton_gaussian"
      ]
    },
    {
      "page": "stitch_fragments",
      "title": "Find the minimal-length edges that reconnect the fragments of a skeleton.",
      "topics": [
        "stitch_fragments"
      ]
    },
    {
      "page": "strahler_index",
      "title": "Calculate Strahler Index.",
      "topics": [
        "strahler_index"
      ]
    },
    {
      "page": "subtree_height",
      "title": "Height of the subtree below each node.",
      "topics": [
        "subtree_height"
      ]
    },
    {
      "page": "symmetrize",
      "title": "Symmetrise a score matrix",
      "topics": [
        "symmetrize"
      ]
    },
    {
      "page": "synapse_flow_centrality",
      "title": "Synapse flow centrality for each node.",
      "topics": [
        "synapse_flow_centrality"
      ]
    },
    {
      "page": "synblast",
      "title": "Forward syNBLAST of every query neuron against every target neuron.",
      "topics": [
        "synblast"
      ]
    },
    {
      "page": "synblast_allbyall",
      "title": "All-by-all forward syNBLAST over synapse clouds.",
      "topics": [
        "synblast_allbyall"
      ]
    },
    {
      "page": "tps_affine",
      "title": "The affine part of a thin-plate spline",
      "topics": [
        "tps_affine"
      ]
    },
    {
      "page": "tps_coefs",
      "title": "Coefficients of a fitted thin-plate spline",
      "topics": [
        "tps_coefs"
      ]
    },
    {
      "page": "tps_transform",
      "title": "Fit a thin-plate spline to landmark pairs",
      "topics": [
        "tps_transform"
      ]
    },
    {
      "page": "tps_xform",
      "title": "Apply a thin-plate spline to points",
      "topics": [
        "tps_xform"
      ]
    },
    {
      "page": "trace_loops",
      "title": "Walk directed half-edges into closed rings.",
      "topics": [
        "trace_loops"
      ]
    },
    {
      "page": "triangulate_rings",
      "title": "Triangulate boundary rings, wound against the direction they run in.",
      "topics": [
        "triangulate_rings"
      ]
    },
    {
      "page": "unique_edges",
      "title": "Unique undirected edges of a triangle mesh.",
      "topics": [
        "unique_edges"
      ]
    }
  ],
  "_readme": "https://github.com/schlegelp/fastcore-rs/raw/HEAD/R/nat.fastcore/README.md",
  "_rundeps": [],
  "_score": 3.3010299956639813,
  "_indexed": true,
  "_nocasepkg": "nat.fastcore",
  "_universes": [
    "schlegelp"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.13.0",
      "date": "2026-10-08T11:35:39.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "5ada9d8347e1f72f0e415fef37ec914350a2f086",
      "fileid": "https://r2.ropensci.org/283571c58b2bb62b85d97c73d1b47b6f2e77dda8477699d1af8092e627c7b2a6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/schlegelp/actions/runs/37770395855"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.13.0",
      "date": "2026-10-08T11:36:04.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "5ada9d8347e1f72f0e415fef37ec914350a2f086",
      "fileid": "https://r2.ropensci.org/d9881ea1ab40a2c2e612b7e7ea2b262905b8bce5faa14ac77bd92d69b3a7630e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/schlegelp/actions/runs/37770395855"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.13.0",
      "date": "2026-10-08T11:35:48.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "5ada9d8347e1f72f0e415fef37ec914350a2f086",
      "fileid": "https://r2.ropensci.org/73a01335871f701e6ff81bccaf10c883441ab2500f1b27ef3e6c925df38a165c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/schlegelp/actions/runs/37770395855"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.13.0",
      "date": "2026-10-08T11:35:53.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "5ada9d8347e1f72f0e415fef37ec914350a2f086",
      "fileid": "https://r2.ropensci.org/9759339268bd5f5c9354447c0d53299affd3d14dc9f375feb3c3c3b566185d93",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/schlegelp/actions/runs/37770395855"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.13.0",
      "date": "2026-10-08T11:57:09.000Z",
      "arch": "aarch64",
      "commit": "5ada9d8347e1f72f0e415fef37ec914350a2f086",
      "fileid": "https://r2.ropensci.org/f39b03f381c2a33f1d43645d223a0665fd845ab2efae5fcadc2e892249c487cc",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/schlegelp/actions/runs/37770395855"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.13.0",
      "date": "2026-10-08T11:40:04.000Z",
      "arch": "x86_64",
      "commit": "5ada9d8347e1f72f0e415fef37ec914350a2f086",
      "fileid": "https://r2.ropensci.org/ca038b1323fa7fa03d642bb4dd7d070d55959e86b22a1a4262094f3b6489d31d",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/schlegelp/actions/runs/37770395855"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.13.0",
      "date": "2026-10-08T12:01:15.000Z",
      "arch": "aarch64",
      "commit": "5ada9d8347e1f72f0e415fef37ec914350a2f086",
      "fileid": "https://r2.ropensci.org/53c7930c2fb3d71f59023b18dd6287270db38875346432b1700cd7cd839dcfc5",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/schlegelp/actions/runs/37770395855"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.13.0",
      "date": "2026-10-08T11:37:58.000Z",
      "arch": "x86_64",
      "commit": "5ada9d8347e1f72f0e415fef37ec914350a2f086",
      "fileid": "https://r2.ropensci.org/0936f7f9d085564bb06c71c472af73e23dc9e8878758dc215d9373871bf35299",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/schlegelp/actions/runs/37770395855"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.13.0",
      "date": "2026-10-08T11:35:06.000Z",
      "arch": "x86_64",
      "commit": "5ada9d8347e1f72f0e415fef37ec914350a2f086",
      "fileid": "https://r2.ropensci.org/9c666b557267aeb01662d5af3594ee93c93f913dbe063127fc28182ea588f64c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/schlegelp/actions/runs/37770395855"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.13.0",
      "date": "2026-10-08T11:35:07.000Z",
      "arch": "x86_64",
      "commit": "5ada9d8347e1f72f0e415fef37ec914350a2f086",
      "fileid": "https://r2.ropensci.org/46adff8f2ae4304c88ad13167bd5c2323f482803943d7302dcfdb58c48886e63",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/schlegelp/actions/runs/37770395855"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.13.0",
      "date": "2026-10-08T11:35:06.000Z",
      "arch": "x86_64",
      "commit": "5ada9d8347e1f72f0e415fef37ec914350a2f086",
      "fileid": "https://r2.ropensci.org/ef80bd4170fc9f8799fcadb47e23b59c18912807c81551f39ea23009e92a7a97",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/schlegelp/actions/runs/37770395855"
    }
  ]
}