Login  Register

Is ImageJ/Java fast?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options Options
Embed post
Permalink
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Is ImageJ/Java fast?

Lars Damgaard
23 posts
Hi,

I need to show a large group of images in an interactively determined order. Kind of an interactive slide-show, but fast so it looks like a film. My images are 1388 x 1038 24 bit and I would like to show them at 1-10 fps.
ImageJ is great for doing the pre-processing I also need to do, but can anyone give me good advice on whether I should use another programming platform for displaying pictures fast?
 
The task I want to solve is described in more detail in the post I made recently (Tue, 8 Jan 2013 08:50:04 -0500).

Lars

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Is ImageJ/Java fast?

Herbie-2
38 posts
Lars,

I see no problem with what you intend to do with ImageJ.

Why not make a stack of your images and animate it.

I just tested this approach with your image size on a legacy PPC-G4 Mac.
It runs just fine at a rate of about 5 images per second.

Maybe I'm missing something...

HTH

Herbie
_______________________________________
On 11.01.13 10:03, Lars Damgaard wrote:

> Hi,
>
> I need to show a large group of images in an interactively determined order. Kind of an interactive slide-show, but fast so it looks like a film. My images are 1388 x 1038 24 bit and I would like to show them at 1-10 fps.
> ImageJ is great for doing the pre-processing I also need to do, but can anyone give me good advice on whether I should use another programming platform for displaying pictures fast?
>
> The task I want to solve is described in more detail in the post I made recently (Tue, 8 Jan 2013 08:50:04 -0500).
>
> Lars
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Is ImageJ/Java fast?

Lars Damgaard
23 posts
In reply to this post by Lars Damgaard
Hi Herb,

I don't think the animate stack can do what I would like, but I would be happy if I am wrong.

My pictures are sets, where each set is a point in time and consists of a grid (e.g. 6 x 14) pictures (mosaic) that cover a large area.
I want to be able to pan right, left, up and down as the 'movie' runs, and also to zoom in and out (including more pictures in the view), and maybe even change speed.
Also, unfortunately, the acquisition time interval between my pictures is not constant, so ideally, the viewing process would take that into account and change the display interval accordingly.

Lars

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Is ImageJ/Java fast?

Herbie-2
38 posts
Lars,

sorry, but you wrote:

"My images are 1388 x 1038 24 bit and I would like to show them at 1-10
fps."

This can be done by built in mechanisms of ImageJ.

What you write below is a totally different task and requires programming.

Best

Herbie
______________________________
On 11.01.13 11:25, Lars Damgaard wrote:

> Hi Herb,
>
> I don't think the animate stack can do what I would like, but I would be happy if I am wrong.
>
> My pictures are sets, where each set is a point in time and consists of a grid (e.g. 6 x 14) pictures (mosaic) that cover a large area.
> I want to be able to pan right, left, up and down as the 'movie' runs, and also to zoom in and out (including more pictures in the view), and maybe even change speed.
> Also, unfortunately, the acquisition time interval between my pictures is not constant, so ideally, the viewing process would take that into account and change the display interval accordingly.
>
> Lars
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Is ImageJ/Java fast?

Lars Damgaard
23 posts
In reply to this post by Lars Damgaard
Thanks, Herbie, sorry if I was unclear.
So my question is then - should I program in ImageJ/Java or would another platform actually give a better performace?
Lars

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Is ImageJ/Java fast?

Stephan Saalfeld
147 posts
Java is for sure fast enough to achieve what you want.  It solely
depends on your programming capabilities whether you fail or succeed ;)

Given your problem description, I suggest that you have a look at the
Fiji plugin TrakEM2.  It already implements interactive panning and
zooming of very large series of montages of virtually transformed
images.  It already implements the necessary infrastructure for making
this process quick (spatial hierarchies for searching the correct image,
multi-scale representations of images).  You can implement your movie
idea with a simple script that would run the display through the series
while you interact with it.  TrakEM2 enables that you have uneven
spacing between individual images in the series and your script can just
use this information for adjusting the time interval.

Learn more:

http://fiji.sc/wiki/index.php/TrakEM2_Scripting

Best,
Stephan




On Fri, 2013-01-11 at 05:34 -0500, Lars Damgaard wrote:
> Thanks, Herbie, sorry if I was unclear.
> So my question is then - should I program in ImageJ/Java or would another platform actually give a better performace?
> Lars
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Is ImageJ/Java fast?

Lars Damgaard
23 posts
Thanks, I will take a look at TrakEM2!
Lars

-----Original Message-----
From: ImageJ Interest Group [mailto:[hidden email]] On Behalf Of Stephan Saalfeld
Sent: 11. januar 2013 12:03
To: [hidden email]
Subject: Re: Is ImageJ/Java fast?

