Skip to content

VanAndelInstitute/s3vs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

S3VS (S3 Virtual Slide)

This is a reference implementation for viewing Aperio SVS digital slide images that are stored in Amazon S3.

Front-end web client

The S3VS front-end (web) uses OpenSeadragon and is meant to be embedded in an existing application. Once the back-end is deployed, set the service endpoint in config.js, and then you can test the front-end in standalone mode like so:

npx http-server web
or
npx serve web
or
npx servor --static web

Back-end API/service

The S3VS back-end (api) is implemented as an AWS Serverless application. It creates a Lambda function that translates IIIF image requests to S3 byte-range fetches against the .svs file in an S3 bucket. It relies on a modified implementation of OpenSlide to read the .svs files from an S3 bucket.
This implementation uses Amazon API Gateway with an API mapping to a custom domain. If your front-end uses AWS Signature Version 4 signed requests (e.g. using AWS Amplify), another option for the API on AWS is a S3 Object Lambda REST endpoint with a DNS alias record.

Demo

(Courtesy https://openslide.org/formats/aperio/#test-data)

https://vanandelinstitute.github.io/s3vs/?imageId=CMU-1
https://vanandelinstitute.github.io/s3vs/?imageId=CMU-2
https://vanandelinstitute.github.io/s3vs/?imageId=CMU-3
https://vanandelinstitute.github.io/s3vs/?imageId=JP2K-33003-1
https://vanandelinstitute.github.io/s3vs/?imageId=JP2K-33003-2