Image Load and Saving in Java - sami-badawi/shapelogic-scala GitHub Wiki

Page for evaluation of different image IO libraries all written in Java.

Currently Shapelogic Scala is using javax.imageio for image load and save. This created a dependency on Oracle JDK.

Good video on issues with image processing in Java

Contenders for Shapelogic IO library

  • javax.imageio
  • Apache commons-imaging
  • ImgLib2
  • ImageJ
  • SCIFIO
  • TwelveMonkeys

javax.imageio

  • Comes by default if you are using Oracle JDK.
  • Works well with the AWT BufferedImage.
  • Does not work on OpenJDK.

Apache commons-imaging

  • Many different image formats.
  • Here is an image load example. The library is dependent on using AWT graphical contexts for creating images.
  • Project is not very active.
  • The documentation spotty.

ImgLib2

  • The ImgLib2 lib is used by new ImageJ 2.
  • It is an elegant framework for handling multi dimensional images.
  • Also this would make it easier to integrate Shapelogic Scala with ImageJ.

ImageJ

  • ImageJ is a great image processing lib for Java.
  • ImageJ integration is not the primary purpose but would make Shapelogic Scala.
  • ImageJ is a light weight dependency.
  • Allows you to easily display images.

SCIFIO

SCIFIO (SCientific Image Format Input & Output)

  • This library can load and save in a lot of image format it works with ImgLib2.
  • There are quite a lot of dependencies.

#TwelveMonkeys