--- title: "Local OME-NGFF Demo" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Local OME-NGFF Demo} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ### Demo ```r library(pizzarr) # The path to the root of the OME-NGFF Zarr store. root <- pizzarr_sample("dog.ome.zarr") # Open the OME-NGFF as a DirectoryStore. store <- DirectoryStore$new(root) g <- zarr_open_group(store) # Using the OME metadata, get the path to the first resolution of the image pyramid. attrs <- g$get_attrs()$to_list() resolution_paths <- attrs$multiscales[[1]]$datasets[[1]]$path first_resolution <- resolution_paths[[1]] # Load the 3-dimensional array of RGB pixels (as a ZarrArray instance). zarr_arr <- g$get_item(first_resolution) print(zarr_arr$get_shape()) # [1] 3 500 750 # Load the 3-dimensional array of RGB pixels (as a NestedArray instance). nested_arr <- zarr_arr$get_item("...") # Extract the NestedArray contents as a base R array. arr <- nested_arr$data # Plot the RGB image using base R rasterImage(). dm <- dim(arr) plot.new() plot.window(c(0, dm[3]), c(0, dm[2]), asp = 1) rasterImage(aperm(arr, c(2, 3, 1)) / 255, 0, 0, dm[3], dm[2]) ```