Java is for sure fast enough to achieve what you want.  It solely depends on your programming capabilities whether you fail or succeed ;)

Given your problem description, I suggest that you have a look at the Fiji plugin TrakEM2.  It already implements interactive panning and zooming of very large series of montages of virtually transformed images.  It already implements the necessary infrastructure for making this process quick (spatial hierarchies for searching the correct image, multi-scale representations of images).  You can implement your movie idea with a simple script that would run the display through the series while you interact with it.  TrakEM2 enables that you have uneven spacing between individual images in the series and your script can just use this information for adjusting the time interval.

Learn more:

http://fiji.sc/wiki/index.php/TrakEM2_Scripting

Best,
Stephan




On Fri, 2013-01-11 at 05:34 -0500, Lars Damgaard wrote:
> Thanks, Herbie, sorry if I was unclear.
> So my question is then - should I program in ImageJ/Java or would another platform actually give a better performace?
> Lars
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Is ImageJ/Java fast?

Alexandre Dufour
11 posts
In reply to this post by Lars Damgaard
Hi Lars,

I second Stefan's remark: there is no performance bottleneck using Java for what you ask.

It would seem Icy (http://icy.bioimageanalysis.org, open-source & ImageJ-friendly) does precisely what you wish via its built-in system of synchronized viewers (in time, space or both). In short, you may view the same dataset in multiple windows (no data duplication), and thus focus on specific zones of an image/video, while keeping a global viewer to see the "big picture". Playback options (loop, frame rate) and annotations (ROI) are also kept across viewers.

Better than words, here is a video that illustrates what I mean: http://www.youtube.com/watch?v=uWWGY1b27Js

Hope this helps
Alexandre

---
 Alexandre Dufour, PhD
 Institut Pasteur, Quantitative Image Analysis Unit, bioimageanalysis.org
 IEEE BISP Tech. Committee, signalprocessingsociety.org/technical-committees/list/bisp-tc
 25-28 rue du Dr. Roux, 75724 Paris cedex 15
 www.bioimageanalysis.org/dufour
---



On 11 janv. 2013, at 11:25, Lars Damgaard wrote:

> Hi Herb,
>
> I don't think the animate stack can do what I would like, but I would be happy if I am wrong.
>
> My pictures are sets, where each set is a point in time and consists of a grid (e.g. 6 x 14) pictures (mosaic) that cover a large area.
> I want to be able to pan right, left, up and down as the 'movie' runs, and also to zoom in and out (including more pictures in the view), and maybe even change speed.
> Also, unfortunately, the acquisition time interval between my pictures is not constant, so ideally, the viewing process would take that into account and change the display interval accordingly.
>
> Lars
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Is ImageJ/Java fast?

Lars Damgaard
23 posts
Thanks, Alexandre, Icy  looks very interesting!
Lars

-----Original Message-----
From: ImageJ Interest Group [mailto:[hidden email]] On Behalf Of Alexandre Dufour
Sent: 11. januar 2013 16:58
To: [hidden email]
Subject: Re: Is ImageJ/Java fast?

Hi Lars,

I second Stefan's remark: there is no performance bottleneck using Java for what you ask.

It would seem Icy (http://icy.bioimageanalysis.org, open-source & ImageJ-friendly) does precisely what you wish via its built-in system of synchronized viewers (in time, space or both). In short, you may view the same dataset in multiple windows (no data duplication), and thus focus on specific zones of an image/video, while keeping a global viewer to see the "big picture". Playback options (loop, frame rate) and annotations (ROI) are also kept across viewers.

Better than words, here is a video that illustrates what I mean: http://www.youtube.com/watch?v=uWWGY1b27Js

Hope this helps
Alexandre

---
 Alexandre Dufour, PhD
 Institut Pasteur, Quantitative Image Analysis Unit, bioimageanalysis.org  IEEE BISP Tech. Committee, signalprocessingsociety.org/technical-committees/list/bisp-tc
 25-28 rue du Dr. Roux, 75724 Paris cedex 15  www.bioimageanalysis.org/dufour
---



On 11 janv. 2013, at 11:25, Lars Damgaard wrote:

> Hi Herb,
>
> I don't think the animate stack can do what I would like, but I would be happy if I am wrong.
>
> My pictures are sets, where each set is a point in time and consists of a grid (e.g. 6 x 14) pictures (mosaic) that cover a large area.
> I want to be able to pan right, left, up and down as the 'movie' runs, and also to zoom in and out (including more pictures in the view), and maybe even change speed.
> Also, unfortunately, the acquisition time interval between my pictures is not constant, so ideally, the viewing process would take that into account and change the display interval accordingly.
>
> Lars
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html