{
  "_id": "6a104dffacfb0bcc41ca088f",
  "Package": "geodl",
  "Type": "Package",
  "Title": "Geospatial Semantic Segmentation with Torch and Terra",
  "Version": "0.3.0",
  "Date": "2025-11-08",
  "Authors@R": "c(\nperson(family=\"Maxwell\", given=\"Aaron\", email=\"Aaron.Maxwell@mail.wvu.edu\", role=c(\"aut\", \"cre\", \"cph\")),\nperson(family=\"Farhadpour\", given=\"Sarah\", email=\"sf00039@mix.wvu.edu\", role=c(\"aut\")),\nperson(family=\"Das\", given=\"Srinjoy\", email=\"srinjoy.das@mail.wvu.edu\", role=c(\"aut\")),\nperson(family=\"Yang\", given=\"Yalin\", email=\"yalin.yang@mail.wvu.edu\", role=c(\"aut\")))",
  "Maintainer": "Aaron Maxwell <Aaron.Maxwell@mail.wvu.edu>",
  "Description": "Provides tools for semantic segmentation of geospatial\ndata using convolutional neural network-based deep learning.\nUtility functions allow for creating masks, image chips, data\nframes listing image chips in a directory, and DataSets for use\nwithin DataLoaders. Additional functions are provided to serve\nas checks during the data preparation and training process. A\nUNet architecture can be defined with 4 blocks in the encoder,\na bottleneck block, and 4 blocks in the decoder. The UNet can\naccept a variable number of input channels, and the user can\ndefine the number of feature maps produced in each encoder and\ndecoder block and the bottleneck. Users can also choose to (1)\nreplace all rectified linear unit (ReLU) activation functions\nwith leaky ReLU or swish, (2) implement attention gates along\nthe skip connections, (3) implement squeeze and excitation\nmodules within the encoder blocks, (4) add residual connections\nwithin all blocks, (5) replace the bottleneck with a modified\natrous spatial pyramid pooling (ASPP) module, and/or (6)\nimplement deep supervision using predictions generated at each\nstage in the decoder. A unified focal loss framework is\nimplemented after Yeung et al. (2022)\n<doi:10.1016/j.compmedimag.2021.102026>. We have also\nimplemented assessment metrics using the 'luz' package\nincluding F1-score, recall, and precision. Trained models can\nbe used to predict to spatial data without the need to generate\nchips from larger spatial extents. Functions are available for\nperforming accuracy assessment. The package relies on 'torch'\nfor implementing deep learning, which does not require the\ninstallation of a 'Python' environment. Raster geospatial data\nare handled with 'terra'. Models can be trained using a Compute\nUnified Device Architecture (CUDA)-enabled graphics processing\nunit (GPU); however, multi-GPU training is not supported by\n'torch' in 'R'.",
  "License": "GPL (>= 3)",
  "URL": "https://github.com/maxwell-geospatial/geodl,\nhttps://journals.plos.org/plosone/article?id=10.1371/journal.pone.0315127,\nhttps://wvview.org/gslr/index.html",
  "BugReports": "https://github.com/maxwell-geospatial/geodl/issues",
  "NeedsCompilation": "no",
  "Encoding": "UTF-8",
  "RoxygenNote": "7.3.3",
  "Roxygen": "list(markdown = TRUE)",
  "VignetteBuilder": "knitr",
  "Config/pak/sysreqs": "libabsl-dev cmake libfreetype6-dev libgdal-dev\ngdal-bin libgeos-dev libglu1-mesa-dev make texlive libjpeg-dev\nlibpng-dev libtiff-dev libuv1-dev libgl1-mesa-dev libssl-dev\nlibproj-dev libsqlite3-dev libudunits2-dev libx11-dev\nzlib1g-dev",
  "Repository": "https://maxwell-geospatial.r-universe.dev",
  "Date/Publication": "2025-11-10 23:32:30 UTC",
  "RemoteUrl": "https://github.com/maxwell-geospatial/geodl",
  "RemoteRef": "HEAD",
  "RemoteSha": "f81fb9b7cdc1c0dc4c3afa22fdd94c09048b1402",
  "Packaged": {
    "Date": "2026-05-10 06:46:28 UTC",
    "User": "root"
  },
  "Author": "Aaron Maxwell [aut, cre, cph],\nSarah Farhadpour [aut],\nSrinjoy Das [aut],\nYalin Yang [aut]",
  "MD5sum": "2ed0242d86028f4432e35edf38d3740a",
  "_user": "maxwell-geospatial",
  "_type": "src",
  "_file": "geodl_0.3.0.tar.gz",
  "_fileid": "325bfee691264594a7a10892670a11f6b90ec766c49e434032d52510794fb3d0",
  "_filesize": 336543,
  "_sha256": "325bfee691264594a7a10892670a11f6b90ec766c49e434032d52510794fb3d0",
  "_created": "2026-05-10T06:46:28.000Z",
  "_published": "2026-05-22T12:37:19.354Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77380484499,
      "time": 253,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "6901711640"
    },
    {
      "job": 77380484649,
      "time": 256,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6901711979"
    },
    {
      "job": 77380484240,
      "time": 433,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "6901730254"
    },
    {
      "job": 77380484356,
      "time": 506,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6901737295"
    },
    {
      "job": 77380483478,
      "time": 264,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6901684477"
    },
    {
      "job": 77380483673,
      "time": 188,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7160628132"
    },
    {
      "job": 77380484161,
      "time": 550,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "6901745571"
    },
    {
      "job": 77380484312,
      "time": 565,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "6901747429"
    },
    {
      "job": 77380484188,
      "time": 497,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6901739954"
    }
  ],
  "_buildurl": "https://github.com/r-universe/maxwell-geospatial/actions/runs/25622073365",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/maxwell-geospatial/geodl",
  "_commit": {
    "id": "f81fb9b7cdc1c0dc4c3afa22fdd94c09048b1402",
    "author": "maxwell-geospatial <Aaron.Maxwell@mail.wvu.edu>",
    "committer": "maxwell-geospatial <Aaron.Maxwell@mail.wvu.edu>",
    "message": "fixed import luz issue\n",
    "time": 1762817550
  },
  "_maintainer": {
    "name": "Aaron Maxwell",
    "email": "aaron.maxwell@mail.wvu.edu",
    "login": "maxwell-geospatial",
    "uuid": 69488584
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1",
      "role": "Depends"
    },
    {
      "package": "torch",
      "version": ">= 0.11.0",
      "role": "Imports"
    },
    {
      "package": "luz",
      "version": ">= 0.4.0",
      "role": "Imports"
    },
    {
      "package": "torchvision",
      "version": ">= 0.5.1",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "version": ">= 1.1.3",
      "role": "Imports"
    },
    {
      "package": "terra",
      "version": ">= 1.7.55",
      "role": "Imports"
    },
    {
      "package": "MultiscaleDTM",
      "version": ">= 0.8.2",
      "role": "Imports"
    },
    {
      "package": "psych",
      "version": ">= 2.3.3",
      "role": "Imports"
    },
    {
      "package": "coro",
      "version": ">= 1.0.3",
      "role": "Imports"
    },
    {
      "package": "R6",
      "version": ">= 2.5.1",
      "role": "Imports"
    },
    {
      "package": "readr",
      "version": ">= 2.1.3",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "version": ">= 1.1.1",
      "role": "Imports"
    },
    {
      "package": "sf",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    }
  ],
  "_owner": "maxwell-geospatial",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-29",
      "n": 1
    },
    {
      "week": "2025-45",
      "n": 2
    },
    {
      "week": "2025-46",
      "n": 1
    }
  ],
  "_tags": [],
  "_stars": 23,
  "_contributors": [
    {
      "user": "maxwell-geospatial",
      "count": 24,
      "uuid": 69488584
    }
  ],
  "_userbio": {
    "uuid": 69488584,
    "type": "user",
    "name": "maxwell-geospatial"
  },
  "_downloads": {
    "count": 137,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/geodl"
  },
  "_devurl": "https://github.com/maxwell-geospatial/geodl",
  "_searchresults": 2,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/geodl.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/maxwell-geospatial/geodl",
  "_realowner": "maxwell-geospatial",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.2.0",
      "date": "2024-08-20"
    },
    {
      "version": "0.3.0",
      "date": "2025-11-12"
    },
    {
      "version": "0.3.1",
      "date": "2025-12-02"
    }
  ],
  "_exports": [
    "assessDL",
    "assessPnts",
    "assessRaster",
    "callback_save_model_state_dict",
    "checkDynamicChips",
    "countParams",
    "defineDynmamicSegDataSet",
    "defineMobileUNet",
    "defineSegDataSet",
    "defineTerrainSeg",
    "defineUNet",
    "defineUNet3p",
    "defineUnifiedFocalLoss",
    "defineUnifiedFocalLossDS",
    "describeBatch",
    "describeChips",
    "luz_metric_f1score",
    "luz_metric_overall_accuracy",
    "luz_metric_precision",
    "luz_metric_recall",
    "makeAspect",
    "makeChips",
    "makeChipsDF",
    "makeChipsMultiClass",
    "makeCrv",
    "makeDynamicChipsSF",
    "makeHillshade",
    "makeMasks",
    "makeSlope",
    "makeTerrainVisTerra",
    "makeTerrainVisTorch",
    "makeTPI",
    "makeTRI",
    "predictSpatial",
    "saveDynamicChips",
    "viewBatch",
    "viewBatchPreds",
    "viewChips"
  ],
  "_help": [
    {
      "page": "assessDL",
      "title": "assessDL",
      "topics": [
        "assessDL"
      ]
    },
    {
      "page": "assessPnts",
      "title": "assessPnts",
      "topics": [
        "assessPnts"
      ]
    },
    {
      "page": "assessRaster",
      "title": "assessRaster",
      "topics": [
        "assessRaster"
      ]
    },
    {
      "page": "callback_save_model_state_dict",
      "title": "callback_save_model_state_dict",
      "topics": [
        "callback_save_model_state_dict"
      ]
    },
    {
      "page": "checkDynamicChips",
      "title": "checkDymamicChips",
      "topics": [
        "checkDynamicChips"
      ]
    },
    {
      "page": "countParams",
      "title": "countParams",
      "topics": [
        "countParams"
      ]
    },
    {
      "page": "defineDynmamicSegDataSet",
      "title": "defineDynamicSegDataSet",
      "topics": [
        "defineDynmamicSegDataSet"
      ]
    },
    {
      "page": "defineMobileUNet",
      "title": "defineMobileUNet",
      "topics": [
        "defineMobileUNet"
      ]
    },
    {
      "page": "defineSegDataSet",
      "title": "defineSegDataSet",
      "topics": [
        "defineSegDataSet"
      ]
    },
    {
      "page": "defineTerrainSeg",
      "title": "defineTerrainSeg",
      "topics": [
        "defineTerrainSeg"
      ]
    },
    {
      "page": "defineUNet",
      "title": "defineUNet",
      "topics": [
        "defineUNet"
      ]
    },
    {
      "page": "defineUNet3p",
      "title": "defineUnet3p",
      "topics": [
        "defineUNet3p"
      ]
    },
    {
      "page": "defineUnifiedFocalLoss",
      "title": "defineUnifiedFocalLoss",
      "topics": [
        "defineUnifiedFocalLoss"
      ]
    },
    {
      "page": "defineUnifiedFocalLossDS",
      "title": "defineUnifiedFocalLossDS",
      "topics": [
        "defineUnifiedFocalLossDS"
      ]
    },
    {
      "page": "describeBatch",
      "title": "describeBatch",
      "topics": [
        "describeBatch"
      ]
    },
    {
      "page": "describeChips",
      "title": "describeChips",
      "topics": [
        "describeChips"
      ]
    },
    {
      "page": "luz_metric_f1score",
      "title": "luz_metric_f1score",
      "topics": [
        "luz_metric_f1score"
      ]
    },
    {
      "page": "luz_metric_overall_accuracy",
      "title": "luz_metric_overall_accuracy",
      "topics": [
        "luz_metric_overall_accuracy"
      ]
    },
    {
      "page": "luz_metric_precision",
      "title": "luz_metric_precision",
      "topics": [
        "luz_metric_precision"
      ]
    },
    {
      "page": "luz_metric_recall",
      "title": "luz_metric_recall",
      "topics": [
        "luz_metric_recall"
      ]
    },
    {
      "page": "makeAspect",
      "title": "makeAspect",
      "topics": [
        "makeAspect"
      ]
    },
    {
      "page": "makeChips",
      "title": "makeChips",
      "topics": [
        "makeChips"
      ]
    },
    {
      "page": "makeChipsDF",
      "title": "makeChipsDF",
      "topics": [
        "makeChipsDF"
      ]
    },
    {
      "page": "makeChipsMultiClass",
      "title": "makeChipsMultiClass",
      "topics": [
        "makeChipsMultiClass"
      ]
    },
    {
      "page": "makeCrv",
      "title": "makeCrv",
      "topics": [
        "makeCrv"
      ]
    },
    {
      "page": "makeDynamicChipsSF",
      "title": "makeDynamicChipsSF",
      "topics": [
        "makeDynamicChipsSF"
      ]
    },
    {
      "page": "makeHillshade",
      "title": "makeAspect",
      "topics": [
        "makeHillshade"
      ]
    },
    {
      "page": "makeMasks",
      "title": "makeMasks",
      "topics": [
        "makeMasks"
      ]
    },
    {
      "page": "makeSlope",
      "title": "makeSlope",
      "topics": [
        "makeSlope"
      ]
    },
    {
      "page": "makeTerrainVisTerra",
      "title": "makeTerrainVisTerra",
      "topics": [
        "makeTerrainVisTerra"
      ]
    },
    {
      "page": "makeTerrainVisTorch",
      "title": "makeTerrainVisTerra",
      "topics": [
        "makeTerrainVisTorch"
      ]
    },
    {
      "page": "makeTPI",
      "title": "makeTPI",
      "topics": [
        "makeTPI"
      ]
    },
    {
      "page": "makeTRI",
      "title": "makeTRI",
      "topics": [
        "makeTRI"
      ]
    },
    {
      "page": "predictSpatial",
      "title": "predictSpatial",
      "topics": [
        "predictSpatial"
      ]
    },
    {
      "page": "saveDynamicChips",
      "title": "saveDynamicChips",
      "topics": [
        "saveDynamicChips"
      ]
    },
    {
      "page": "viewBatch",
      "title": "viewBatch",
      "topics": [
        "viewBatch"
      ]
    },
    {
      "page": "viewBatchPreds",
      "title": "viewBatchPreds",
      "topics": [
        "viewBatchPreds"
      ]
    },
    {
      "page": "viewChips",
      "title": "viewChips",
      "topics": [
        "viewChips"
      ]
    }
  ],
  "_readme": "https://github.com/maxwell-geospatial/geodl/raw/HEAD/README.md",
  "_rundeps": [
    "abind",
    "base64enc",
    "bit",
    "bit64",
    "bslib",
    "cachem",
    "callr",
    "class",
    "classInt",
    "cli",
    "clipr",
    "commonmark",
    "coro",
    "cpp11",
    "crayon",
    "DBI",
    "desc",
    "digest",
    "dplyr",
    "e1071",
    "evaluate",
    "farver",
    "fastmap",
    "fontawesome",
    "fs",
    "generics",
    "glue",
    "GPArotation",
    "highr",
    "hms",
    "htmltools",
    "htmlwidgets",
    "httpuv",
    "jpeg",
    "jquerylib",
    "jsonlite",
    "KernSmooth",
    "knitr",
    "labeling",
    "later",
    "lattice",
    "lifecycle",
    "luz",
    "magrittr",
    "MASS",
    "memoise",
    "mime",
    "mnormt",
    "MultiscaleDTM",
    "nlme",
    "otel",
    "pillar",
    "pkgconfig",
    "png",
    "prettyunits",
    "processx",
    "progress",
    "promises",
    "proxy",
    "ps",
    "psych",
    "purrr",
    "R6",
    "rappdirs",
    "raster",
    "RColorBrewer",
    "Rcpp",
    "RcppArmadillo",
    "readr",
    "rgl",
    "rlang",
    "rmarkdown",
    "s2",
    "safetensors",
    "sass",
    "scales",
    "sf",
    "shiny",
    "sourcetools",
    "sp",
    "terra",
    "tibble",
    "tidyselect",
    "tiff",
    "tinytex",
    "torch",
    "torchvision",
    "tzdb",
    "units",
    "utf8",
    "vctrs",
    "viridisLite",
    "vroom",
    "withr",
    "wk",
    "xfun",
    "xtable",
    "yaml",
    "zeallot"
  ],
  "_score": 4.537819095073274,
  "_indexed": true,
  "_nocasepkg": "geodl",
  "_universes": [
    "maxwell-geospatial"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.3.0",
      "date": "2026-05-10T06:49:48.000Z",
      "distro": "noble",
      "commit": "f81fb9b7cdc1c0dc4c3afa22fdd94c09048b1402",
      "fileid": "1380ab53a064d4d1462137cc12e068a2cb127dfcaf20bf292150afdddc5be350",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/maxwell-geospatial/actions/runs/25622073365"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.3.0",
      "date": "2026-05-10T06:49:45.000Z",
      "distro": "noble",
      "commit": "f81fb9b7cdc1c0dc4c3afa22fdd94c09048b1402",
      "fileid": "349370669c9c583181c93ea39bed9904b4a17d64fae76d4386f88a020dba5c33",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/maxwell-geospatial/actions/runs/25622073365"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.3.0",
      "date": "2026-05-10T06:52:37.000Z",
      "commit": "f81fb9b7cdc1c0dc4c3afa22fdd94c09048b1402",
      "fileid": "50ba8901cac9169ae07b628c048d6a1c0c350860b23328ecb26f194ae97ed2d4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/maxwell-geospatial/actions/runs/25622073365"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.3.0",
      "date": "2026-05-10T06:53:31.000Z",
      "commit": "f81fb9b7cdc1c0dc4c3afa22fdd94c09048b1402",
      "fileid": "5d7307771eb67b5d6ae2e0e9d872b5baaccea952ed0c43e44556fe4eb3f380cf",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/maxwell-geospatial/actions/runs/25622073365"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.3.0",
      "date": "2026-05-10T06:54:31.000Z",
      "commit": "f81fb9b7cdc1c0dc4c3afa22fdd94c09048b1402",
      "fileid": "9cce00fb491c811f251dfdc3ccc9d0e2b6b9e7ec2813a97e94d1136a6fdf4884",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/maxwell-geospatial/actions/runs/25622073365"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.3.0",
      "date": "2026-05-10T06:54:42.000Z",
      "commit": "f81fb9b7cdc1c0dc4c3afa22fdd94c09048b1402",
      "fileid": "3554476c74fb670c431eba0c5430e6aad07190642df2754e41521323b0484822",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/maxwell-geospatial/actions/runs/25622073365"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.3.0",
      "date": "2026-05-10T06:53:52.000Z",
      "commit": "f81fb9b7cdc1c0dc4c3afa22fdd94c09048b1402",
      "fileid": "ecd7ac6537b074583dc05aeade68edffee1a55f405461b91caa4bb50a6f8005a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/maxwell-geospatial/actions/runs/25622073365"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.3.0",
      "date": "2026-05-22T12:36:54.000Z",
      "commit": "f81fb9b7cdc1c0dc4c3afa22fdd94c09048b1402",
      "fileid": "f4881e097e6308167d45ce83390d9a64d37bc54a971fcfda60fd25fde9b3b670",
      "status": "success",
      "buildurl": "https://github.com/r-universe/maxwell-geospatial/actions/runs/25622073365"
    }
  ]
}