Posted by
Michael Schmid on
Nov 26, 2008; 3:25pm
URL: http://imagej.273.s1.nabble.com/AVI-Virtual-Stack-1GB-boundery-tp3693422p3693423.html
Hi Jesper,
ImageJ only supports AVI 1.0, which is limited to 2 GB.
AVI 2.0 is not supported, but it is possible that the first RIFF list
of an AVI 2 is read - it has the AVI 1 format.
The AVI 2 specifications says that the first (AVI 1 compatible) RIFF
list of an AVI 2 should be no more than 1 GB in size. Some AVI
writers ignore this and write up to 2 GB (which is not problem for
AVI 1 readers), others adhere to the specs.
So I suspect that you have an AVI 2.0 movie, and only the beginning
is read.
Java does support long (64-bit) pointers in files, and if I remember
it correctly the AVI reader uses long pointers, so it could address
essentially arbitrary files sizes. The pointers and field lengths in
the AVI 1 format have 32 bits, however. That's what causes the 2 GB
limit of AVI 1.
Michael
________________________________________________________________
On 26 Nov 2008, at 16:00, JesperSP wrote:
> Hi everyone,
>
> I'm trying to analyze some very large AVI movies in ImageJ. I
> thought I had
> everything covered when I found the "open as virtual stack" function.
> However, when I'm trying to open a 1.3GB AVI containing 15495
> frames of
> 348x256 it stops exactly at frame 11934 (348x256*11934 = 1063176192
> bytes
> corresponding to just below 1GB). I have tried to tell the plugin
> that I
> only want to open frames 11900-15495, both as virtual and non-
> virtual stack
> and in this case it only opens frames 11900-11934. I managed to
> save all the
> frames as TIFs in a folder and then I was able to open all a
> virtual stack
> with all frames using the "Import"->"TIFF virtual stack..."
> function. I then
> saved the stack as AVI with PNG compression which resulted in a
> file of 552
> MB. I was able to load the resulting AVI file without any problems in
> ImageJ, both as virtual and non-virtual stack.
>
> My conclusion is that ImageJ (or Java in general?) cannot access
> positions
> beyond 1GB of files (under windows XP 32Bit).
>
> I'm going to be analyzing a lot of these very large files (possibly
> up to
> 14GB) in the future, so I would very much like to find a different
> workaround than saving all images as individual tifs or compressing
> movies.
> Is there a way to read AVI's larger than 1GB in ImageJ? If it's
> imposible
> under windows XP 32bit, is it then possible if I install a 64bit
> operating
> system (e.g. UBUNTU 64bit?).
>
> Suggestions are very welcome ....
>
> Cheers,
> Jesper
>