[ 
https://issues.apache.org/jira/browse/IMAGING-251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17075816#comment-17075816
 ] 

Gary Lucas commented on IMAGING-251:
------------------------------------

I have submitted a Pull Request with initial changes to support access to TIFF 
images with floating-point data formats. The work I submitted enables Commons 
Imaging to read BufferedImages from some floating-point sources, though I am 
still looking for example files of other variations so that I can broaden the 
capabilities of the code.   I am also working on the numerical data-access 
functionality that was the reason for this original issue.

One of the features of the  new code is that it allows an application to 
specify a palette for mapping floating-point values to colors. This is a new 
feature for the Commons Imaging TIFF support.  The palette is specified by 
providing the API with a custom "Photometric Interpreter".  Ordinarily, Commons 
Imaging uses its built-in interpreters to map image data to colors. This change 
permits an application to supply interpreters based on information (user 
preferences) that is outside the scope of the TIFF file. I have included a 
simple example application called ReadAndRenderFloatingPoint.java which is 
located in the test space in the standard Commons Imaging code base. 

I've attached a picture showing the results from a US Geological Survey 
elevation data product.  This example was built using a list of palette 
specifications.  One specification maps all negative (ocean) elevations to 
blue. The other specification maps positive (land) elevations to shades of 
gray.   I came up with the design for this API by looking at the on-line help 
for a number of applications including ArcGIS, R, Matlab, and GRASS.  

!Imaging252_USGS_n38w077.jpg!

 

> Support TIFF standard floating point data
> -----------------------------------------
>
>                 Key: IMAGING-251
>                 URL: https://issues.apache.org/jira/browse/IMAGING-251
>             Project: Commons Imaging
>          Issue Type: New Feature
>          Components: Format: TIFF
>    Affects Versions: 1.x
>            Reporter: Gary Lucas
>            Priority: Major
>             Fix For: 1.x
>
>         Attachments: Imaging252_USGS_n38w077.jpg
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Commons Imaging does not support the floating-point format included in the 
> TIFF specification. There are prominent data sources that issue products in 
> this format. The ability to support this information would open up new 
> application areas for Commons Imaging.
> TIFF is often used as a mechanism for distributing data from geophysical 
> applications in the form of GeoTIFF files.  Some of this is not imagery, but 
> data. For example, the US Geological Survey is currently releasing 
> high-resolution elevation data grids for the 3DEP program under the name 
> Cloud-Optimized GeoTIFF (COG). It is a substantial data set with significant 
> potential commercial and academic applications.
> To access this data means modifying the TIFF DataReaderStrips and 
> DataReaderTile classes to recognize floating point data (which is typically 
> indicated using TIFF tag #339, SampleFormat). Also, returning the data in the 
> form of a BufferedImage makes no sense at all, so the API on the 
> TiffImageParser and supporting classes would need additional methods to 
> return arrays of floats.  The good news here is that that requirement would 
> mean adding new methods to the classes rather than making significant changes 
> to existing classes. So the probability of unintended consequences or new 
> bugs in existing code would be minimized.
> Specification details for floating-point are given in the main TIFF-6 
> documentations and Adobe Photoshop TIFF Technical Note 3.
>  
> I am willing to volunteer to make these changes provided that there is 
> interest and a high probability that my contributions would be evaluated and, 
> if suitable, integrated into the Commons Imaging code base. 
> Thank you for your attention in this matter.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to