{
  "_id": "6a38217a3efcd9bda4434453",
  "Package": "radiatR",
  "Type": "Package",
  "Title": "Analysis and Visualisation of Headings and Trajectories in\nCircular Space",
  "Version": "0.4.0",
  "Authors@R": "person(\"John D.\", \"Kirwan\", email = \"john@jkirwan.org\",\nrole = c(\"aut\", \"cre\"))",
  "Description": "A complete pipeline for analysing directional data --\nheadings and trajectories in circular space. Supply a table of\nangles directly, or reconstruct headings from movement\ntrajectories imported from 20+ tracking tools (EthoVision,\nDeepLabCut, SLEAP, TRex, ANY-maze, TrackMate, idtracker.ai,\nCtrax, and others) via a unified dialect-based loader system,\nincluding multi-bodypart pose estimation with\nlikelihood-weighted centroid. Derives per-trial heading\ndirections using multiple rules (ring-crossing, distal point,\npose body-axis, velocity-based, and more). Computes circular\nstatistics including mean direction, resultant length, von\nMises and wrapped Cauchy parametric fits, circular correlation\n(circular-linear and circular-circular), and multi-sample\nhypothesis tests (Watson-Williams, Rayleigh, and others) with\nmultiple-comparison correction. Renders publication-quality\nggplot2 radial plots with overlaid rose diagrams, parametric\ndensity curves, and non-parametric kernel density estimates.\nIncludes a browser-based graphical interface requiring no R\ncoding via launch_app().",
  "URL": "https://johnkirwan.github.io/radiatR/,\nhttps://github.com/JohnKirwan/radiatR",
  "BugReports": "https://github.com/JohnKirwan/radiatR/issues",
  "License": "GPL (>= 3)",
  "Encoding": "UTF-8",
  "LazyData": "true",
  "LazyDataCompression": "gzip",
  "Config/testthat/edition": "3",
  "VignetteBuilder": "knitr",
  "Collate": "'Tracks.R' 'circular_boxplot.R' 'circular_mapping.R'\n'circular_regression.R' 'coords.R' 'circular_plotting.R'\n'circular_statistics.R' 'circular_trials.R' 'data.R'\n'globals.R' 'headings.R' 'headings_frame.R' 'launch_app.R'\n'loaders.R' 'model_selection.R' 'radiatR-package.R'\n'simulate_tracks.R' 'spelling.R' 'time.R' 'track_metrics.R'\n'transforms.R'",
  "Config/roxygen2/version": "8.0.0",
  "Repository": "https://johnkirwan.r-universe.dev",
  "Date/Publication": "2026-06-21 16:11:34 UTC",
  "RemoteUrl": "https://github.com/JohnKirwan/radiatR",
  "RemoteRef": "HEAD",
  "RemoteSha": "e93c38dd4e33cff09a0e410504446596e731b619",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-06-21 17:30:12 UTC",
    "User": "root"
  },
  "Author": "John D. Kirwan [aut, cre]",
  "Maintainer": "John D. Kirwan <john@jkirwan.org>",
  "MD5sum": "88df110449f1345af8038d1be80fcf1d",
  "_user": "johnkirwan",
  "_type": "src",
  "_file": "radiatR_0.4.0.tar.gz",
  "_fileid": "4ff3c35b28dc3044774b5d60cd08eb0880bb0520698866a01668fd9a53905567",
  "_filesize": 18053694,
  "_sha256": "4ff3c35b28dc3044774b5d60cd08eb0880bb0520698866a01668fd9a53905567",
  "_created": "2026-06-21T17:30:12.000Z",
  "_published": "2026-06-21T17:38:02.144Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 82590893747,
      "time": 359,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7777702562"
    },
    {
      "job": 82590893751,
      "time": 353,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7777701538"
    },
    {
      "job": 82590893744,
      "time": 232,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "ERROR",
      "artifact": "7777684776"
    },
    {
      "job": 82590893742,
      "time": 248,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "ERROR",
      "artifact": "7777686889"
    },
    {
      "job": 82590438067,
      "time": 404,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7777653326"
    },
    {
      "job": 82590893732,
      "time": 132,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7777671508"
    },
    {
      "job": 82590893739,
      "time": 374,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7777704333"
    },
    {
      "job": 82590893738,
      "time": 354,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7777702257"
    },
    {
      "job": 82590893733,
      "time": 374,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7777704264"
    }
  ],
  "_buildurl": "https://github.com/r-universe/johnkirwan/actions/runs/27911925902",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/JohnKirwan/radiatR",
  "_commit": {
    "id": "e93c38dd4e33cff09a0e410504446596e731b619",
    "author": "John Kirwan <john@jkirwan.org>",
    "committer": "GitHub <noreply@github.com>",
    "message": "feat(app): split Results into Circular plots + Summary & stats sub-tabs (Phase 1) (#130)\n\n* feat(app): split Results into Circular plots + Summary & stats sub-tabs\n\n* fix(app): preview-size slider now resizes the plot (card_body fillable=FALSE)\n\nThe Tracks-and-headings plot sat in a fillable card_body inside page_fillable,\nso bslib treated the plotOutput as a fill item and stretched it to the card/\nviewport height -- overriding the inline pixel height set by the Preview-size\nslider (the plot looked pinned below the default, bound by screen size, and the\nslider appeared to do nothing). Marking that card_body fillable=FALSE lets the\nexplicit height take effect; width still fills via plotOutput width=100%.",
    "time": 1782058294
  },
  "_maintainer": {
    "name": "John D. Kirwan",
    "email": "john@jkirwan.org",
    "login": "johnkirwan",
    "linkedin": "in/johndkirwan",
    "description": "",
    "uuid": 3696221
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "purrr",
      "role": "Imports"
    },
    {
      "package": "circular",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "bpDir",
      "role": "Suggests"
    },
    {
      "package": "dplyr",
      "version": ">= 1.0.0",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "ggrepel",
      "role": "Suggests"
    },
    {
      "package": "arrow",
      "role": "Suggests"
    },
    {
      "package": "data.table",
      "role": "Suggests"
    },
    {
      "package": "jsonlite",
      "role": "Suggests"
    },
    {
      "package": "readr",
      "role": "Suggests"
    },
    {
      "package": "readxl",
      "role": "Suggests"
    },
    {
      "package": "yaml",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    },
    {
      "package": "writexl",
      "role": "Suggests"
    },
    {
      "package": "R.matlab",
      "role": "Suggests"
    },
    {
      "package": "xml2",
      "role": "Suggests"
    },
    {
      "package": "shiny",
      "version": ">= 1.7.0",
      "role": "Suggests"
    },
    {
      "package": "bslib",
      "version": ">= 0.5.0",
      "role": "Suggests"
    },
    {
      "package": "pkgload",
      "role": "Suggests"
    },
    {
      "package": "png",
      "role": "Suggests"
    },
    {
      "package": "jpeg",
      "role": "Suggests"
    },
    {
      "package": "svglite",
      "role": "Suggests"
    },
    {
      "package": "shinytest2",
      "role": "Suggests"
    },
    {
      "package": "chromote",
      "role": "Suggests"
    }
  ],
  "_owner": "johnkirwan",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-43",
      "n": 3
    },
    {
      "week": "2025-44",
      "n": 1
    },
    {
      "week": "2026-03",
      "n": 1
    },
    {
      "week": "2026-09",
      "n": 1
    },
    {
      "week": "2026-21",
      "n": 17
    },
    {
      "week": "2026-22",
      "n": 69
    },
    {
      "week": "2026-23",
      "n": 45
    },
    {
      "week": "2026-24",
      "n": 46
    },
    {
      "week": "2026-25",
      "n": 40
    }
  ],
  "_tags": [
    {
      "name": "v0.1.0",
      "date": "2026-06-08"
    },
    {
      "name": "v0.2.0",
      "date": "2026-06-11"
    },
    {
      "name": "v0.2.1",
      "date": "2026-06-11"
    },
    {
      "name": "v0.3.0",
      "date": "2026-06-12"
    },
    {
      "name": "v0.3.1",
      "date": "2026-06-12"
    },
    {
      "name": "v0.4.0",
      "date": "2026-06-18"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "johnkirwan",
      "count": 366,
      "uuid": 3696221
    }
  ],
  "_userbio": {
    "uuid": 3696221,
    "type": "user",
    "name": "John Kirwan",
    "followers": 5
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/radiatR"
  },
  "_devurl": "https://github.com/johnkirwan/radiatr",
  "_pkgdown": "https://johnkirwan.github.io/radiatR/",
  "_searchresults": 12,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/radiatR.html",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_exports": [
    "add_angle_rose",
    "add_circ",
    "add_circ_interval",
    "add_circ_mean",
    "add_circular_boxplot",
    "add_circular_density",
    "add_circular_kde",
    "add_critical_r",
    "add_critical_v_line",
    "add_heading_arrow",
    "add_heading_density",
    "add_heading_interval",
    "add_heading_points",
    "add_heading_vectors",
    "add_multiple_circles",
    "add_origin_point",
    "add_quadrant_lines",
    "add_radial_grid",
    "add_stacked_headings",
    "add_ticks",
    "add_vonmises_density",
    "add_wrappedcauchy_density",
    "angular_velocity",
    "apply_transform",
    "assign_color_key",
    "assign_colour_key",
    "assign_cycle_colors",
    "assign_cycle_colours",
    "bin_angles",
    "calibrate_distance",
    "circ_boxplot_stats",
    "circ_cor",
    "circ_dispersion",
    "circ_display",
    "circ_model_select",
    "circ_regression",
    "circ_summarise",
    "circ_summary",
    "circ_summary_headings",
    "compute_circ_interval",
    "compute_circ_mean",
    "compute_circular_density",
    "count_goal_entries",
    "cycle_colors",
    "cycle_colours",
    "degree_labs",
    "derive_coords",
    "derive_headings",
    "directedness_arrow",
    "distance_scale",
    "distance_unit",
    "draw_tracks",
    "dtrack_read",
    "elapsed_seconds",
    "fitted_directions",
    "frame_rate",
    "get_all_object_pos",
    "get_tracked_object_pos",
    "get_trial_limits",
    "gg_traj",
    "guess_columns",
    "headings_frame",
    "hf_color_col",
    "hf_colour_col",
    "hf_coords",
    "hf_display",
    "hf_heading_col",
    "import_info",
    "import_tracks",
    "instantaneous_speed",
    "launch_app",
    "line_circle_intercept",
    "line_circle_intercept_df",
    "line_circle_intercept_traj",
    "list_heading_rules",
    "list_loader_dialects",
    "list_loader_formats",
    "load_manifest",
    "load_tracks",
    "load_tracks2",
    "log_transform",
    "new_headings_frame",
    "path_straightness",
    "path_tortuosity",
    "pose_to_headings",
    "rad_shepherd",
    "radial_theme",
    "radiate",
    "read_tracks",
    "read_tracks_dir",
    "read_tracks_format",
    "reference",
    "register_heading_rule",
    "register_loader_dialect",
    "register_loader_format",
    "sector_summary",
    "set_distance_scale",
    "set_frame_rate",
    "set_reference",
    "set_transform_history",
    "simulate_tracks",
    "stack_headings",
    "step_speed",
    "straightness_index",
    "test_concentration",
    "test_mean_directions",
    "test_uniformity",
    "tortuosity_ratio",
    "track_duration",
    "track_length",
    "track_speed",
    "track_turning",
    "track_velocity",
    "tracks",
    "transform_history",
    "velocity_vector",
    "vonmises_fit",
    "wrappedcauchy_fit",
    "zone_dwell"
  ],
  "_datasets": [
    {
      "name": "cpunctatus",
      "title": "*Cylindroiulus punctatus* visual orientation trajectory dataset",
      "object": "cpunctatus",
      "class": [
        "Tracks"
      ],
      "fields": [],
      "table": false,
      "tojson": false
    },
    {
      "name": "cpunctatus_tracks",
      "title": "*Cylindroiulus punctatus* trajectory tibble",
      "object": "cpunctatus_tracks",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "trial_id",
        "frame",
        "x",
        "y",
        "trans_x",
        "trans_y",
        "trans_rho",
        "abs_theta",
        "rel_theta",
        "rel_x",
        "rel_y",
        "video",
        "order",
        "vid_ord",
        "radius",
        "arc",
        "type",
        "individual"
      ],
      "rows": 44331,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "dot-heading_registry",
      "title": "Build a data frame of arrow segments representing mean direction vectors Length equals resultant_R; angle equals mean_dir",
      "topics": [
        ".heading_registry"
      ]
    },
    {
      "page": "add_angle_rose",
      "title": "Add a rose diagram of heading angles to a radiate plot",
      "topics": [
        "add_angle_rose"
      ]
    },
    {
      "page": "add_circ",
      "title": "Draw a circular guide.",
      "topics": [
        "add_circ"
      ]
    },
    {
      "page": "add_circ_interval",
      "title": "Render a pre-computed circular interval arc on a radial plot",
      "topics": [
        "add_circ_interval"
      ]
    },
    {
      "page": "add_circ_mean",
      "title": "Render pre-computed circular mean arrows on a radial plot",
      "topics": [
        "add_circ_mean"
      ]
    },
    {
      "page": "add_circular_boxplot",
      "title": "Add a circular boxplot layer to a radial plot",
      "topics": [
        "add_circular_boxplot"
      ]
    },
    {
      "page": "add_circular_density",
      "title": "Wrap a pre-computed circular density around the unit circle",
      "topics": [
        "add_circular_density"
      ]
    },
    {
      "page": "add_circular_kde",
      "title": "Overlay a non-parametric circular kernel density estimate on a radiate plot",
      "topics": [
        "add_circular_kde"
      ]
    },
    {
      "page": "add_critical_r",
      "title": "Add a critical resultant-length circle to a radiate plot",
      "topics": [
        "add_critical_r"
      ]
    },
    {
      "page": "add_critical_v_line",
      "title": "Add a V-test significance boundary to a radiate plot",
      "topics": [
        "add_critical_v_line"
      ]
    },
    {
      "page": "add_heading_arrow",
      "title": "Compute a circular mean arrow and add it to a radial plot in one step",
      "topics": [
        "add_heading_arrow"
      ]
    },
    {
      "page": "add_heading_density",
      "title": "Compute a circular density and add it to a radial plot in one step",
      "topics": [
        "add_heading_density"
      ]
    },
    {
      "page": "add_heading_interval",
      "title": "Compute a circular interval arc and add it to a radial plot in one step",
      "topics": [
        "add_heading_interval"
      ]
    },
    {
      "page": "add_heading_points",
      "title": "Add heading endpoint markers on the unit circle",
      "topics": [
        "add_heading_points"
      ]
    },
    {
      "page": "add_heading_vectors",
      "title": "Add heading vector segments from inner crossing to unit circle",
      "topics": [
        "add_heading_vectors"
      ]
    },
    {
      "page": "add_multiple_circles",
      "title": "Add multiple concentric circles to a ggplot object",
      "topics": [
        "add_multiple_circles"
      ]
    },
    {
      "page": "add_origin_point",
      "title": "Mark the centre of a radial plot",
      "topics": [
        "add_origin_point"
      ]
    },
    {
      "page": "add_quadrant_lines",
      "title": "Add quadrant lines to a radial plot",
      "topics": [
        "add_quadrant_lines"
      ]
    },
    {
      "page": "add_radial_grid",
      "title": "Radial grid layers (the radial analogue of a Cartesian grid)",
      "topics": [
        "add_radial_grid"
      ]
    },
    {
      "page": "add_stacked_headings",
      "title": "Add stacked heading dots as a ggplot2 layer",
      "topics": [
        "add_stacked_headings"
      ]
    },
    {
      "page": "add_ticks",
      "title": "Create evenly spaced radial tick marks.",
      "topics": [
        "add_ticks"
      ]
    },
    {
      "page": "add_vonmises_density",
      "title": "Overlay a fitted von Mises density curve on a radiate plot",
      "topics": [
        "add_vonmises_density"
      ]
    },
    {
      "page": "add_wrappedcauchy_density",
      "title": "Overlay a fitted wrapped Cauchy density curve on a radiate plot",
      "topics": [
        "add_wrappedcauchy_density"
      ]
    },
    {
      "page": "angular_velocity",
      "title": "Per-observation angular (turning-rate) velocity for a Tracks",
      "topics": [
        "angular_velocity"
      ]
    },
    {
      "page": "apply_transform",
      "title": "Apply a bespoke transformation to a Tracks",
      "topics": [
        "apply_transform"
      ]
    },
    {
      "page": "as.data.frame.Tracks",
      "title": "Coerce a Tracks to a data frame",
      "topics": [
        "as.data.frame.Tracks"
      ]
    },
    {
      "page": "assign_colour_key",
      "title": "Assign a shared colour-key column to a Tracks or data frame",
      "topics": [
        "assign_color_key",
        "assign_colour_key"
      ]
    },
    {
      "page": "assign_cycle_colours",
      "title": "Assign cycling colour indices to trajectories",
      "topics": [
        "assign_cycle_colors",
        "assign_cycle_colours"
      ]
    },
    {
      "page": "bin_angles",
      "title": "Snap angles to fixed-width circular bin centres",
      "topics": [
        "bin_angles"
      ]
    },
    {
      "page": "circ_boxplot_stats",
      "title": "Circular boxplot statistics (Tukey-like, for circular and axial data)",
      "topics": [
        "circ_boxplot_stats"
      ]
    },
    {
      "page": "circ_cor",
      "title": "Circular correlation between headings and a covariate",
      "topics": [
        "circ_cor"
      ]
    },
    {
      "page": "circ_dispersion",
      "title": "Per-group circular dispersion statistics for a dense heading series",
      "topics": [
        "circ_dispersion"
      ]
    },
    {
      "page": "circ_display",
      "title": "Circular display convention specification",
      "topics": [
        "circ_display"
      ]
    },
    {
      "page": "circ_model_select",
      "title": "Select among candidate circular models by AICc",
      "topics": [
        "circ_model_select"
      ]
    },
    {
      "page": "circ_regression",
      "title": "Circular-linear regression of a heading on linear covariates",
      "topics": [
        "circ_regression",
        "fitted.circ_regression",
        "predict.circ_regression",
        "print.circ_regression",
        "summary.circ_regression"
      ]
    },
    {
      "page": "circ_summarise",
      "title": "Tidy circular summary of a grouped data frame",
      "topics": [
        "circ_summarise"
      ]
    },
    {
      "page": "circ_summary",
      "title": "Circular summaries per trajectory",
      "topics": [
        "circ_summary",
        "circ_summary,Tracks-method"
      ]
    },
    {
      "page": "circ_summary_headings",
      "title": "Circular statistics over derived headings",
      "topics": [
        "circ_summary_headings"
      ]
    },
    {
      "page": "circular_mapping",
      "title": "Circular coordinate utilities",
      "topics": [
        "circular_mapping"
      ]
    },
    {
      "page": "compute_circ_interval",
      "title": "Compute a circular interval arc from heading angles",
      "topics": [
        "compute_circ_interval"
      ]
    },
    {
      "page": "compute_circ_mean",
      "title": "Compute circular mean direction and resultant length from a headings data frame",
      "topics": [
        "compute_circ_mean"
      ]
    },
    {
      "page": "compute_circular_density",
      "title": "Compute a circular density data frame from heading observations",
      "topics": [
        "compute_circular_density"
      ]
    },
    {
      "page": "count_goal_entries",
      "title": "Count entries into a goal zone for trajectories in a circular field",
      "topics": [
        "count_goal_entries"
      ]
    },
    {
      "page": "cpunctatus",
      "title": "*Cylindroiulus punctatus* visual orientation trajectory dataset",
      "topics": [
        "cpunctatus"
      ]
    },
    {
      "page": "cpunctatus_tracks",
      "title": "*Cylindroiulus punctatus* trajectory tibble",
      "topics": [
        "cpunctatus_tracks"
      ]
    },
    {
      "page": "cycle_colours",
      "title": "Cycle a bounded set of colour indices over the values of a key",
      "topics": [
        "cycle_colors",
        "cycle_colours"
      ]
    },
    {
      "page": "degree_labs",
      "title": "Label the four diagonal directions.",
      "topics": [
        "degree_labs"
      ]
    },
    {
      "page": "derive_coords",
      "title": "Derive polar and reference-relative coordinates from unit-circle position",
      "topics": [
        "derive_coords"
      ]
    },
    {
      "page": "derive_headings",
      "title": "Derive heading angle(s) from trajectories using specified rule",
      "topics": [
        "derive_headings",
        "derive_headings,Tracks-method"
      ]
    },
    {
      "page": "directedness_arrow",
      "title": "Make mean resultant length arrow",
      "topics": [
        "directedness_arrow"
      ]
    },
    {
      "page": "distance_scale",
      "title": "Distance calibration for a Tracks object",
      "topics": [
        "calibrate_distance",
        "distance_scale",
        "distance_scale,Tracks-method",
        "distance_unit",
        "distance_unit,Tracks-method",
        "set_distance_scale",
        "set_distance_scale,Tracks-method"
      ]
    },
    {
      "page": "draw_tracks",
      "title": "Create geom layers for Cartesian track coordinates",
      "topics": [
        "draw_tracks"
      ]
    },
    {
      "page": "dtrack_read",
      "title": "Read a dtrack trajectory file into a Tracks",
      "topics": [
        "dtrack_read"
      ]
    },
    {
      "page": "elapsed_seconds",
      "title": "Elapsed time per observation of a Tracks object",
      "topics": [
        "elapsed_seconds"
      ]
    },
    {
      "page": "fitted_directions",
      "title": "Fitted mean directions from a circular regression, for plotting",
      "topics": [
        "fitted_directions"
      ]
    },
    {
      "page": "frame_rate",
      "title": "Frame rate of a Tracks object",
      "topics": [
        "frame_rate",
        "frame_rate,Tracks-method",
        "set_frame_rate",
        "set_frame_rate,Tracks-method"
      ]
    },
    {
      "page": "get_all_object_pos",
      "title": "Aggregate track positions across all videos in a manifest.",
      "topics": [
        "get_all_object_pos"
      ]
    },
    {
      "page": "get_tracked_object_pos",
      "title": "Derive trial-level track positions in polar coordinates.",
      "topics": [
        "get_tracked_object_pos"
      ]
    },
    {
      "page": "get_trial_limits",
      "title": "Summarise per-trial metadata for a single video.",
      "topics": [
        "get_trial_limits"
      ]
    },
    {
      "page": "gg_traj",
      "title": "Plot trajectories from a Tracks (overlay or faceted)",
      "topics": [
        "gg_traj",
        "gg_traj,Tracks-method"
      ]
    },
    {
      "page": "guess_columns",
      "title": "Guess the role of each column in a track table",
      "topics": [
        "guess_columns"
      ]
    },
    {
      "page": "headings_frame",
      "title": "Construct a headings frame from a data frame of angles",
      "topics": [
        "headings_frame"
      ]
    },
    {
      "page": "hf_accessors",
      "title": "Read the canonical attributes of a heading frame",
      "topics": [
        "hf_accessors",
        "hf_color_col",
        "hf_colour_col",
        "hf_coords",
        "hf_display",
        "hf_heading_col"
      ]
    },
    {
      "page": "import_info",
      "title": "Import landmark coordinates from text files",
      "topics": [
        "import_info"
      ]
    },
    {
      "page": "import_tracks",
      "title": "Discover dtrack (or compatible) landmark/track file pairs in a directory",
      "topics": [
        "import_tracks"
      ]
    },
    {
      "page": "instantaneous_speed",
      "title": "Per-observation instantaneous speed for a Tracks",
      "topics": [
        "instantaneous_speed"
      ]
    },
    {
      "page": "launch_app",
      "title": "Launch the radiatR Shiny companion app",
      "topics": [
        "launch_app"
      ]
    },
    {
      "page": "line_circle_intercept",
      "title": "Find the intercept of a line with the unit circle",
      "topics": [
        "line_circle_intercept"
      ]
    },
    {
      "page": "line_circle_intercept_df",
      "title": "Intersection helper using track rows",
      "topics": [
        "line_circle_intercept_df"
      ]
    },
    {
      "page": "line_circle_intercept_traj",
      "title": "Intersection helper for Tracks trajectories",
      "topics": [
        "line_circle_intercept_traj"
      ]
    },
    {
      "page": "list_heading_rules",
      "title": "List registered custom heading rules",
      "topics": [
        "list_heading_rules"
      ]
    },
    {
      "page": "list_loader_dialects",
      "title": "List registered loader dialects",
      "topics": [
        "list_loader_dialects"
      ]
    },
    {
      "page": "list_loader_formats",
      "title": "List registered declarative formats",
      "topics": [
        "list_loader_formats"
      ]
    },
    {
      "page": "load_manifest",
      "title": "Load trajectories listed in a file table into a Tracks",
      "topics": [
        "load_manifest"
      ]
    },
    {
      "page": "load_tracks",
      "title": "Legacy helper to merge manifest metadata with a track table",
      "topics": [
        "load_tracks"
      ]
    },
    {
      "page": "load_tracks2",
      "title": "Flexible metadata join for track tables",
      "topics": [
        "load_tracks2"
      ]
    },
    {
      "page": "new_headings_frame",
      "title": "Low-level headings_frame constructor",
      "topics": [
        "new_headings_frame"
      ]
    },
    {
      "page": "path_straightness",
      "title": "Path straightness index for a single trajectory",
      "topics": [
        "path_straightness"
      ]
    },
    {
      "page": "path_tortuosity",
      "title": "Tortuosity ratio for a single trajectory",
      "topics": [
        "path_tortuosity"
      ]
    },
    {
      "page": "pose_to_headings",
      "title": "Derive per-frame headings from pose data without a Tracks",
      "topics": [
        "pose_to_headings"
      ]
    },
    {
      "page": "rad_shepherd",
      "title": "Wrap angles to the interval (-pi, pi]",
      "topics": [
        "rad_shepherd"
      ]
    },
    {
      "page": "radial_theme",
      "title": "Themes for radial track plots, named for the ggplot2 base themes.",
      "topics": [
        "radial_theme"
      ]
    },
    {
      "page": "radiate",
      "title": "Make ggplot object of tracks radiating from circle centre.",
      "topics": [
        "radiate",
        "radiate.default",
        "radiate.headings_frame",
        "radiate.Tracks"
      ]
    },
    {
      "page": "read_tracks",
      "title": "Construct a Tracks from a data.frame or file(s)",
      "topics": [
        "read_tracks"
      ]
    },
    {
      "page": "read_tracks_dir",
      "title": "Read all matching files from a directory and bind into a Tracks",
      "topics": [
        "read_tracks_dir"
      ]
    },
    {
      "page": "read_tracks_format",
      "title": "Construct a Tracks from a *format* spec (registered name or inline list)",
      "topics": [
        "read_tracks_format"
      ]
    },
    {
      "page": "reference",
      "title": "Per-trajectory reference direction of a Tracks",
      "topics": [
        "reference",
        "reference,Tracks-method"
      ]
    },
    {
      "page": "register_heading_rule",
      "title": "Register a custom heading derivation rule",
      "topics": [
        "register_heading_rule"
      ]
    },
    {
      "page": "register_loader_dialect",
      "title": "Register a custom loader dialect The function must accept (x, ...) and return a data.frame in long form with columns at least id,time and one of (angle) or (x,y)",
      "topics": [
        "register_loader_dialect"
      ]
    },
    {
      "page": "register_loader_format",
      "title": "Register a declarative loader *format* (list or YAML/JSON file) The spec maps cleanly onto read_tracks() args and supports regex-based column finding.",
      "topics": [
        "register_loader_format"
      ]
    },
    {
      "page": "sector_summary",
      "title": "Proportion of time spent in angular sectors",
      "topics": [
        "sector_summary"
      ]
    },
    {
      "page": "set_reference",
      "title": "Set the per-trajectory reference and re-derive the relative frame",
      "topics": [
        "set_reference",
        "set_reference,Tracks-method"
      ]
    },
    {
      "page": "simulate_tracks",
      "title": "Simulate trajectory sets under configurable experimental conditions",
      "topics": [
        "simulate_tracks"
      ]
    },
    {
      "page": "stack_headings",
      "title": "Add stacking columns to a headings data frame",
      "topics": [
        "stack_headings"
      ]
    },
    {
      "page": "step_speed",
      "title": "Per-step speed along a trajectory",
      "topics": [
        "step_speed"
      ]
    },
    {
      "page": "straightness_index",
      "title": "Per-trajectory straightness index for a Tracks",
      "topics": [
        "straightness_index"
      ]
    },
    {
      "page": "test_concentration",
      "title": "Test whether groups share the same concentration (dispersion)",
      "topics": [
        "test_concentration"
      ]
    },
    {
      "page": "test_mean_directions",
      "title": "Test whether groups share the same mean direction (Watson-Williams)",
      "topics": [
        "test_mean_directions"
      ]
    },
    {
      "page": "test_uniformity",
      "title": "Per-group tests of circular uniformity",
      "topics": [
        "test_uniformity"
      ]
    },
    {
      "page": "tortuosity_ratio",
      "title": "Per-trajectory tortuosity ratio for a Tracks",
      "topics": [
        "tortuosity_ratio"
      ]
    },
    {
      "page": "track_duration",
      "title": "Duration of each track",
      "topics": [
        "track_duration"
      ]
    },
    {
      "page": "track_length",
      "title": "Per-trajectory path length for a Tracks",
      "topics": [
        "track_length"
      ]
    },
    {
      "page": "track_speed",
      "title": "Per-trajectory speed for a Tracks, in real units",
      "topics": [
        "track_speed"
      ]
    },
    {
      "page": "track_turning",
      "title": "Per-trajectory turning-rate summary for a Tracks",
      "topics": [
        "track_turning"
      ]
    },
    {
      "page": "track_velocity",
      "title": "Per-trajectory net velocity for a Tracks",
      "topics": [
        "track_velocity"
      ]
    },
    {
      "page": "Tracks-class",
      "title": "Tracks container for circular trajectories",
      "topics": [
        "c,Tracks-method",
        "length,Tracks-method",
        "tracks",
        "Tracks-class",
        "[,Tracks,ANY,missing,missing-method"
      ]
    },
    {
      "page": "transform_history",
      "title": "Transform history helpers for Tracks objects",
      "topics": [
        "log_transform",
        "log_transform,Tracks-method",
        "set_transform_history",
        "set_transform_history,Tracks-method",
        "transform_history",
        "transform_history,Tracks-method"
      ]
    },
    {
      "page": "velocity_vector",
      "title": "Per-observation velocity vector for a Tracks",
      "topics": [
        "velocity_vector"
      ]
    },
    {
      "page": "vonmises_fit",
      "title": "Fit a von Mises distribution to per-group heading data",
      "topics": [
        "vonmises_fit"
      ]
    },
    {
      "page": "wrappedcauchy_fit",
      "title": "Fit a wrapped Cauchy distribution to per-group heading data",
      "topics": [
        "wrappedcauchy_fit"
      ]
    },
    {
      "page": "zone_dwell",
      "title": "Dwell-time proportions across quadrant x ring zones",
      "topics": [
        "zone_dwell"
      ]
    }
  ],
  "_pkglogo": "https://github.com/JohnKirwan/radiatR/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/JohnKirwan/radiatR/raw/HEAD/README.md",
  "_rundeps": [
    "boot",
    "circular",
    "cli",
    "cpp11",
    "farver",
    "ggplot2",
    "glue",
    "gtable",
    "isoband",
    "labeling",
    "lifecycle",
    "magrittr",
    "mvtnorm",
    "pillar",
    "pkgconfig",
    "purrr",
    "R6",
    "RColorBrewer",
    "rlang",
    "S7",
    "scales",
    "tibble",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "circular-statistics.Rmd",
      "filename": "circular-statistics.html",
      "title": "Circular Statistics and Distribution Overlays",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "A heading data frame",
        "Dispersion summaries",
        "Parametric fits",
        "Hypothesis tests",
        "Uniformity",
        "Equal mean directions",
        "Equal concentrations",
        "Circular correlation",
        "Circular regression",
        "Distribution overlays",
        "Per-group overlays",
        "Significance geometry",
        "Where next"
      ],
      "created": "2026-06-03 10:52:54",
      "modified": "2026-06-20 09:45:44",
      "commits": 6
    },
    {
      "source": "radiatR.Rmd",
      "filename": "radiatR.html",
      "title": "radiatR",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "Import Pipeline",
        "Full Millipede Dataset",
        "Plotting Trajectories",
        "Colour tracks by position",
        "Representing time",
        "Heading Overlays",
        "Circular Interval Arc",
        "Building Up a Panel",
        "Circular Boxplot",
        "Colour Options",
        "Per-Condition Panels",
        "Circular Density Overlays",
        "Bootstrap Confidence Band",
        "Circular Summary Statistics",
        "Alternative Heading Rules",
        "distal",
        "net",
        "Simulating Demo Data"
      ],
      "created": "2022-01-21 16:14:07",
      "modified": "2026-06-21 13:44:24",
      "commits": 50
    },
    {
      "source": "design.Rmd",
      "filename": "design.html",
      "title": "radiatR design contract",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Rich objects, only where structure is irreducible",
        "Everything else is a plain tibble, in and out",
        "headings_frame: a dplyr-durable tibble subclass"
      ],
      "created": "2026-06-19 13:27:20",
      "modified": "2026-06-20 09:43:44",
      "commits": 2
    },
    {
      "source": "simulate.Rmd",
      "filename": "simulate.html",
      "title": "Simulating Trajectories",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "Quick Start",
        "Output Formats",
        "Plotting the Default Simulation",
        "The Conditions Table",
        "Concentration (κ)",
        "Tortuosity and Path Smoothness",
        "Directional Bias (ref_mean)",
        "Multi-Condition Gradient",
        "Continuous Predictor",
        "Connecting to Circular Analysis",
        "Known Modality and Shape",
        "Reproducibility and Saving"
      ],
      "created": "2026-05-31 10:07:23",
      "modified": "2026-06-20 09:43:44",
      "commits": 7
    },
    {
      "source": "loaders.Rmd",
      "filename": "loaders.html",
      "title": "Working with Loaders",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "Loading a Real Experiment",
        "Step 1 — discover files",
        "Step 2 — read the manifest",
        "Step 3 — join metadata",
        "Step 4 — extract and normalise trajectories",
        "dtrack format",
        "Tracking-tool format support",
        "Bundled single-file examples",
        "Reading Tabular Trajectories",
        "Manifest Helpers (Synthetic Example)",
        "Registering a Custom Dialect"
      ],
      "created": "2025-10-26 16:48:26",
      "modified": "2026-06-20 09:43:44",
      "commits": 10
    }
  ],
  "_score": 4.431363764158988,
  "_indexed": true,
  "_nocasepkg": "radiatr",
  "_universes": [
    "johnkirwan"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.4.0",
      "date": "2026-06-21T17:33:43.000Z",
      "distro": "noble",
      "commit": "e93c38dd4e33cff09a0e410504446596e731b619",
      "fileid": "b2d818e68809477a5629752d792f8af4e64faeda86f9f1ed645360cbc24f799f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/johnkirwan/actions/runs/27911925902"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.4.0",
      "date": "2026-06-21T17:33:37.000Z",
      "distro": "noble",
      "commit": "e93c38dd4e33cff09a0e410504446596e731b619",
      "fileid": "255b7089a38cce8726f23380205f9d14f72115bdf0564d5e1d954572a460f5f4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/johnkirwan/actions/runs/27911925902"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.4.0",
      "date": "2026-06-21T17:33:23.000Z",
      "commit": "e93c38dd4e33cff09a0e410504446596e731b619",
      "fileid": "9de91cdad0c74a5ada1528d7e24600f6b4d5250ae452c3abe81ccdf0fd309f7d",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/johnkirwan/actions/runs/27911925902"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.4.0",
      "date": "2026-06-21T17:33:12.000Z",
      "commit": "e93c38dd4e33cff09a0e410504446596e731b619",
      "fileid": "03623e613c7785843a949a175b96af78e70fb88fcfcb42d9bbc8ee8ada8592bf",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/johnkirwan/actions/runs/27911925902"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.4.0",
      "date": "2026-06-21T17:33:36.000Z",
      "commit": "e93c38dd4e33cff09a0e410504446596e731b619",
      "fileid": "f8d58c53c83bf58efaca08327e48cc013ae7b947968d2c10f11aacbf7e360c69",
      "status": "success",
      "buildurl": "https://github.com/r-universe/johnkirwan/actions/runs/27911925902"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.4.0",
      "date": "2026-06-21T17:33:00.000Z",
      "commit": "e93c38dd4e33cff09a0e410504446596e731b619",
      "fileid": "370fa20cf4c9336abf4667bda6c3f23d56b1765786fcbc241036f2adcef227c2",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/johnkirwan/actions/runs/27911925902"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.4.0",
      "date": "2026-06-21T17:33:10.000Z",
      "commit": "e93c38dd4e33cff09a0e410504446596e731b619",
      "fileid": "9398d7844d1558701852c339c5aca6faa4081d7814f936902c29ebc64e34a76b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/johnkirwan/actions/runs/27911925902"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.4.0",
      "date": "2026-06-21T17:33:08.000Z",
      "commit": "e93c38dd4e33cff09a0e410504446596e731b619",
      "fileid": "aaa2cd8cb0d21f908f60d913c7d069ff4c619a0aa79dfcaae021a486ec5f3574",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/johnkirwan/actions/runs/27911925902"
    }
  ]
}