This is a fork of pearcetm's original OpenSeadragon plugin meant to use ES6 imports to encapsulate the GeoTIFF.js dependency inside the TileSource itself. Also, this fork supports TIFF pyramids compressed using JPEG-2000 by leveraging the WASM port of OpenJPEG provided by the great folk at CornerstoneJS!
Implementation of a TileSource for OpenSeadragon based on geotiff.js, enabling local and remote TIFF files to be viewed without using an image server.
See it in action at https://pearcetm.github.io/GeoTIFFTileSource/demo.html
In order to generate a GeoTIFF file compatible with this library, you can for instance use sharp, a High performance Node.js image processing library.
import sharp from 'sharp'
sharp('input.jpg', {limitInputPixels:false})
.tiff({tile:true, pyramid:true})
.toFile('output.tiff')
.then(console.log)
.catch(console.error);
Many options are available.
Check sharp documentation on TIFF output format.
This library works by loading only parts of the remote TIFF file (which may be huge). For this, the remote http server has to be compatible. Most production-ready http servers are compatible, but some development servers (such as python3 -m http.server
or PHP built-in development web server) are not.