Skip to content

sul-dlss-labs/rizz

Repository files navigation

RIZZ

(short for Rails Image Server Service)

This is a proof-of-concept IIIF image server.

  • Using Kakadu via Libvips for JP2 support.

Supported features

Image requests

Region

  • full
  • square
  • x,y,w,h
  • pct:x,y,w,h

Size

  • max
  • ^max
  • w,
  • ^w,
  • ,h
  • ^,h
  • pct:n
  • ^pct:n
  • w,h
  • ^w,h
  • !w,h
  • ^!w,h

Rotation

  • n
  • !n

Quality

  • color
  • gray
  • bitonal
  • default

Format

  • jpg
  • tif
  • png
  • gif
  • jp2
  • pdf
  • webp

Image information

  • required info
  • [?] sizes
  • [?] tiles

Caching

  • file based caching
  • cache pruning (operation that keeps cache below a max size by deleting least recently used)

Other

  • CORS headers

Development

Building the Kakadu VIPS docker image

Caveats:

  • This works on an M1 Mac.
  • This requires a Kakadu license and access to the SDK.
  1. Clone https://github.com/harvard-lts/kakadu-vips
  2. Copy Dockerfile-kakadu-vips to the clone repository, renaming to Dockerfile.
  3. Unzip the Kakadu SDK into the kakadu directory.
  4. Build the image with docker build . -t sul-dlss/kakadu-vips:latest. You may need to provide additional build arguments for your architecture and Kakadu version. See the dockerfile.

Running the development server

docker run --rm -v $(pwd):/rizz -p 3000:3000 -it $(docker build -q .)

The application will now be running on http://localhost:3000.

Example: http://localhost:3000/image-server/0380_796-44.jp2/full/max/0/default

Image files

Image files can be placed in the images directory. They can be referenced by using their filename as the identifier.

For example, http://localhost:3000/image-server/0380_796-44.jp2/full/max/0/default serves images/0380_796-44.jp2.

About

Proof-of-concept Rails IIIF image server

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published