Image processing

Current branch: feature_api_image


Currently supported file formats: 'jpeg', 'jpg', 'png', 'tiff', 'tif', 'raw', 'eps', 'pdf', 'mp4', 'gif', 'psd', 'ai', 'xcf'

Thumbnails for OpenAtlas will be stored in /uploads/thumbnails/ folder with the same name as the original file but as png. (e.g. 12345.jpg will get 12345.png)

The size of a thumbnail is set to scale down to 400x400px. So the longer side will be 400px.

Example: 6000x4000px JPG file with 8,23 mb will result in a 400x200px jpg file with 114kb uncompressed.

If the uploaded file is 'pdf', 'mp4', 'gif', 'psd', 'ai' or 'xcf', then the first frame, page, layer etc. will be used as thumbnail. Be cautious, the image background can be transparent, if it is not clearly set.


We need some image processing for e.g.

  • Thumbnails, e.g. in tables see #1280
  • Previews, e.g. downsize images in entity views when too big
  • Slideshows, again downsizing if images are too big
  • Christoph suggestion, transform by update or if requested and smaller version doesn't exist
To consider:
  • An original file should be kept and be available
  • Do we process the images on the fly or in a batch job or after uploaded and store them for later use, ...
  • Alternatives for projects we know in advance that they will have mainly large images (e.g. scans), should we consider something like an IIIF API?
  • If images are stored, always make thumbnail and smaller images with 50-60% quality level for smaller bandwidth usage
  • Best way is to use .jpg for best quality/size value. Think about transparency
  • Which side should be to static size, height or width?

Updated by Bernhard Koschicek 7 days ago · 19 revisions

Also available in: PDF HTML TXT