Sam
Sam

Reputation: 405

Java: ImageJ alternative

I'm looking for some kind of alternative to ImageJ (http://imagej.nih.gov/ij/). For those who don't know, ImageJ is great for analyzing and creating these tif files from scripts that the user writes. However I noticed that using it in a java project (using its jar) is pretty resource intensive. I was wondering if there was some alternative to it that was perhaps better written for developers (doesn't need a GUI but is more efficient with memory).

Upvotes: 2

Views: 2154

Answers (2)

Gabriel Archanjo
Gabriel Archanjo

Reputation: 4597

Take a look at Marvin Image Processing Framework. Main aspects:

  • Pure Java framework.
  • Extensible via plug-ins SDK. Current plug-ins here.
  • Multithreaded image processing (multiple threads in the same image, in different regions).
  • Unit testing for image processing.
  • Camera and video file processing through Java CV.
  • Process video frames as easy as processing images.
  • Components for integrating with Swing (MarvinImagePanel and plug-ins parameters)
  • Suitable for server side processing in J2EE application.
  • Stable. Already used by companies and universities. Some publications here.

Some answers using Marvin on Stackoverflow:

Upvotes: 1

ctrueden
ctrueden

Reputation: 6992

The ImgLib2 project is an N-dimensional processing library which was invented to overcome many of the fundamental limitations of ImageJ 1.x. Among other uses, it provides the underlying data model for ImageJ2, a new version of ImageJ for the next generation of image data. ImageJ2 also provides an "ImageJ Legacy" component that provides backwards compatibility with ImageJ1, including runtime patching so that the ImageJ1 API can run headless.

As for performance, ImageJ 1.x and ImgLib2 are both—in general—very resource efficient. If you have specific circumstances where you believe resources are being wasted, a separate question with further details (here or on the ImageJ mailing list) would be a good course of action.

Another programmer-friendly library is the Insight Toolkit (ITK), written in C++. It is also mature, N-dimensional and resource efficient.

Upvotes: 4

Related Questions