{
  "_id": "6a5169329b92047c28d50761",
  "Package": "animl",
  "Title": "A Collection of ML Tools for Species Detection and\nClassification in Camera Trap Images and Videos",
  "Version": "3.3.1",
  "Authors@R": "c(person(given=\"Kyra\", family=\"Swanson\",email=\"tswanson@sdzwa.org\", role = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0000-0002-1496-3217\")), person(given=\"Mathias\",family=\"Tobler\",role = \"aut\"))",
  "Description": "Functions required to classify subjects within camera trap\nfield data. The package can handle both images and videos. The\nauthors recommend a two-step approach using Microsoft's\n'MegaDector' model and then a second model trained on the\nclasses of interest.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "SystemRequirements": "Python (>= 3.12), animl-py",
  "Config/testthat/edition": "3",
  "Config/roxygen2/version": "8.0.0",
  "RoxygenNote": "7.3.3",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-07-10 21:47:38 UTC",
    "User": "root"
  },
  "Author": "Kyra Swanson [aut, cre] (ORCID:\n<https://orcid.org/0000-0002-1496-3217>), Mathias Tobler [aut]",
  "Maintainer": "Kyra Swanson <tswanson@sdzwa.org>",
  "Config/pak/sysreqs": "python3",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-07-10 18:10:02 UTC",
  "RemoteUrl": "https://github.com/cran/animl",
  "RemoteRef": "HEAD",
  "RemoteSha": "e0897679289d3904583fab55c420613ac4715df5",
  "_user": "cran",
  "_type": "src",
  "_file": "animl_3.3.1.tar.gz",
  "_fileid": "https://r2.ropensci.org/bb2f0af102796fd672e6d9710d86596445a64f0d89dd1dab5fc4382ed6ce6482",
  "_filesize": 207504,
  "_sha256": "bb2f0af102796fd672e6d9710d86596445a64f0d89dd1dab5fc4382ed6ce6482",
  "_expires": "2026-10-18T21:50:41.000Z",
  "_created": "2026-07-10T21:47:38.000Z",
  "_published": "2026-07-10T21:50:42.666Z",
  "_jobs": [
    {
      "job": 86471071023,
      "time": 134,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8240273169"
    },
    {
      "job": 86471071000,
      "time": 136,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8240273360"
    },
    {
      "job": 86470574804,
      "time": 190,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8240231385"
    },
    {
      "job": 86471071034,
      "time": 107,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "8240265667"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/29125644145",
  "_status": "success",
  "_upstream": "https://github.com/cran/animl",
  "_commit": {
    "id": "e0897679289d3904583fab55c420613ac4715df5",
    "author": "Kyra Swanson <tswanson@sdzwa.org>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 3.3.1\n",
    "time": 1783707002
  },
  "_maintainer": {
    "name": "Kyra Swanson",
    "email": "tswanson@sdzwa.org",
    "orcid": "0000-0002-1496-3217"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.0.0",
      "role": "Depends"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "pbapply",
      "role": "Imports"
    },
    {
      "package": "reticulate",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-06",
      "n": 1
    },
    {
      "week": "2026-25",
      "n": 1
    },
    {
      "week": "2026-28",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "3.2.0",
      "date": "2026-02-04"
    },
    {
      "name": "3.3.0",
      "date": "2026-06-16"
    },
    {
      "name": "3.3.1",
      "date": "2026-07-10"
    }
  ],
  "_stars": 0,
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "followers": 617,
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 490,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/animl"
  },
  "_searchresults": 9,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/animl.html",
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE",
    "manual.pdf"
  ],
  "_realowner": "cran",
  "_cranurl": false,
  "_releases": [
    {
      "version": "1.0.0",
      "date": "2022-03-23"
    },
    {
      "version": "1.1.0",
      "date": "2023-05-13"
    },
    {
      "version": "2.0.0",
      "date": "2025-02-11"
    },
    {
      "version": "3.2.0",
      "date": "2026-02-04"
    },
    {
      "version": "3.3.0",
      "date": "2026-06-16"
    },
    {
      "version": "3.3.1",
      "date": "2026-07-10"
    }
  ],
  "_exports": [
    "active_times",
    "animl_install",
    "animl_install_instructions",
    "build_file_manifest",
    "check_animl_py",
    "check_python",
    "classify",
    "compute_batched_distance_matrix",
    "compute_distance_matrix",
    "cosine_distance",
    "create_pyenv",
    "delete_pyenv",
    "detect",
    "download_model",
    "euclidean_squared_distance",
    "export_camptrapdp",
    "export_camtrapR",
    "export_coco",
    "export_folders",
    "export_megadetector",
    "export_timelapse",
    "export_train_val_test",
    "export_yolo",
    "extract_frames",
    "extract_miew_embeddings",
    "get_animals",
    "get_empty",
    "get_frame_as_image",
    "list_models",
    "load_animl",
    "load_class_list",
    "load_classifier",
    "load_data",
    "load_detector",
    "load_json",
    "load_miew",
    "load_yaml",
    "parse_detections",
    "plot_all_bounding_boxes",
    "plot_box",
    "remove_diagonal",
    "remove_link",
    "save_classifier",
    "save_json",
    "save_yaml",
    "sequence_calculation",
    "sequence_classification",
    "single_classification",
    "test_classifier",
    "train_classifier",
    "update_animl_py",
    "update_labels_from_folders",
    "WorkingDirectory"
  ],
  "_help": [
    {
      "page": "active_times",
      "title": "Get start and stop dates for each camera folder.",
      "topics": [
        "active_times"
      ]
    },
    {
      "page": "animl_install",
      "title": "Load animl-py if available",
      "topics": [
        "animl_install"
      ]
    },
    {
      "page": "animl_install_instructions",
      "title": "Installation Instructions for animl-r Python dependencies",
      "topics": [
        "animl_install_instructions"
      ]
    },
    {
      "page": "build_file_manifest",
      "title": "File Management Module",
      "topics": [
        "build_file_manifest"
      ]
    },
    {
      "page": "check_animl_py",
      "title": "Check if animl-py can connect to exiftool and CUDA",
      "topics": [
        "check_animl_py"
      ]
    },
    {
      "page": "check_file",
      "title": "Check for files existence and prompt user if they want to load",
      "topics": [
        "check_file"
      ]
    },
    {
      "page": "check_python",
      "title": "Check that the python version is compatible with the current version of animl-py",
      "topics": [
        "check_python"
      ]
    },
    {
      "page": "classify",
      "title": "Infer Species for Given Detections",
      "topics": [
        "classify"
      ]
    },
    {
      "page": "compute_batched_distance_matrix",
      "title": "Computes the distance matrix in a batched manner to save memory.",
      "topics": [
        "compute_batched_distance_matrix"
      ]
    },
    {
      "page": "compute_distance_matrix",
      "title": "A wrapper function for computing distance matrix.",
      "topics": [
        "compute_distance_matrix"
      ]
    },
    {
      "page": "cosine_distance",
      "title": "Computes cosine distance of two sets of matrices",
      "topics": [
        "cosine_distance"
      ]
    },
    {
      "page": "create_pyenv",
      "title": "Install python if necessary and create the environment animl_env",
      "topics": [
        "create_pyenv"
      ]
    },
    {
      "page": "delete_pyenv",
      "title": "Delete the animl_env environment",
      "topics": [
        "delete_pyenv"
      ]
    },
    {
      "page": "detect",
      "title": "Apply MegaDetector to a Given Batch of Images",
      "topics": [
        "detect"
      ]
    },
    {
      "page": "download_model",
      "title": "Download specified model to the given directory.",
      "topics": [
        "download_model"
      ]
    },
    {
      "page": "euclidean_squared_distance",
      "title": "Computes euclidean squared distance of two sets of matrices",
      "topics": [
        "euclidean_squared_distance"
      ]
    },
    {
      "page": "export_camptrapdp",
      "title": "Export a manifest to camtrapdp format",
      "topics": [
        "export_camptrapdp"
      ]
    },
    {
      "page": "export_camtrapR",
      "title": "Export data into sorted folders organized by station",
      "topics": [
        "export_camtrapR"
      ]
    },
    {
      "page": "export_coco",
      "title": "Converts the .csv file to a COCO-formatted .json file.",
      "topics": [
        "export_coco"
      ]
    },
    {
      "page": "export_folders",
      "title": "Create SymLink Directories and Sort Classified Images",
      "topics": [
        "export_folders"
      ]
    },
    {
      "page": "export_megadetector",
      "title": "Converts the .csv file to the MD-formatted .json file.",
      "topics": [
        "export_megadetector"
      ]
    },
    {
      "page": "export_timelapse",
      "title": "Converts the Manifests to a csv file that contains columns needed for TimeLapse conversion in later step",
      "topics": [
        "export_timelapse"
      ]
    },
    {
      "page": "export_train_val_test",
      "title": "Splits the manifest into training validation and test datasets for training",
      "topics": [
        "export_train_val_test"
      ]
    },
    {
      "page": "export_yolo",
      "title": "Export a manifest to YOLO format for model training",
      "topics": [
        "export_yolo"
      ]
    },
    {
      "page": "extract_frames",
      "title": "Extract frames from video for classification",
      "topics": [
        "extract_frames"
      ]
    },
    {
      "page": "extract_major_minor",
      "title": "Compare to Animl-Py version, ignoring patch number",
      "topics": [
        "extract_major_minor"
      ]
    },
    {
      "page": "extract_miew_embeddings",
      "title": "Extract Embeddings from MiewID",
      "topics": [
        "extract_miew_embeddings"
      ]
    },
    {
      "page": "get_animals",
      "title": "Return a dataframe of only MD animals",
      "topics": [
        "get_animals"
      ]
    },
    {
      "page": "get_empty",
      "title": "Return MD empty, vehicle and human images in a dataframe",
      "topics": [
        "get_empty"
      ]
    },
    {
      "page": "get_frame_as_image",
      "title": "Given a video path, return a specific frame as an RGB image",
      "topics": [
        "get_frame_as_image"
      ]
    },
    {
      "page": "list_models",
      "title": "List available models for download.",
      "topics": [
        "list_models"
      ]
    },
    {
      "page": "load_animl",
      "title": "Load animl-py if available",
      "topics": [
        "load_animl"
      ]
    },
    {
      "page": "load_class_list",
      "title": "Load class list .csv file",
      "topics": [
        "load_class_list"
      ]
    },
    {
      "page": "load_classifier",
      "title": "Load a Classifier Model and Class_list",
      "topics": [
        "load_classifier"
      ]
    },
    {
      "page": "load_data",
      "title": "Load .csv or .Rdata file",
      "topics": [
        "load_data"
      ]
    },
    {
      "page": "load_detector",
      "title": "Load an Object Detector",
      "topics": [
        "load_detector"
      ]
    },
    {
      "page": "load_json",
      "title": "Load data from a JSON file.",
      "topics": [
        "load_json"
      ]
    },
    {
      "page": "load_miew",
      "title": "Load MiewID model",
      "topics": [
        "load_miew"
      ]
    },
    {
      "page": "load_yaml",
      "title": "Load data from a YAML file.",
      "topics": [
        "load_yaml"
      ]
    },
    {
      "page": "parse_detections",
      "title": "Parse MD results into a simple dataframe",
      "topics": [
        "parse_detections"
      ]
    },
    {
      "page": "plot_all_bounding_boxes",
      "title": "Plot all bounding boxes in a manifest",
      "topics": [
        "plot_all_bounding_boxes"
      ]
    },
    {
      "page": "plot_box",
      "title": "Plot bounding boxes on image from md results",
      "topics": [
        "plot_box"
      ]
    },
    {
      "page": "remove_diagonal",
      "title": "Removes the diagonal elements from a square matrix.",
      "topics": [
        "remove_diagonal"
      ]
    },
    {
      "page": "remove_link",
      "title": "Remove Sorted Links",
      "topics": [
        "remove_link"
      ]
    },
    {
      "page": "save_classifier",
      "title": "Save model state weights",
      "topics": [
        "save_classifier"
      ]
    },
    {
      "page": "save_data",
      "title": "Save Data to Given File",
      "topics": [
        "save_data"
      ]
    },
    {
      "page": "save_json",
      "title": "Save data to a JSON file.",
      "topics": [
        "save_json"
      ]
    },
    {
      "page": "save_yaml",
      "title": "Save data to a YAML file",
      "topics": [
        "save_yaml"
      ]
    },
    {
      "page": "sequence_calculation",
      "title": "Calculate sequence from timestamps",
      "topics": [
        "sequence_calculation"
      ]
    },
    {
      "page": "sequence_classification",
      "title": "Leverage sequences to classify images",
      "topics": [
        "sequence_classification"
      ]
    },
    {
      "page": "single_classification",
      "title": "Get Maximum likelihood label for each Detection",
      "topics": [
        "single_classification"
      ]
    },
    {
      "page": "test_classifier",
      "title": "Test a model with a Config file",
      "topics": [
        "test_classifier"
      ]
    },
    {
      "page": "train_classifier",
      "title": "Model Training",
      "topics": [
        "train_classifier"
      ]
    },
    {
      "page": "update_animl_py",
      "title": "Update animl-py version for the given environment",
      "topics": [
        "update_animl_py"
      ]
    },
    {
      "page": "update_labels_from_folders",
      "title": "Udate Results from File Browser",
      "topics": [
        "update_labels_from_folders"
      ]
    },
    {
      "page": "WorkingDirectory",
      "title": "Set Working Directory and Save File Global Variables",
      "topics": [
        "WorkingDirectory"
      ]
    }
  ],
  "_readme": "https://github.com/cran/animl/raw/HEAD/README.md",
  "_rundeps": [
    "here",
    "jsonlite",
    "lattice",
    "Matrix",
    "pbapply",
    "png",
    "rappdirs",
    "Rcpp",
    "RcppTOML",
    "reticulate",
    "rlang",
    "rprojroot",
    "withr"
  ],
  "_score": 2.1760912590556813,
  "_indexed": true,
  "_nocasepkg": "animl",
  "_universes": [
    "cran"
  ],
  "_previous": "3.3.0",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "3.3.1",
      "date": "2026-07-10T21:49:43.000Z",
      "distro": "resolute",
      "commit": "e0897679289d3904583fab55c420613ac4715df5",
      "fileid": "https://r2.ropensci.org/a049f5865780881fcb4266cf8b6d82fe8608962ac7248e822b2bbe308b742c88",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/29125644145"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "3.3.1",
      "date": "2026-07-10T21:49:43.000Z",
      "distro": "resolute",
      "commit": "e0897679289d3904583fab55c420613ac4715df5",
      "fileid": "https://r2.ropensci.org/ddcf7bcaa80579ec93e8534df915fd5d405e4aa29370f2c8829da7de72b25c7c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/29125644145"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "3.3.1",
      "date": "2026-07-10T21:49:47.000Z",
      "commit": "e0897679289d3904583fab55c420613ac4715df5",
      "fileid": "https://r2.ropensci.org/f8b5f24451721a6e6eb21caa588adddbdfdbc81f599fa42ac63e0e222e00b8f1",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/29125644145"
    }
  ]
}