It can:
1.) handle hyperspectral images
2.) handle images with 32-bit floating-point pixels
3.) handle gigantic images, streaming from disk as necessary
4.) record edits as a macro, which can be replayed on other images
Unfortunately, I'm not aware of, and a little searching didn't uncover, any capability for handling complex pixel values. This could be (poorly) implemented with 2-channel images and some user macros for specially manipulating them.
[0] https://imagej.net/Welcome
[1] http://fiji.sc/