Posted by
Jeffrey B. Woodward on
Nov 26, 2008; 3:50pm
URL: http://imagej.273.s1.nabble.com/AVI-Virtual-Stack-1GB-boundery-tp3693422p3693429.html
Not sure if it will help, but I wrote a Virtual Quicktime Stack plugin
for ImageJ that I should be able to share. In theory, if you can view
the AVI in question with Quicktime, then the plugin should also work
within ImageJ; however, I have not tested the plugin with AVI files (I
wrote it in order to deal with large mpeg files). I found the
documentation for the Java Quicktime bindings to be a bit frustrating,
but I was eventually able to work through those issues. The most
important note was on getting the Quicktime Java bindings installed in
the first place....the key to that was making sure that the Java JDK is
installed *prior* to installing Quicktime (uninstall and reinstall
Quicktime if necessary...the newer versions of the Quicktime installer
don't prompt to install the Java bindings...it just seems to do it
automatically if it can find a JDK).
In summary, contact me if you want to give a Virtual Quicktime Stack
plugin a shot.
-Woody
Michael Schmid wrote:
> 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
>>
>
>