{
  "_id": "6a15436cacfb0bcc41d568fa",
  "Package": "tReeTraits",
  "Type": "Package",
  "Title": "Calculate Tree Traits from Terrestrial Lidar",
  "Version": "0.1.2",
  "Authors@R": "c(person(given = c(\"Jeffery\", \"B.\"),family = \"Cannon\", \nrole = c(\"aut\", \"cre\"), email = \"jeffery.cannon@jonesctr.org\"))",
  "Description": "Measuring tree architecture from terrestrial lidar data,\nincluding tree-level properties, crown characteristics, and\nstructural attributes derived from quantitative structure\nmodels (QSMs).",
  "License": "GPL-3",
  "Encoding": "UTF-8",
  "RoxygenNote": "7.3.3",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-26 06:47:10 UTC",
    "User": "root"
  },
  "Author": "Jeffery B. Cannon [aut, cre]",
  "Maintainer": "Jeffery B. Cannon <jeffery.cannon@jonesctr.org>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-02-25 19:31:03 UTC",
  "RemoteUrl": "https://github.com/cran/tReeTraits",
  "RemoteRef": "HEAD",
  "RemoteSha": "8a8c666cfae9aa3595ff3a9b36f7bbff6b7920f6",
  "MD5sum": "aecabbdf3003c197d235ad78cf7b12ad",
  "_user": "cran",
  "_type": "src",
  "_file": "tReeTraits_0.1.2.tar.gz",
  "_fileid": "10bd7cce838413307112b3a8ea7d468cada0e346e1d4b9955e38d97de19f7f91",
  "_filesize": 2810719,
  "_sha256": "10bd7cce838413307112b3a8ea7d468cada0e346e1d4b9955e38d97de19f7f91",
  "_created": "2026-05-26T06:47:10.000Z",
  "_published": "2026-05-26T06:53:32.019Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77821781916,
      "time": 324,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7210648654"
    },
    {
      "job": 77821781891,
      "time": 328,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7210649560"
    },
    {
      "job": 77821275397,
      "time": 245,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7210567998"
    },
    {
      "job": 77821781885,
      "time": 217,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7210621975"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/26436641561",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/cran/tReeTraits",
  "_commit": {
    "id": "8a8c666cfae9aa3595ff3a9b36f7bbff6b7920f6",
    "author": "Jeffery B. Cannon <jeffery.cannon@jonesctr.org>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 0.1.2\n",
    "time": 1772047863
  },
  "_maintainer": {
    "name": "Jeffery B. Cannon",
    "email": "jeffery.cannon@jonesctr.org"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "data.table",
      "role": "Imports"
    },
    {
      "package": "lidR",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "ggpubr",
      "role": "Imports"
    },
    {
      "package": "recexcavAAR",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "sf",
      "role": "Imports"
    },
    {
      "package": "spanner",
      "role": "Imports"
    },
    {
      "package": "terra",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "reticulate",
      "role": "Imports"
    },
    {
      "package": "CrownScorchTLS",
      "role": "Imports"
    },
    {
      "package": "FNN",
      "role": "Imports"
    },
    {
      "package": "alphashape3d",
      "role": "Imports"
    },
    {
      "package": "ggplotify",
      "role": "Imports"
    },
    {
      "package": "rgl",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "stringr",
      "role": "Imports"
    },
    {
      "package": "readr",
      "role": "Imports"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-09",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "0.1.2",
      "date": "2026-02-25"
    }
  ],
  "_stars": 0,
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 182,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/tReeTraits"
  },
  "_searchresults": 1,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/readme.html",
    "extra/readme.md",
    "extra/tReeTraits.html",
    "manual.pdf"
  ],
  "_realowner": "cran",
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.1.2",
      "date": "2026-02-25"
    }
  ],
  "_exports": [
    "add_verticality",
    "basics_diagnostic_plot",
    "branch_distribution_plot",
    "branch_size_distribution",
    "branch_volume_weighted_stats",
    "clean_las",
    "convex_hull_2D",
    "fit_taper_Kozak",
    "full_diagnostic_plot",
    "get_center_of_mass",
    "get_com_offset",
    "get_crown_base",
    "get_crown_lever_arm",
    "get_crown_volume_alpha",
    "get_crown_volume_voxel",
    "get_dbh",
    "get_height",
    "get_lacunarity",
    "get_primary_branches",
    "get_stem_tilt",
    "get_width",
    "hull_diagnostic_plot",
    "internode_distances",
    "load_qsm",
    "normalize_las",
    "plot_qsm2d",
    "plot_qsm3d",
    "plot_tree",
    "qsm_volume_distribution",
    "recenter_las",
    "rotate_las_z",
    "run_treeqsm",
    "segment_crown",
    "setup_pytlidar",
    "taper_diagnostic_plot",
    "voxel_hull_2D",
    "write_qsm"
  ],
  "_help": [
    {
      "page": "dot-read_qsm_raw",
      "title": "Read a PyTLidar QSM file",
      "topics": [
        ".read_qsm_raw"
      ]
    },
    {
      "page": "add_verticality",
      "title": "Add point-wise verticality from local PCA",
      "topics": [
        "add_verticality"
      ]
    },
    {
      "page": "basics_diagnostic_plot",
      "title": "Diagnostic Plot of Basic Tree Measurements",
      "topics": [
        "basics_diagnostic_plot"
      ]
    },
    {
      "page": "branch_distribution_plot",
      "title": "Diagnostic Plot of Branch Diameter Distribution",
      "topics": [
        "branch_distribution_plot"
      ]
    },
    {
      "page": "branch_size_distribution",
      "title": "Get Branch size distribution from a QSM",
      "topics": [
        "branch_size_distribution"
      ]
    },
    {
      "page": "branch_volume_weighted_stats",
      "title": "Calculate volume weighted branch statistics",
      "topics": [
        "branch_volume_weighted_stats"
      ]
    },
    {
      "page": "clean_las",
      "title": "Load, Recenter, and Remove low vegetation from `LAS` object representing segmented tree",
      "topics": [
        "clean_las"
      ]
    },
    {
      "page": "convex_hull_2D",
      "title": "Returns the convex hull representing vertical crown area",
      "topics": [
        "convex_hull_2D"
      ]
    },
    {
      "page": "fit_taper_Kozak",
      "title": "Fit taper equation to QSM",
      "topics": [
        "fit_taper_Kozak"
      ]
    },
    {
      "page": "full_diagnostic_plot",
      "title": "Generate a diagnostic plot to assess basic metrics and QSM output",
      "topics": [
        "full_diagnostic_plot"
      ]
    },
    {
      "page": "get_area_profile",
      "title": "Generate area estimates of tree profile in segments",
      "topics": [
        "get_area_profile"
      ]
    },
    {
      "page": "get_center_of_mass",
      "title": "Get center of mass from tree bole segments QSM (X, Y, Z)",
      "topics": [
        "get_center_of_mass"
      ]
    },
    {
      "page": "get_com_offset",
      "title": "Horizontal offset of center of mass from QSM",
      "topics": [
        "get_com_offset"
      ]
    },
    {
      "page": "get_crown_base",
      "title": "Estimate Crown base height of `LAS` representing segmented tree.",
      "topics": [
        "get_crown_base"
      ]
    },
    {
      "page": "get_crown_lever_arm",
      "title": "Calculate crown leverage from point cloud",
      "topics": [
        "get_crown_lever_arm"
      ]
    },
    {
      "page": "get_crown_volume_alpha",
      "title": "Estimate crown volume by alpha shape volume",
      "topics": [
        "get_crown_volume_alpha"
      ]
    },
    {
      "page": "get_crown_volume_voxel",
      "title": "Estimate crown volume by voxelization",
      "topics": [
        "get_crown_volume_voxel"
      ]
    },
    {
      "page": "get_dbh",
      "title": "Extract diameter at breast height from `LAS` object representing segmented tree.",
      "topics": [
        "get_dbh"
      ]
    },
    {
      "page": "get_height",
      "title": "Extract height from `LAS` object representing segmented tree.",
      "topics": [
        "get_height"
      ]
    },
    {
      "page": "get_lacunarity",
      "title": "Calculate crown lacunarity from a tree crown",
      "topics": [
        "get_lacunarity"
      ]
    },
    {
      "page": "get_primary_branches",
      "title": "Extract primary branches from a QSM",
      "topics": [
        "get_primary_branches"
      ]
    },
    {
      "page": "get_stem_sweep",
      "title": "Calculate tree sweep from straight line from QMS",
      "topics": [
        "get_stem_sweep"
      ]
    },
    {
      "page": "get_stem_tilt",
      "title": "Get tree tilt from QSM",
      "topics": [
        "get_stem_tilt"
      ]
    },
    {
      "page": "get_width",
      "title": "Extract width from `LAS` object representing segmented tree.",
      "topics": [
        "get_width"
      ]
    },
    {
      "page": "hull_diagnostic_plot",
      "title": "Diagnostic Plot of Crown Convex Hulls",
      "topics": [
        "hull_diagnostic_plot"
      ]
    },
    {
      "page": "internode_distances",
      "title": "Get internode distances between primary branches from a QSM",
      "topics": [
        "internode_distances"
      ]
    },
    {
      "page": "load_qsm",
      "title": "Load and Validate a QSM File",
      "topics": [
        "load_qsm"
      ]
    },
    {
      "page": "normalize_las",
      "title": "Normalize `LAS` object representing segmented tree.",
      "topics": [
        "normalize_las"
      ]
    },
    {
      "page": "plot_qsm2d",
      "title": "Plot QSM in base R",
      "topics": [
        "plot_qsm2d"
      ]
    },
    {
      "page": "plot_qsm3d",
      "title": "Plot QSM Cylinders in 3D",
      "topics": [
        "plot_qsm3d"
      ]
    },
    {
      "page": "plot_tree",
      "title": "Make 3-panel plot of tree point cloud to check for errors",
      "topics": [
        "plot_tree"
      ]
    },
    {
      "page": "qsm_volume_distribution",
      "title": "Volume distribution from QSM",
      "topics": [
        "qsm_volume_distribution"
      ]
    },
    {
      "page": "recenter_las",
      "title": "Recenter `LAS` object representing segmented tree based on the bole location",
      "topics": [
        "recenter_las"
      ]
    },
    {
      "page": "rotate_las_z",
      "title": "Rotate `LAS` object about the `Z` axis",
      "topics": [
        "rotate_las_z"
      ]
    },
    {
      "page": "run_treeqsm",
      "title": "Run TreeQSM on a LAS/LAZ file using PyTLidar",
      "topics": [
        "run_treeqsm"
      ]
    },
    {
      "page": "segment_crown",
      "title": "Segment tree crown of `LAS` representing segmented tree.",
      "topics": [
        "segment_crown"
      ]
    },
    {
      "page": "setup_pytlidar",
      "title": "Setup PyTLidar Python environment",
      "topics": [
        "setup_pytlidar"
      ]
    },
    {
      "page": "taper_diagnostic_plot",
      "title": "Diagnostic Plot of Tree Taper",
      "topics": [
        "taper_diagnostic_plot"
      ]
    },
    {
      "page": "voxel_hull_2D",
      "title": "Returns an `sf`representing the vertical crown area from voxelization",
      "topics": [
        "voxel_hull_2D"
      ]
    },
    {
      "page": "write_qsm",
      "title": "Save QSM results and patch parameters",
      "topics": [
        "write_qsm"
      ]
    }
  ],
  "_readme": "https://github.com/cran/tReeTraits/raw/HEAD/README.md",
  "_rundeps": [
    "abind",
    "alphashape3d",
    "backports",
    "base64enc",
    "BH",
    "bit",
    "bit64",
    "boot",
    "broom",
    "bslib",
    "cachem",
    "car",
    "carData",
    "class",
    "classInt",
    "cli",
    "clipr",
    "colorspace",
    "conicfit",
    "corrplot",
    "cowplot",
    "cpp11",
    "cppRouting",
    "crayon",
    "CrownScorchTLS",
    "data.table",
    "DBI",
    "Deriv",
    "digest",
    "doBy",
    "dplyr",
    "e1071",
    "evaluate",
    "farver",
    "fastmap",
    "FNN",
    "fontawesome",
    "forecast",
    "Formula",
    "fracdiff",
    "fs",
    "geigen",
    "generics",
    "geometries",
    "geometry",
    "ggplot2",
    "ggplotify",
    "ggpubr",
    "ggrepel",
    "ggsci",
    "ggsignif",
    "glue",
    "gridExtra",
    "gridGraphics",
    "gtable",
    "here",
    "highr",
    "hms",
    "htmltools",
    "htmlwidgets",
    "isoband",
    "jquerylib",
    "jsonlite",
    "KernSmooth",
    "knitr",
    "kriging",
    "labeling",
    "lattice",
    "lazyeval",
    "lidR",
    "lifecycle",
    "linprog",
    "lme4",
    "lmtest",
    "lpSolve",
    "magic",
    "magrittr",
    "MASS",
    "mathjaxr",
    "Matrix",
    "MatrixModels",
    "memoise",
    "mgcv",
    "microbenchmark",
    "mime",
    "minqa",
    "modelr",
    "nlme",
    "nloptr",
    "nnet",
    "numDeriv",
    "parallelly",
    "pbkrtest",
    "pillar",
    "pkgconfig",
    "png",
    "polynom",
    "pracma",
    "prettyunits",
    "progress",
    "proxy",
    "purrr",
    "quantreg",
    "R6",
    "randomForest",
    "RANN",
    "rappdirs",
    "rbibutils",
    "RColorBrewer",
    "Rcpp",
    "RcppArmadillo",
    "RcppEigen",
    "RcppParallel",
    "RcppProgress",
    "RcppTOML",
    "Rdpack",
    "readr",
    "recexcavAAR",
    "reformulas",
    "reticulate",
    "Rfast",
    "rgl",
    "rlang",
    "rlas",
    "rmarkdown",
    "rprojroot",
    "rstatix",
    "s2",
    "S7",
    "sass",
    "scales",
    "sf",
    "sfheaders",
    "spanner",
    "SparseM",
    "stars",
    "stringi",
    "stringr",
    "survival",
    "terra",
    "tibble",
    "tidyr",
    "tidyselect",
    "timeDate",
    "tinytex",
    "tzdb",
    "units",
    "urca",
    "utf8",
    "vctrs",
    "viridisLite",
    "vroom",
    "withr",
    "wk",
    "xfun",
    "yaml",
    "yulab.utils",
    "zigg",
    "zoo"
  ],
  "_score": 1.6989700043360187,
  "_indexed": true,
  "_nocasepkg": "treetraits",
  "_universes": [
    "cran"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-05-26T06:50:23.000Z",
      "distro": "noble",
      "commit": "8a8c666cfae9aa3595ff3a9b36f7bbff6b7920f6",
      "fileid": "457949d8139b1a83f88315e3349802cfe0430794a61042ec538426e01b5e1709",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/26436641561"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-05-26T06:50:24.000Z",
      "distro": "noble",
      "commit": "8a8c666cfae9aa3595ff3a9b36f7bbff6b7920f6",
      "fileid": "e5b1e7a6a2b38dfb1193bc04c3cfb1f6e46644c5786b911a233e76d4247e44f7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/26436641561"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.2",
      "date": "2026-05-26T06:51:21.000Z",
      "commit": "8a8c666cfae9aa3595ff3a9b36f7bbff6b7920f6",
      "fileid": "1404ee8f5849f89d376db54ea0c65c37425360bd101decfd3fc837531d3a6661",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/26436641561"
    }
  ]
}