Uploaded image for project: 'Commons Imaging'
  1. Commons Imaging
  2. IMAGING-94

Add ability to load partial TIFF images

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.0-alpha1
    • Format: TIFF
    • None

    Description

      For most Apache Commons Imaging applications, the easiest way to obtain a sub image from a file is to simply use the Imaging class to load it as a BufferedImage and then use BufferedImage’s getSubimage() method to extract the portion of the image you wish to use. The TIFF format presents a special problem because it is very common to have huge images (100’s or even 1000’s of megapixel). Examples include Landsat satellite images, global-scale GeoTIFF images, etc. In such cases, loading the entire image into memory is not practical because it would require too much memory. For example, I am currently working with a 21600 by 10800 image that requires more than 890 megabytes to store as a BufferedImage. That value is pushing the limit of what I can configure Java to handle on my particular OS.

      I propose to implement features for TIFF files that would permit Commons Imaging to load a partial image of a TIFF file using only the amount memory actually needed to hold the sub-image.

      These changes would not interfere with normal operations of TIFF files and would not affect other image formats. If there were a need for similar features for other image formats, they could be phased in through future changes.

      The specification for a sub-image would be through the use of the params argument in the getBufferedImage call as follows:

      HashMap<String, Object> params = new HashMap<String, Object>();

      params.put(TiffConstants.PARAM_KEY_SUBIMAGE_X, new Integer( x ));
      params.put(TiffConstants.PARAM_KEY_SUBIMAGE_Y, new Integer( y ));
      params.put(TiffConstants.PARAM_KEY_SUBIMAGE_WIDTH, new Integer(width));
      params.put(TiffConstants.PARAM_KEY_SUBIMAGE_HEIGHT, new Integer(height));

      Attachments

        1. LucasTrackerItem94_Oct14.patch
          28 kB
          Gary Lucas
        2. LucasTrackerItem94_Oct24.patch
          30 kB
          Gary Lucas

        Activity

          People

            Unassigned Unassigned
            gwlucas Gary Lucas
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: