X
PrevPrev Go to previous topic
NextNext Go to next topic
Last Post 27 Mar 2007 01:39 AM by  anon
How to write a large tiff image to file with IDL
 1 Replies
Sort:
You are not authorized to post a reply.
Author Messages

anon



New Member


Posts:
New Member


--
27 Mar 2007 01:39 AM
    Mermory size is limited strictly in IDL.TO process large files,I seperated it into several pieces.But how do I write them to tiff format file?read_tiff function has a keyword ' subset ',so we can read subset fo a tiff image from file,but how to write data to a dims we wanted,any help respected.Thank you.

    Deleted User



    New Member


    Posts:
    New Member


    --
    27 Mar 2007 01:39 AM
    On 32-bit operating systems max memory that can be allocated for a single array variable is limited according to rules that are explained in ITT Visual Information Solutions' Tech Tip article #3346 ("Overcoming Windows Memory Allocation Limitations") at URL: http://www.ittvis.com/ser...echtip.asp?ttid=3346 You may find a solution to your problem in that Tech Tip. Other than that, though, I do not believe that IDL has a way to write into a TIFF file a "tile" at a time. WRITE_TIFF has an /APPEND keyword, but that keyword would force each of your tiles to be a distinct image/frame in the destination file. To reconstruct the destination image in the next program reading that file, the file reader would need to receive instructions from the file writer on how to reassemble each of those /APPENDed images into a single destination image. The image file format that, in IDL, has the most straightforward implementation of a file writer that can write one tile at a time is JPEG2000. IDL's IDLffJPEG2000 class allow the file writer to specify any tile dimension size and to run ::SetData calls using as its arguments subset rectangles of a source image and a simple tile index. Consequently, IDLffJPEG2000 images can be constructed without the same demands on memory that WRITE_TIFF might have. James Jones
    You are not authorized to post a reply.