{
  "_id": "6a1696e4acfb0bcc41d7bdb2",
  "Type": "Package",
  "Package": "eyetools",
  "Title": "Analyse Eye Data",
  "Version": "0.9.3",
  "Authors@R": "c(\nperson(\"Tom\", \"Beesley\", , \"t.beesley@lancaster.ac.uk\", role = c(\"aut\", \"cre\")),\nperson(\"Matthew\", \"Ivory\", , \"matthew.ivory@lancaster.ac.uk\", role = \"aut\")\n)",
  "Description": "Enables the automation of actions across the pipeline,\nincluding initial steps of transforming binocular data and gap\nrepair to event-based processing such as fixations, saccades,\nand entry/duration in Areas of Interest (AOIs). It also offers\nvisualisation of eye movement and AOI entries. These tools take\nrelatively raw (trial, time, x, and y form) data and can be\nused to return fixations, saccades, and AOI entries and time\nspent in AOIs. As the tools rely on this basic data format, the\nfunctions can work with data from any eye tracking device.\nImplements fixation and saccade detection using methods\nproposed by Salvucci and Goldberg (2000)\n<doi:10.1145/355017.355028>.",
  "License": "GPL-3",
  "URL": "https://tombeesley.github.io/eyetools/",
  "BugReports": "https://github.com/tombeesley/eyetools/issues",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Encoding": "UTF-8",
  "LazyData": "true",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.2",
  "Language": "en-GB",
  "Config/pak/sysreqs": "libfontconfig1-dev libfreetype6-dev libhdf5-dev\nlibmagick++-dev gsfonts libpng-dev libssl-dev",
  "Repository": "https://tombeesley.r-universe.dev",
  "Date/Publication": "2025-07-22 08:48:00 UTC",
  "RemoteUrl": "https://github.com/tombeesley/eyetools",
  "RemoteRef": "HEAD",
  "RemoteSha": "10d7c17f05e769008e1ccd112007d4da0bdf5dd5",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-27 06:54:29 UTC",
    "User": "root"
  },
  "Author": "Tom Beesley [aut, cre],\nMatthew Ivory [aut]",
  "Maintainer": "Tom Beesley <t.beesley@lancaster.ac.uk>",
  "MD5sum": "82942f92581ddf7903253c6ad26e9ba8",
  "_user": "tombeesley",
  "_type": "src",
  "_file": "eyetools_0.9.3.tar.gz",
  "_fileid": "541a95f8c34fdcb171f6466932c7cdb3d456734dbaccfabe2e12134e8da311b8",
  "_filesize": 6583201,
  "_sha256": "541a95f8c34fdcb171f6466932c7cdb3d456734dbaccfabe2e12134e8da311b8",
  "_created": "2026-05-27T06:54:29.000Z",
  "_published": "2026-05-27T07:01:56.054Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 78023747651,
      "time": 196,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7233871386"
    },
    {
      "job": 78023747640,
      "time": 181,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7233867286"
    },
    {
      "job": 78023747653,
      "time": 239,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7233913962"
    },
    {
      "job": 78023747668,
      "time": 147,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7233860853"
    },
    {
      "job": 78023157570,
      "time": 268,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7233817025"
    },
    {
      "job": 78023747633,
      "time": 128,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7233852820"
    },
    {
      "job": 78023747689,
      "time": 126,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7233852264"
    },
    {
      "job": 78023747670,
      "time": 97,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7233844342"
    },
    {
      "job": 78023747666,
      "time": 127,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7233852486"
    }
  ],
  "_buildurl": "https://github.com/r-universe/tombeesley/actions/runs/26495645034",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/tombeesley/eyetools",
  "_commit": {
    "id": "10d7c17f05e769008e1ccd112007d4da0bdf5dd5",
    "author": "Tom Beesley <t.beesley@lancaster.ac.uk>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Merge pull request #29 from tombeesley/0.9.3\n\n0.9.3",
    "time": 1753174080
  },
  "_maintainer": {
    "name": "Tom Beesley",
    "email": "t.beesley@lancaster.ac.uk",
    "login": "tombeesley",
    "bluesky": "@tombeesley.bsky.social",
    "description": "Senior Lecturer. Department of Psychology. \nLancaster University\n",
    "uuid": 16871255
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 2.10",
      "role": "Depends"
    },
    {
      "package": "ggforce",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "viridis",
      "role": "Imports"
    },
    {
      "package": "glue",
      "role": "Imports"
    },
    {
      "package": "hdf5r",
      "role": "Imports"
    },
    {
      "package": "lifecycle",
      "role": "Imports"
    },
    {
      "package": "magick",
      "role": "Imports"
    },
    {
      "package": "pbapply",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "zoo",
      "role": "Imports"
    },
    {
      "package": "png",
      "role": "Imports"
    },
    {
      "package": "grid",
      "role": "Imports"
    },
    {
      "package": "ggrepel",
      "role": "Imports"
    },
    {
      "package": "abind",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "tombeesley",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-25",
      "n": 4
    },
    {
      "week": "2025-26",
      "n": 1
    },
    {
      "week": "2025-27",
      "n": 1
    },
    {
      "week": "2025-28",
      "n": 2
    },
    {
      "week": "2025-30",
      "n": 1
    }
  ],
  "_tags": [],
  "_topics": [
    "areas-of-interest",
    "attention-visualization",
    "cognitive-science",
    "dwell-time-algorithm",
    "eye-tracker",
    "eye-tracking",
    "eyetracking",
    "ggplot2",
    "psychology",
    "psychology-experiments",
    "saccades",
    "tobii",
    "tobii-eye-tracker",
    "visualization"
  ],
  "_stars": 9,
  "_contributors": [
    {
      "user": "m1v0",
      "count": 248,
      "uuid": 51876976
    },
    {
      "user": "tombeesley",
      "count": 198,
      "uuid": 16871255
    },
    {
      "user": "pwep",
      "count": 1,
      "uuid": 732331
    }
  ],
  "_userbio": {
    "uuid": 16871255,
    "type": "user",
    "name": "Tom Beesley",
    "description": "Senior Lecturer. Department of Psychology. \r\nLancaster University\r\n"
  },
  "_downloads": {
    "count": 136,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/eyetools"
  },
  "_devurl": "https://github.com/tombeesley/eyetools",
  "_pkgdown": "https://tombeesley.github.io/eyetools/",
  "_searchresults": 21,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/eyetools.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/tombeesley/eyetools",
  "_realowner": "tombeesley",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.7.2",
      "date": "2024-10-28"
    },
    {
      "version": "0.8.0",
      "date": "2024-12-18"
    },
    {
      "version": "0.8.1",
      "date": "2024-12-19"
    },
    {
      "version": "0.9.2",
      "date": "2025-06-18"
    }
  ],
  "_exports": [
    "AOI_seq",
    "AOI_time",
    "AOI_time_binned",
    "combine_eyes",
    "compare_algorithms",
    "conditional_transform",
    "create_AOI_df",
    "dist_to_visual_angle",
    "fixation_dispersion",
    "fixation_VTI",
    "hdf5_get_event",
    "hdf5_to_df",
    "interpolate",
    "plot_AOI_growth",
    "plot_heatmap",
    "plot_seq",
    "plot_spatial",
    "saccade_VTI",
    "smoother"
  ],
  "_datasets": [
    {
      "name": "HCL",
      "title": "Example dataset from that contains binocular eye data from two participants from a simple contingency learning task (the data are from Beesley, Nguyen, Pearson, & Le Pelley, 2015). In this task there are two stimuli that appear simultaneously on each trial (to the left and right of the screen). Participants look at these cues and then make a decision by selecting an \"outcome response\" button.",
      "object": "HCL",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "pID",
        "time",
        "left_x",
        "left_y",
        "right_x",
        "right_y",
        "trial"
      ],
      "rows": 31041,
      "table": true,
      "tojson": true
    },
    {
      "name": "HCL_AOIs",
      "title": "Example AOIs for use with HCL",
      "object": "HCL_AOIs",
      "class": [
        "data.frame"
      ],
      "fields": [
        "x",
        "y",
        "width_radius",
        "height"
      ],
      "rows": 3,
      "table": true,
      "tojson": true
    },
    {
      "name": "HCL_behavioural",
      "title": "Example dataset of behavioural data to complement dataset HCL.",
      "object": "HCL_behavioural",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "pID",
        "trial",
        "P_cue",
        "NP_cue",
        "cue_order",
        "correct_out",
        "accuracy",
        "RT"
      ],
      "rows": 12,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "AOI_seq",
      "title": "Sequence analysis of area of interest entries",
      "topics": [
        "AOI_seq"
      ]
    },
    {
      "page": "AOI_time",
      "title": "Analysis of time spent in areas of interest",
      "topics": [
        "AOI_time"
      ]
    },
    {
      "page": "AOI_time_binned",
      "title": "Binned time analysis of area of interest entries",
      "topics": [
        "AOI_time_binned"
      ]
    },
    {
      "page": "combine_eyes",
      "title": "Combine binocular data into single X/Y coordinate pairs",
      "topics": [
        "combine_eyes"
      ]
    },
    {
      "page": "compare_algorithms",
      "title": "A battery of metrics and plots to compare the two algorithms (dispersion and VTI)",
      "topics": [
        "compare_algorithms"
      ]
    },
    {
      "page": "conditional_transform",
      "title": "conditional_transform",
      "topics": [
        "conditional_transform"
      ]
    },
    {
      "page": "create_AOI_df",
      "title": "Create a blank data frame for populating with AOIs",
      "topics": [
        "create_AOI_df"
      ]
    },
    {
      "page": "dist_to_visual_angle",
      "title": "Compute visual angle from distance metrics",
      "topics": [
        "dist_to_visual_angle"
      ]
    },
    {
      "page": "fixation_dispersion",
      "title": "Fixation detection using a dispersion method",
      "topics": [
        "fixation_dispersion"
      ]
    },
    {
      "page": "fixation_VTI",
      "title": "Fixation detection using a velocity threshold identification method",
      "topics": [
        "fixation_VTI"
      ]
    },
    {
      "page": "HCL",
      "title": "Example dataset from that contains binocular eye data from two participants from a simple contingency learning task (the data are from Beesley, Nguyen, Pearson, & Le Pelley, 2015). In this task there are two stimuli that appear simultaneously on each trial (to the left and right of the screen). Participants look at these cues and then make a decision by selecting an \"outcome response\" button.",
      "topics": [
        "HCL"
      ]
    },
    {
      "page": "HCL_AOIs",
      "title": "Example AOIs for use with HCL",
      "topics": [
        "HCL_AOIs"
      ]
    },
    {
      "page": "HCL_behavioural",
      "title": "Example dataset of behavioural data to complement dataset HCL.",
      "topics": [
        "HCL_behavioural"
      ]
    },
    {
      "page": "hdf5_get_event",
      "title": "Get messgaes stored in TOBII-generated HDF5 files",
      "topics": [
        "hdf5_get_event"
      ]
    },
    {
      "page": "hdf5_to_df",
      "title": "Convert TOBII-generated HDF5 files to dataframe",
      "topics": [
        "hdf5_to_df"
      ]
    },
    {
      "page": "interpolate",
      "title": "Interpolation of missing data (NAs)",
      "topics": [
        "interpolate"
      ]
    },
    {
      "page": "plot_AOI_growth",
      "title": "Plots absolute or proportional time spent in AOIs over time",
      "topics": [
        "plot_AOI_growth"
      ]
    },
    {
      "page": "plot_heatmap",
      "title": "Plot heatmap of raw data",
      "topics": [
        "plot_heatmap"
      ]
    },
    {
      "page": "plot_seq",
      "title": "Plot of raw data over time",
      "topics": [
        "plot_seq"
      ]
    },
    {
      "page": "plot_spatial",
      "title": "Plot raw data and fixations",
      "topics": [
        "plot_spatial"
      ]
    },
    {
      "page": "saccade_VTI",
      "title": "Velocity threshold identification of saccades",
      "topics": [
        "saccade_VTI"
      ]
    },
    {
      "page": "smoother",
      "title": "Smoothing of raw data",
      "topics": [
        "smoother"
      ]
    }
  ],
  "_readme": "https://github.com/tombeesley/eyetools/raw/HEAD/README.md",
  "_rundeps": [
    "abind",
    "base64enc",
    "bit",
    "bit64",
    "cli",
    "cpp11",
    "curl",
    "farver",
    "ggforce",
    "ggplot2",
    "ggrepel",
    "glue",
    "gridExtra",
    "gtable",
    "hdf5r",
    "isoband",
    "jsonlite",
    "labeling",
    "lattice",
    "lifecycle",
    "magick",
    "magrittr",
    "MASS",
    "pbapply",
    "png",
    "polyclip",
    "R6",
    "RColorBrewer",
    "Rcpp",
    "rlang",
    "S7",
    "scales",
    "systemfonts",
    "tidyselect",
    "tweenr",
    "vctrs",
    "viridis",
    "viridisLite",
    "withr",
    "zoo"
  ],
  "_vignettes": [
    {
      "source": "eyetools.Rmd",
      "filename": "eyetools.html",
      "title": "An introduction to eyetools",
      "author": "Matthew Ivory, Tom Beesley",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Data Manipulation and Preprocessing",
        "Converting binocular data to monocular data",
        "Fixing missing data and repairing data",
        "Counterbalancing positions",
        "Fixation Detection",
        "Dispersion Algorithm",
        "VTI Algorithm",
        "Saccades",
        "Comparing the algorithms",
        "Areas of Interest",
        "Plotting Functions"
      ],
      "created": "2024-09-26 10:00:12",
      "modified": "2025-06-18 11:41:51",
      "commits": 10
    }
  ],
  "_score": 5.975431808509263,
  "_indexed": true,
  "_nocasepkg": "eyetools",
  "_universes": [
    "tombeesley"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.9.3",
      "date": "2026-05-27T06:57:16.000Z",
      "distro": "noble",
      "commit": "10d7c17f05e769008e1ccd112007d4da0bdf5dd5",
      "fileid": "154992ba7ce4b6f0f3db60414b9fc40aa06a1075ef9b9dfc708cd512d2b8ccf7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tombeesley/actions/runs/26495645034"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.9.3",
      "date": "2026-05-27T06:57:06.000Z",
      "distro": "noble",
      "commit": "10d7c17f05e769008e1ccd112007d4da0bdf5dd5",
      "fileid": "45c6a9e35f5770b625e14593a51e6ae0f733fc665cefb46960a029496bb2ccfc",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tombeesley/actions/runs/26495645034"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.9.3",
      "date": "2026-05-27T07:00:07.000Z",
      "commit": "10d7c17f05e769008e1ccd112007d4da0bdf5dd5",
      "fileid": "eff0fd480ac449afe0297015ccbd53637f5a8a2cc56ca428392418ef962c8d99",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tombeesley/actions/runs/26495645034"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.9.3",
      "date": "2026-05-27T06:56:59.000Z",
      "commit": "10d7c17f05e769008e1ccd112007d4da0bdf5dd5",
      "fileid": "b05bb414e78f9ed0b4cd76c097b02430cb912d10b0d9a38520b9180a55bdeef5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tombeesley/actions/runs/26495645034"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.9.3",
      "date": "2026-05-27T06:57:01.000Z",
      "commit": "10d7c17f05e769008e1ccd112007d4da0bdf5dd5",
      "fileid": "6d692bdda9ab43b8aead189c700e23b526367feeb11f9ea8da47dccc439563b1",
      "status": "success",
      "buildurl": "https://github.com/r-universe/tombeesley/actions/runs/26495645034"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.9.3",
      "date": "2026-05-27T06:55:57.000Z",
      "commit": "10d7c17f05e769008e1ccd112007d4da0bdf5dd5",
      "fileid": "6c0c837767eb93e82af2b4f3af18172e09748f2037568ef48fd260233f7d2db6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tombeesley/actions/runs/26495645034"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.9.3",
      "date": "2026-05-27T06:55:45.000Z",
      "commit": "10d7c17f05e769008e1ccd112007d4da0bdf5dd5",
      "fileid": "85c996f9c17b9ac621dc8f1175eefacc8c6c9c486f34d0259a3d71c0b22f17e3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tombeesley/actions/runs/26495645034"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.9.3",
      "date": "2026-05-27T06:55:55.000Z",
      "commit": "10d7c17f05e769008e1ccd112007d4da0bdf5dd5",
      "fileid": "fb1afbf2834b9b3cfefbd885c55b1cf38cad8790f1b418e8e9d0a41ef3925497",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/tombeesley/actions/runs/26495645034"
    }
  ]
}