All,
This message appeared on [log in to unmask] It's talking about
cross-platform support for images (specifically JPEG) in Java. It's
asking for advice rather than giving answers, but in doing so it gives
a useful-sounding summary of the problem. Since there's at least some
overlap with our imaging domain, I thought I might as well pass it on.
See you,
Norman
Begin forwarded message:
> From: Michael Harm <[log in to unmask]>
> Date: 2004 June 20 19.47.02 BST
> To: [log in to unmask]
> Subject: advice needed: 16 bit grayscale, jpeg2000, java
>
> Hi.
>
> A long while ago I posted some questions about 16 bit grayscale images
> and apple's implementation of 2d imaging. I was getting some pretty
> poor performance numbers. After going around a bit, and trying out
> suggestions from people from this list (many thanks!), I concluded
> that while 16 bit/channel images are supported in the java spec, both
> the OSX and windows flavors of java have extremely poor performance on
> these image types. I guess the developers put their effort into what
> is most common, unsurprisingly.
>
> So my solution was to hand-code certain stereotypical operations in
> 'c', and use jni. For things like brightness/contrast (essential for
> 16 bit/channnel images if you want to display them on a conventional
> monitor), I got a speedup of, oh, a factor of 20 or more over
> comparable java 2d code using filters or affine transforms. And using
> jni wasn't so terrible, because I was using the "kakadu" jpeg2000
> codec, which is also native 'c', so I was stuck in cross-compile land
> anyway.
>
> But I'm getting some heat from my supervisors over the proliferation
> of jni code in our apps. What I need is a way to work with jpeg2000
> images, 16 bit/channel (virtually all medical images > 8
> bits/channel.. CT, MRI, Xray), in a way that removes the burden of
> maintaining jni code from us. So I'd like something that can do
> 12/16 bit/channel image processing with jpeg2000, cross platform.
>
> Here's where the catch-22 comes in. JAI on windows/linux supports
> jpeg2000. And apple now supports JAI. Sounds promising, yes? But it
> turns out that JAI on windows is really slow... I suspect they're
> using jj2000 (a pure java jpeg2000 codec), or something similar, and
> I've found it to be over 10 times slower than kakadu. I guess their
> native performance packs only work with certain image formats (like
> vanilla jpeg, which doesn't support the 12 bit/channel jpeg format.
> sigh.) Plus, evidently, apple's jai doesn't support jpeg2000 anyway.
> So, so much for jai.
>
> Quicktime for java seems to have been brought back from the dead. And
> it is cross platform, and uses underlying native code for speed. That
> seems promising, yes? But, according to
> http://www.apple.com/quicktime/products/qt/specifications.html,
> jpeg2000 is only supported in quicktime on the mac. Some two years
> ago I looked at quicktime/java for my jpeg2000 stuff, and it only
> existed on the mac,
> so it was a non-starter for us. I guess that's still the case. (Hey,
> any apple developers on this list: when are you gonna support jpeg2000
> in quicktime on windows? QuickTime *could* be the only game in town
> for cross platform j2k imaging if you'd make it available...)
>
> So that's my dilemma. Medical images use 16 (actually 12)
> bits/channel. java's jpeg implementation doesn't support that format,
> so we like jpeg2000 to compress such things. All the pure-java
> jpeg2000 implementations I've tried are dog-slow. QT/java only
> supports j2k on the mac. JAI only supports it on windows/linux and is
> also too slow.
>
> I'm at a loss. Any suggestions on good toolkits out there to
> compress/decompress jpeg2000 images? Any good cross-platform packages
> that utilize native code plugins for 16 bit image manipulation (like
> what jai is supposed to be, but isn't yet?)
>
> Before I launch myself at writing a jai codec myself, built on the
> kakadu codec, has anyone found such a beast out there? Any experience
> with Aware.com's products?
>
> Thanks for any help!
>
> Cheers,
>
> Mike Harm
> _______________________________________________
> java-dev mailing list | [log in to unmask]
> Help/Unsubscribe/Archives:
> http://www.lists.apple.com/mailman/listinfo/java-dev
> Do not post admin requests to the list. They will be ignored.
>
>
>
--
----------------------------------------------------------------------
Norman Gray / Physics and Astronomy, University of Glasgow, UK
http://www.astro.gla.ac.uk/users/norman/
|