imageFeatureTCGA 0.99.69
library(imageFeatureTCGA)
library(SummarizedExperiment)
library(dplyr)
imageFeatureTCGA provides convenient access to
histopathology-derived data from TCGA through two complementary pipelines:
These datasets can be imported directly into R as Bioconductor objects, facilitating downstream integration with TCGA omics and clinical data.
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("waldronlab/imageFeatureTCGA")
The datasets accessible through imageFeatureTCGA originate from
whole-slide histopathology images processed by deep learning pipelines.
They are distributed as precomputed features to avoid the computational
cost of running segmentation and embedding models locally.
HoVerNet provides nuclei segmentation and classification results at the single-cell level. Each detected nucleus is represented by:
x, y) in pixel units relative to the slideWhen imported as a SpatialExperiment or SpatialFeatureExperiment,
the data are structured as follows:
These objects enable spatial analyses and integration with other Bioconductor workflows for spatial transcriptomics and imaging data.
ProvGigaPath is a foundation model trained on large-scale pathology image tiles that produces high-dimensional embeddings summarizing visual and morphological features.
Two levels of embeddings are provided:
Slide-level embeddings summarize the entire whole-slide image into a single feature vector.
Tile-level embeddings provide localized representations of tissue regions.
Each tile entry includes:
tile_x, tile_y) corresponding to the tile
position on the slideThese embeddings enable spatial analyses of tissue heterogeneity and can
be integrated with cell-level data from HoVerNet using complementary
packages such as imageTCGAutils.
Use the following function to download the catalog of available files:
getCatalog()
## Registered S3 method overwritten by 'bit64':
## method from
## print.bitstring tools
## Warning in file.rename(file, dest): cannot rename file
## '/tmp/RtmpXk6Yyf/file5f72865d3c58b/api/records/17981132/files/store_cancerdatasci_catalog.tsv/content'
## to
## '/home/biocbuild/.cache/R/BiocFileCache/api/records/17981132/files/store_cancerdatasci_catalog.tsv/content',
## reason 'Invalid cross-device link'
## # A tibble: 54,253 × 25
## pipeline format filename fullpath fnsansext tcga_barcode Case.ID TSS.Code
## <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 hovernet geojson TCGA-02-00… hoverne… TCGA-02-… TCGA-02-000… TCGA-0… 02
## 2 hovernet geojson TCGA-02-00… hoverne… TCGA-02-… TCGA-02-000… TCGA-0… 02
## 3 hovernet geojson TCGA-02-00… hoverne… TCGA-02-… TCGA-02-000… TCGA-0… 02
## 4 hovernet geojson TCGA-02-00… hoverne… TCGA-02-… TCGA-02-000… TCGA-0… 02
## 5 hovernet geojson TCGA-02-00… hoverne… TCGA-02-… TCGA-02-000… TCGA-0… 02
## 6 hovernet geojson TCGA-02-00… hoverne… TCGA-02-… TCGA-02-000… TCGA-0… 02
## 7 hovernet geojson TCGA-02-00… hoverne… TCGA-02-… TCGA-02-000… TCGA-0… 02
## 8 hovernet geojson TCGA-02-00… hoverne… TCGA-02-… TCGA-02-000… TCGA-0… 02
## 9 hovernet geojson TCGA-02-00… hoverne… TCGA-02-… TCGA-02-000… TCGA-0… 02
## 10 hovernet geojson TCGA-02-00… hoverne… TCGA-02-… TCGA-02-000… TCGA-0… 02
## # ℹ 54,243 more rows
## # ℹ 17 more variables: File.ID <chr>, File.Name <chr>, Data.Category <chr>,
## # Data.Type <chr>, Project.ID <chr>, Sample.ID <chr>, Sample.Type <chr>,
## # Source.Site <chr>, Study.Name <chr>, BCR <chr>, city <chr>, state <chr>,
## # country <chr>, bcr_patient_uuid <chr>, lat <dbl>, lon <dbl>, level <chr>
JSON, GeoJSON, thumb and H5AD
formats.Note that the thumb format refers to the png thumbnails of the whole-slide
images.
getCatalog("hovernet")
## # A tibble: 33,177 × 25
## pipeline format filename fullpath fnsansext tcga_barcode Case.ID TSS.Code
## <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 hovernet geojson TCGA-02-00… hoverne… TCGA-02-… TCGA-02-000… TCGA-0… 02
## 2 hovernet geojson TCGA-02-00… hoverne… TCGA-02-… TCGA-02-000… TCGA-0… 02
## 3 hovernet geojson TCGA-02-00… hoverne… TCGA-02-… TCGA-02-000… TCGA-0… 02
## 4 hovernet geojson TCGA-02-00… hoverne… TCGA-02-… TCGA-02-000… TCGA-0… 02
## 5 hovernet geojson TCGA-02-00… hoverne… TCGA-02-… TCGA-02-000… TCGA-0… 02
## 6 hovernet geojson TCGA-02-00… hoverne… TCGA-02-… TCGA-02-000… TCGA-0… 02
## 7 hovernet geojson TCGA-02-00… hoverne… TCGA-02-… TCGA-02-000… TCGA-0… 02
## 8 hovernet geojson TCGA-02-00… hoverne… TCGA-02-… TCGA-02-000… TCGA-0… 02
## 9 hovernet geojson TCGA-02-00… hoverne… TCGA-02-… TCGA-02-000… TCGA-0… 02
## 10 hovernet geojson TCGA-02-00… hoverne… TCGA-02-… TCGA-02-000… TCGA-0… 02
## # ℹ 33,167 more rows
## # ℹ 17 more variables: File.ID <chr>, File.Name <chr>, Data.Category <chr>,
## # Data.Type <chr>, Project.ID <chr>, Sample.ID <chr>, Sample.Type <chr>,
## # Source.Site <chr>, Study.Name <chr>, BCR <chr>, city <chr>, state <chr>,
## # country <chr>, bcr_patient_uuid <chr>, lat <dbl>, lon <dbl>, level <chr>
getCatalog("provgigapath")
## # A tibble: 21,076 × 25
## pipeline format filename fullpath fnsansext tcga_barcode Case.ID TSS.Code
## <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 provgigapath csv TCGA-02… provgig… TCGA-02-… TCGA-02-000… TCGA-0… 02
## 2 provgigapath csv TCGA-02… provgig… TCGA-02-… TCGA-02-000… TCGA-0… 02
## 3 provgigapath csv TCGA-02… provgig… TCGA-02-… TCGA-02-000… TCGA-0… 02
## 4 provgigapath csv TCGA-02… provgig… TCGA-02-… TCGA-02-000… TCGA-0… 02
## 5 provgigapath csv TCGA-02… provgig… TCGA-02-… TCGA-02-000… TCGA-0… 02
## 6 provgigapath csv TCGA-02… provgig… TCGA-02-… TCGA-02-000… TCGA-0… 02
## 7 provgigapath csv TCGA-02… provgig… TCGA-02-… TCGA-02-000… TCGA-0… 02
## 8 provgigapath csv TCGA-02… provgig… TCGA-02-… TCGA-02-000… TCGA-0… 02
## 9 provgigapath csv TCGA-02… provgig… TCGA-02-… TCGA-02-000… TCGA-0… 02
## 10 provgigapath csv TCGA-02… provgig… TCGA-02-… TCGA-02-000… TCGA-0… 02
## # ℹ 21,066 more rows
## # ℹ 17 more variables: File.ID <chr>, File.Name <chr>, Data.Category <chr>,
## # Data.Type <chr>, Project.ID <chr>, Sample.ID <chr>, Sample.Type <chr>,
## # Source.Site <chr>, Study.Name <chr>, BCR <chr>, city <chr>, state <chr>,
## # country <chr>, bcr_patient_uuid <chr>, lat <dbl>, lon <dbl>, level <chr>
You can import HoVerNet segmentation results as either a SpatialExperiment or
SpatialFeatureExperiment. Here we selectively import a file based on its
filename, but you can also filter by other metadata fields such as Project.ID,
pipeline, format, etc.
hspe <- getCatalog("hovernet") |>
dplyr::filter(
filename == paste(
"TCGA-VG-A8LO-01A-01-DX1",
"B39A4D64-82A1-4A04-8AB6-918F3058B83B",
"json",
"gz",
sep = "."
)
) |>
getFileURLs() |>
HoverNet(outClass = "SpatialExperiment") |>
import()
## Warning in file.rename(file, dest): cannot rename file
## '/tmp/RtmpXk6Yyf/file5f7287233e0c8/waldronlab-image-features/hovernet/json/TCGA-VG-A8LO-01A-01-DX1.B39A4D64-82A1-4A04-8AB6-918F3058B83B.json.gz'
## to
## '/home/biocbuild/.cache/R/BiocFileCache/waldronlab-image-features/hovernet/json/TCGA-VG-A8LO-01A-01-DX1.B39A4D64-82A1-4A04-8AB6-918F3058B83B.json.gz',
## reason 'Invalid cross-device link'
hspe
## class: SpatialExperiment
## dim: 0 67081
## metadata(1): type_map
## assays(1): counts
## rownames: NULL
## rowData names(0):
## colnames: NULL
## colData names(10): cell_id x ... B sample_id
## reducedDimNames(0):
## mainExpName: NULL
## altExpNames(0):
## spatialCoords names(2) : x y
## imgData names(0):
Each cell is represented with:
x, y spatial coordinatescolData(hspe)
## DataFrame with 67081 rows and 10 columns
## cell_id x y type type_prob label R
## <character> <numeric> <numeric> <integer> <numeric> <character> <integer>
## 1 8 3894.64 15842.5 1 0.9696429 neopla 255
## 2 9 3920.24 15864.1 1 0.9077253 neopla 255
## 3 10 3857.38 15871.0 1 0.9575972 neopla 255
## 4 11 3892.01 15872.0 1 0.9658887 neopla 255
## 5 12 3943.50 15872.6 1 0.0384615 neopla 255
## ... ... ... ... ... ... ... ...
## 67077 88901 86252.5 8284.12 3 0.768924 connec 0
## 67078 88902 86219.8 8291.11 2 0.993865 inflam 0
## 67079 88903 86052.2 8301.45 4 0.750000 necros 255
## 67080 88904 86189.5 8306.04 1 0.774737 neopla 255
## 67081 88905 85777.0 8381.20 2 0.996622 inflam 0
## G B sample_id
## <integer> <integer> <character>
## 1 0 0 sample01
## 2 0 0 sample01
## 3 0 0 sample01
## 4 0 0 sample01
## 5 0 0 sample01
## ... ... ... ...
## 67077 0 255 sample01
## 67078 255 0 sample01
## 67079 255 0 sample01
## 67080 0 0 sample01
## 67081 255 0 sample01
ProvGigaPath embeddings summarize tile or slide-level image features. In this example, we import slide-level embeddings for a single file. Each row corresponds to a slide, with an embedding vector describing the image-derived features.
getCatalog("provgigapath") |>
dplyr::filter(
filename == paste(
"TCGA-VG-A8LO-01A-01-DX1",
"B39A4D64-82A1-4A04-8AB6-918F3058B83B",
"csv",
"gz",
sep = "."
) &
level == "slide_level"
) |>
getFileURLs() |>
ProvGiga() |>
import()
## Warning in file.rename(file, dest): cannot rename file
## '/tmp/RtmpXk6Yyf/file5f728445bcf8b/waldronlab-image-features/provgigapath/slide_level/TCGA-VG-A8LO-01A-01-DX1.B39A4D64-82A1-4A04-8AB6-918F3058B83B.csv.gz'
## to
## '/home/biocbuild/.cache/R/BiocFileCache/waldronlab-image-features/provgigapath/slide_level/TCGA-VG-A8LO-01A-01-DX1.B39A4D64-82A1-4A04-8AB6-918F3058B83B.csv.gz',
## reason 'Invalid cross-device link'
## # A tibble: 1 × 771
## slideName tumorType fileName V1 V2 V3 V4 V5 V6 V7
## <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 TCGA-VG-A8LO… <NA> TCGA-VG… -0.352 0.594 -0.403 -0.529 0.0304 0.206 -1.13
## # ℹ 761 more variables: V8 <dbl>, V9 <dbl>, V10 <dbl>, V11 <dbl>, V12 <dbl>,
## # V13 <dbl>, V14 <dbl>, V15 <dbl>, V16 <dbl>, V17 <dbl>, V18 <dbl>,
## # V19 <dbl>, V20 <dbl>, V21 <dbl>, V22 <dbl>, V23 <dbl>, V24 <dbl>,
## # V25 <dbl>, V26 <dbl>, V27 <dbl>, V28 <dbl>, V29 <dbl>, V30 <dbl>,
## # V31 <dbl>, V32 <dbl>, V33 <dbl>, V34 <dbl>, V35 <dbl>, V36 <dbl>,
## # V37 <dbl>, V38 <dbl>, V39 <dbl>, V40 <dbl>, V41 <dbl>, V42 <dbl>,
## # V43 <dbl>, V44 <dbl>, V45 <dbl>, V46 <dbl>, V47 <dbl>, V48 <dbl>, …
ProvGigaPath tile-level embeddings provide a more granular representation of
image features at the tile level. Each row corresponds to a tile, with spatial
coordinates (tile_x, tile_y) and an embedding vector describing the
image-derived features for that tile. In this example, we filter the catalog
to the tile-level file corresponding to the same slide as above.
getCatalog("provgigapath") |>
dplyr::filter(
filename == paste(
"TCGA-VG-A8LO-01A-01-DX1",
"B39A4D64-82A1-4A04-8AB6-918F3058B83B",
"csv",
"gz",
sep = "."
) &
level == "tile_level"
) |>
getFileURLs() |>
ProvGiga() |>
import()
## Warning in file.rename(file, dest): cannot rename file
## '/tmp/RtmpXk6Yyf/file5f7282dd163a0/waldronlab-image-features/provgigapath/tile_level/TCGA-VG-A8LO-01A-01-DX1.B39A4D64-82A1-4A04-8AB6-918F3058B83B.csv.gz'
## to
## '/home/biocbuild/.cache/R/BiocFileCache/waldronlab-image-features/provgigapath/tile_level/TCGA-VG-A8LO-01A-01-DX1.B39A4D64-82A1-4A04-8AB6-918F3058B83B.csv.gz',
## reason 'Invalid cross-device link'
## # A tibble: 211 × 1,543
## slide_name tile_id tile_name tile_x tile_y `0` `1` `2` `3`
## <chr> <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 TCGA-VG-A8LO… 0 02155x_1… 2155 18612 0.177 -1.42 0.787 0.0380
## 2 TCGA-VG-A8LO… 1 03180x_1… 3180 15540 0.433 -1.33 1.11 -0.382
## 3 TCGA-VG-A8LO… 2 03180x_1… 3180 16564 0.886 -1.71 -0.0505 0.317
## 4 TCGA-VG-A8LO… 3 03180x_1… 3180 17588 0.183 -1.31 -0.599 -0.138
## 5 TCGA-VG-A8LO… 4 03180x_1… 3180 18612 0.631 -0.588 0.652 0.548
## 6 TCGA-VG-A8LO… 5 03180x_1… 3180 19636 0.700 -1.51 0.909 0.380
## 7 TCGA-VG-A8LO… 6 04204x_1… 4204 14516 0.821 -2.47 1.05 -0.411
## 8 TCGA-VG-A8LO… 7 04204x_1… 4204 15540 0.251 -0.958 0.259 -0.186
## 9 TCGA-VG-A8LO… 8 04204x_1… 4204 16564 -0.0607 -0.917 -0.168 0.727
## 10 TCGA-VG-A8LO… 9 04204x_1… 4204 17588 -0.00672 -1.05 0.460 0.600
## # ℹ 201 more rows
## # ℹ 1,534 more variables: `4` <dbl>, `5` <dbl>, `6` <dbl>, `7` <dbl>,
## # `8` <dbl>, `9` <dbl>, `10` <dbl>, `11` <dbl>, `12` <dbl>, `13` <dbl>,
## # `14` <dbl>, `15` <dbl>, `16` <dbl>, `17` <dbl>, `18` <dbl>, `19` <dbl>,
## # `20` <dbl>, `21` <dbl>, `22` <dbl>, `23` <dbl>, `24` <dbl>, `25` <dbl>,
## # `26` <dbl>, `27` <dbl>, `28` <dbl>, `29` <dbl>, `30` <dbl>, `31` <dbl>,
## # `32` <dbl>, `33` <dbl>, `34` <dbl>, `35` <dbl>, `36` <dbl>, `37` <dbl>, …
One can also import multiple files at once. Here we filter the catalog to the
first three slide-level files for the TCGA-GBM project, and import them as a
ProvGigaList. Each element of the list corresponds to a slide, with the same
structure as described above for slide-level embeddings. Note that the
ProvGigaList constructor can also accept a vector of file paths or URLs. The
import method for ProvGigaList will then import each file in the list and
return either a single SummarizedExperiment or a list of
SummarizedExperiment objects based on the diversity of the data levels in the
input files. In this example, the catalog is filtered to a slide-level subset,
so the output is a single SummarizedExperiment object with three columns
corresponding to the three slides.
pgl <- getCatalog("provgigapath") |>
dplyr::filter(level == "slide_level", Project.ID == "TCGA-GBM") |>
dplyr::slice(1:3) |>
getFileURLs() |>
ProvGigaList() |>
import()
## Warning in file.rename(file, dest): cannot rename file
## '/tmp/RtmpXk6Yyf/file5f7286cdb2952/waldronlab-image-features/provgigapath/slide_level/TCGA-02-0001-01Z-00-DX1.83fce43e-42ac-4dcd-b156-2908e75f2e47.csv.gz'
## to
## '/home/biocbuild/.cache/R/BiocFileCache/waldronlab-image-features/provgigapath/slide_level/TCGA-02-0001-01Z-00-DX1.83fce43e-42ac-4dcd-b156-2908e75f2e47.csv.gz',
## reason 'Invalid cross-device link'
## Warning in file.rename(file, dest): cannot rename file
## '/tmp/RtmpXk6Yyf/file5f7286cdb2952/waldronlab-image-features/provgigapath/slide_level/TCGA-02-0001-01Z-00-DX2.b521a862-280c-4251-ab54-5636f20605d0.csv.gz'
## to
## '/home/biocbuild/.cache/R/BiocFileCache/waldronlab-image-features/provgigapath/slide_level/TCGA-02-0001-01Z-00-DX2.b521a862-280c-4251-ab54-5636f20605d0.csv.gz',
## reason 'Invalid cross-device link'
## Warning in file.rename(file, dest): cannot rename file
## '/tmp/RtmpXk6Yyf/file5f7286cdb2952/waldronlab-image-features/provgigapath/slide_level/TCGA-02-0001-01Z-00-DX3.2836ce55-491f-4d86-99b1-668946927af8.csv.gz'
## to
## '/home/biocbuild/.cache/R/BiocFileCache/waldronlab-image-features/provgigapath/slide_level/TCGA-02-0001-01Z-00-DX3.2836ce55-491f-4d86-99b1-668946927af8.csv.gz',
## reason 'Invalid cross-device link'
pgl
## class: SummarizedExperiment
## dim: 768 3
## metadata(5): slideName tumorType fileName patientIds sampleIds
## assays(1): embeddings
## rownames: NULL
## rowData names(0):
## colnames(3): TCGA-02-0001-01Z-00-DX1 TCGA-02-0001-01Z-00-DX2
## TCGA-02-0001-01Z-00-DX3
## colData names(0):
The ProvGigaList constructor can also accept a mix of slide- and tile-level
files. In this case, the import method will return a list of
SummarizedExperiment objects, one for each data level. Here we filter the
catalog to include both slide- and tile-level files for the same slide, and
import them together.
pgl_mixed <- getCatalog("provgigapath") |>
dplyr::filter(
filename %in% c(
paste(
"TCGA-VG-A8LO-01A-01-DX1",
"B39A4D64-82A1-4A04-8AB6-918F3058B83B",
"csv",
"gz",
sep = "."
)
) &
level %in% c("slide_level", "tile_level")
) |>
getFileURLs() |>
ProvGigaList() |>
import()
## Warning in .as(from): NAs introduced by coercion
pgl_mixed
## $slide_level
## class: SummarizedExperiment
## dim: 768 1
## metadata(5): slideName tumorType fileName patientIds sampleIds
## assays(1): embeddings
## rownames: NULL
## rowData names(0):
## colnames(1): TCGA-VG-A8LO-01A-01-DX1
## colData names(0):
##
## $tile_level
## class: SummarizedExperiment
## dim: 1538 1
## metadata(3): metadata sampleIds patientIds
## assays(1): tiles
## rownames: NULL
## rowData names(0):
## colnames(1): TCGA-VG-A8LO-01A-01-DX1
## colData names(0):
You can explore the full documentation through the MOFA and Point Pattern
Analysis vignettes in the imageTCGA manuscript repository.
Note. More vignettes will be added as new feature types and workflows become available.
The imageTCGA Shiny application provides an interactive interface for exploring TCGA Diagnostic Image Database metadata.
Click here to explore the shiny app: imageTCGA
Click here for Session Info
sessionInfo()
## R version 4.6.0 alpha (2026-04-05 r89794)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 24.04.4 LTS
##
## Matrix products: default
## BLAS: /home/biocbuild/bbs-3.23-bioc/R/lib/libRblas.so
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.12.0 LAPACK version 3.12.0
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_GB LC_COLLATE=C
## [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
## [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
## [9] LC_ADDRESS=C LC_TELEPHONE=C
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
##
## time zone: America/New_York
## tzcode source: system (glibc)
##
## attached base packages:
## [1] stats4 stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] dplyr_1.2.1 SummarizedExperiment_1.41.1
## [3] Biobase_2.71.0 GenomicRanges_1.63.2
## [5] Seqinfo_1.1.0 IRanges_2.45.0
## [7] S4Vectors_0.49.2 BiocGenerics_0.57.1
## [9] generics_0.1.4 MatrixGenerics_1.23.0
## [11] matrixStats_1.5.0 imageFeatureTCGA_0.99.69
## [13] BiocStyle_2.39.0
##
## loaded via a namespace (and not attached):
## [1] DBI_1.3.0 bitops_1.0-9
## [3] httr2_1.2.2 rlang_1.2.0
## [5] magrittr_2.0.5 otel_0.2.0
## [7] compiler_4.6.0 RSQLite_2.4.6
## [9] GenomicFeatures_1.63.2 png_0.1-9
## [11] vctrs_0.7.3 stringr_1.6.0
## [13] rvest_1.0.5 pkgconfig_2.0.3
## [15] SpatialExperiment_1.21.0 crayon_1.5.3
## [17] fastmap_1.2.0 dbplyr_2.5.2
## [19] magick_2.9.1 XVector_0.51.0
## [21] utf8_1.2.6 Rsamtools_2.27.2
## [23] promises_1.5.0 rmarkdown_2.31
## [25] tzdb_0.5.0 ps_1.9.2
## [27] UCSC.utils_1.7.1 purrr_1.2.2
## [29] bit_4.6.0 xfun_0.57
## [31] MultiAssayExperiment_1.37.4 cachem_1.1.0
## [33] cigarillo_1.1.0 GenomeInfoDb_1.47.2
## [35] jsonlite_2.0.0 blob_1.3.0
## [37] later_1.4.8 DelayedArray_0.37.1
## [39] BiocParallel_1.45.0 parallel_4.6.0
## [41] R6_2.6.1 stringi_1.8.7
## [43] bslib_0.10.0 rtracklayer_1.71.3
## [45] jquerylib_0.1.4 Rcpp_1.1.1-1
## [47] bookdown_0.46 knitr_1.51
## [49] readr_2.2.0 BiocBaseUtils_1.13.0
## [51] Matrix_1.7-5 tidyselect_1.2.1
## [53] abind_1.4-8 yaml_2.3.12
## [55] websocket_1.4.4 codetools_0.2-20
## [57] curl_7.0.0 processx_3.8.7
## [59] rjsoncons_1.3.2 lattice_0.22-9
## [61] tibble_3.3.1 BumpyMatrix_1.19.0
## [63] withr_3.0.2 KEGGREST_1.51.1
## [65] evaluate_1.0.5 BiocFileCache_3.1.0
## [67] xml2_1.5.2 Biostrings_2.79.5
## [69] pillar_1.11.1 BiocManager_1.30.27
## [71] filelock_1.0.3 TCGAutils_1.31.5
## [73] vroom_1.7.1 RCurl_1.98-1.18
## [75] chromote_0.5.1 hms_1.1.4
## [77] glue_1.8.1 tools_4.6.0
## [79] BiocIO_1.21.0 GenomicAlignments_1.47.0
## [81] XML_3.99-0.23 grid_4.6.0
## [83] AnnotationDbi_1.73.1 SingleCellExperiment_1.33.2
## [85] TENxIO_1.13.4 restfulr_0.0.16
## [87] cli_3.6.6 rappdirs_0.3.4
## [89] GenomicDataCommons_1.35.1 S4Arrays_1.11.1
## [91] sass_0.4.10 digest_0.6.39
## [93] SparseArray_1.11.13 rjson_0.2.23
## [95] memoise_2.0.1 htmltools_0.5.9
## [97] lifecycle_1.0.5 httr_1.4.8
## [99] bit64_4.6.0-1
Graham, Simon, Quoc Dang Vu, Shan E Ahmed Raza, Ayesha Azam, Yee Wah Tsang, Jin Tae Kwak, and Nasir Rajpoot. 2019. “Hover-Net: Simultaneous Segmentation and Classification of Nuclei in Multi-Tissue Histology Images.” Medical Image Analysis 58: 101563. https://doi.org/https://doi.org/10.1016/j.media.2019.101563.
Xu, Hanwen, Naoto Usuyama, Jaspreet Bagga, Sheng Zhang, Rajesh Rao, Tristan Naumann, Cliff Wong, et al. 2024. “A Whole-Slide Foundation Model for Digital Pathology from Real-World Data.” Nature 630 (8015): 181–88. https://doi.org/10.1038/s41586-024-07441-w.