Data Model Expansion

Skip to first unread message


Jun 9, 2010, 8:13:49 PM6/9/10
to ImageJX
Hi everyone,

I just wanted to add a comment on the data model expansion. We work a
lot with complex data 32 bit float I and Q. Is there any interest in
adding complex data to the model besides me? We are planning on using
ImageJ as a general viewer that will work on Linux, Solaris, and
Windows XP64 which would go along with our Synthetic Aperture Radar
exploitation tools which use 32 bit float complex data or the less
heard of 16 bit integer I and Q. It would be great to see ImageJ
support at least the 32 bit float complex format. I have a plugin that
is doing that right now.

Dimiter Prodanov

Jun 10, 2010, 3:12:09 AM6/10/10
This can be interesting. Do you plan to implement it using JAMA or Colt?

best regards,


> --
> You received this message because you are subscribed to the Google Groups "ImageJX" group.
> To post to this group, send email to
> To unsubscribe from this group, send email to
> For more options, visit this group at

Jean-Yves Tinevez

Jun 10, 2010, 5:35:32 AM6/10/10
On Thu, Jun 10, 2010 at 2:13 AM, dadof5 <> wrote:

Hi Steve,
I am not 100% sure, but I think Imglib ( can do that for you.
For instance, check the classes there:;a=tree;f=mpicbg/imglib/type/numeric/complex;hb=HEAD

But the authors themselves should be able to make a definitive statement.

Dimiter Prodanov

Jun 10, 2010, 6:01:52 AM6/10/10
Great, I was not aware of such development. How good is the
performance of the library? Are there any data?

best regards,


Jean-Yves Tinevez

Jun 10, 2010, 6:40:13 AM6/10/10
On Thu, Jun 10, 2010 at 12:01 PM, Dimiter Prodanov <> wrote:
Great, I was not aware of such development. How good is the
performance of the library?

It is made to have an excellent performance. See for instance
Are there any data?

For complex number data, I don't  know. The Stephans or other would have to step in. I know that the implementation of the Fourier transform returns complex number images:;a=blob;f=mpicbg/imglib/algorithm/fft/;h=0f743980febf11674c95cce474219b40a0e51850;hb=HEAD

Stephan Saalfeld

Jun 10, 2010, 6:52:46 AM6/10/10

yes, ComplexType is one of the types currently available in imglib. It
is in use for anything related to Fourier transforms. On the other
hand, there is not yet a standardized way for displaying such data which
is future work in the IJ2 project and imglib.

imglib's aim is at being easily extensible in terms of the supported
types. Additional types can be implemented without changing the
architecture and, when implementing a reasonable set of interfaces,
existing algorithms will just work.

About performance:

We care a lot about performance which is a mayor design criterion. On
Java6, imglib is only slightly slower (<15%) than the optimal (written
by me or Stephan Preibisch ;)) version directly accessing basic types
from a linear array with minimal number of calculations. It is usually
faster than the standard algorithm implementation using getf(x, y) (1
multiplication, 1 addition and 1 dynamic cast per data access) just
because the pixel access is provided via iterators that perform the
minimal number of calculations only.

To make the point: for most implementations, imglib is faster in
practice because it's easier to implement an algorithm the right way :)

We will provide numbers as soon as possible...



Jun 10, 2010, 9:22:24 AM6/10/10
to ImageJX
I'm working on the general problem of rendering - how to map data from
the ImgLib into displayable images. I'm very interested to learn more
about how you display your complex data. (And to anyone else...
suggestions for use cases that display complex data would be helpful.)
-- Grant
Reply all
Reply to author
0 new messages