[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: opening and display large file

Sylvain Carette wrote:
> Hi
> How do you manage to display very large images? What is the options?
> From the manual, it seem that using "assoc" is a winner but maybe with
> one little example it would be more clear how can this be (It seem to
> me that it is an important aspect of programming with IDL since most
> of the time you'll deal with larger than memory files).
> Even with assoc, dont you still have to copy from the file to an array
> before display?
> I dont decipher exactly why and when to use readu or read_binary, the
> file pointer, assoc or writing to an offscreen buffer.
> I tried to open and display a GTOPO30 tile (4800 x 6000 int). tv could
> not display it - froze. I tried "slide_image" but it didnt scroll with
> "retain=1" while "retain=2" and "retain=3" result in windows error and
> crash.
> Since most of my data fall in the 30mb to 610 mb range, I need
> absolutely to open and display very large file. What is available?
> Pointers, sample code, library, ideas, etc, I'm listening.... Just
> knowing that it have to be handled on your own or that IDL provide
> facility (that they forgot to explain in the manual) to deal with this
> will already be invaluable
> Thanks
> Sylvain Carette
> VRML designer-composer

Hi Sylvain,

Instead of OPEN / CLOSE you can use ASSOC too.

The idea is to display portions of the large image in a loop.
e.g. 480x600 

I hope this helps a bit.


The online help says.


Result = ASSOC( Unit, Array_Structure [, Offset] [, /PACKED] )


Suppose that the file images.dat holds 5 images as 256-element by
256-element arrays of bytes. Open the file for reading and create an
associated variable by entering:

OPENR, 1, 'images.dat' ;Open the file as file unit 1.

A = ASSOC(1, BYTARR(256, 256)) ;Make an associated variable.