[gdal-dev] JP2OpenJPEG Driver Reads 4th Band of NITF as Alpha

Claire Porter claire.porter at gmail.com
Tue May 19 15:54:19 PDT 2015


Hello,

I use the OpenJPEG 2.0 driver to decode the JP2 images within NITF files
(1B level NITF images from DigitalGlobe).  For 4 band images, the driver
interprets the 4th band as Alpha.  When I warp the imagery using gdalwarp,
the 4th band in the output is all zeros. If I convert the image using
gdal_translate, the 11 bit values in the 4th band are truncated to 255.
Using GTiff creation options of PHOTOMETRIC=RGB or MINISBLACK and ALPHA=NO
do not change the results.

I found this only occurs with the OpenJPEG driver. The Jasper, Kakadu, and
ECW drivers interpret the 4th band as Undefined and the 4th band behaves
normally in gdalwarp and gdal_translate.  I've tried gdal versions from
1.9.0 to 1.11.1.  I thought perhaps the issue would be solved in OpenJPEG
2.1, and so I tried compiling GDAL 1.11.1 with OpenJPEG 2.1.0.  But, that
still resulted in the 4th band being read as Alpha.

I'd really like to continue using OpenJPEG since it will be so well
supported in GDAL 2.0.  Anyone know a work around for this?  Is this a GDAL
issue or an OpenJPEG issue?

Thanks,
Claire


*gdalinfo using the OpenJPEG driver and GDAL 1.11.1:*

OPENJPEG: info: Start to read j2k main header (0).
OPENJPEG: info: Main header has been correctly decoded.
GDAL:
GDALOpen(/vsisubfile/3935_198497332,output/WV02_12OCT082110317-M1BS-103001001B68B600.ntf,
this=0x948760) succeeds as JP2OpenJPEG.
GDAL: NITFDataset::Open() wasn't able to derive a first order
geotransform.  It will be returned as GCPs.
GDAL: GDALDefaultOverviews::OverviewScan()
GDAL: GDALOpen(output/WV02_12OCT082110317-M1BS-103001001B68B600.ntf,
this=0x8bfd10) succeeds as NITF.
Driver: NITF/National Imagery Transmission Format
Files: output/WV02_12OCT082110317-M1BS-103001001B68B600.ntf
       output/WV02_12OCT082110317-M1BS-103001001B68B600.xml
Size is 9216, 8192
Coordinate System is `'
GCP Projection =
GEOGCS["WGS 84",
    DATUM["WGS_1984",
        SPHEROID["WGS 84",6378137,298.257223563,
...........
  SAMP_OFF=4409
  SAMP_SCALE=4410
Corner Coordinates:
Upper Left  (    0.0,    0.0)
Lower Left  (    0.0, 8192.0)
Upper Right ( 9216.0,    0.0)
Lower Right ( 9216.0, 8192.0)
Center      ( 4608.0, 4096.0)
Band 1 Block=1024x1024 Type=UInt16, ColorInterp=Blue
  Overviews: 4608x4096, 2304x2048, 1152x1024, 576x512, 288x256
  Overviews: arbitrary
  Image Structure Metadata:
    NBITS=11
Band 2 Block=1024x1024 Type=UInt16, ColorInterp=Green
  Overviews: 4608x4096, 2304x2048, 1152x1024, 576x512, 288x256
  Overviews: arbitrary
  Image Structure Metadata:
    NBITS=11
Band 3 Block=1024x1024 Type=UInt16, ColorInterp=Red
  Overviews: 4608x4096, 2304x2048, 1152x1024, 576x512, 288x256
  Overviews: arbitrary
  Image Structure Metadata:
    NBITS=11
Band 4 Block=1024x1024 Type=UInt16, ColorInterp=*Alpha*
  Overviews: 4608x4096, 2304x2048, 1152x1024, 576x512, 288x256
  Overviews: arbitrary
  Image Structure Metadata:
    NBITS=11
GDAL:
GDALClose(/vsisubfile/3935_198497332,output/WV02_12OCT082110317-M1BS-103001001B68B600.ntf,
this=0x94d3f0)
GDAL:
GDALClose(/vsisubfile/3935_198497332,output/WV02_12OCT082110317-M1BS-103001001B68B600.ntf,
this=0x948760)
GDAL: GDALClose(output/WV02_12OCT082110317-M1BS-103001001B68B600.ntf,
this=0x8bfd10)


*gdalinfo using** ECW and 1.11.1 (Jasper and Kakadu are similar):*

ECW:
NCScbmOpenFileView(/vsisubfile/3935_198497332,Z:\claire\debug_ortho\output2\WV02_12OCT082110317-M1BS-103001001B68B600.ntf):
eErr=2, will try VSIL stream.
ECW: Got mutex.
ECW: Using filename 'C:\Users\porte254\AppData\Local\Temp\99544_0.ntf' for
temporary directory determination purposes.
ECW: Using filename 'C:\Users\porte254\AppData\Local\Temp\99544_1.ntf' for
temporary directory determination purposes.
ECW: Using filename 'C:\Users\porte254\AppData\Local\Temp\99544_2.ntf' for
temporary directory determination purposes.
ECW: Using filename 'C:\Users\porte254\AppData\Local\Temp\99544_3.ntf' for
temporary directory determination purposes.
ECW: Using filename 'C:\Users\porte254\AppData\Local\Temp\99544_4.ntf' for
temporary directory determination purposes.
ECW: Using filename 'C:\Users\porte254\AppData\Local\Temp\99544_5.ntf' for
temporary directory determination purposes.
ECW: Using filename 'C:\Users\porte254\AppData\Local\Temp\99544_6.ntf' for
temporary directory determination purposes.
ECW: Using filename 'C:\Users\porte254\AppData\Local\Temp\99544_7.ntf' for
temporary directory determination purposes.
ECW: Using filename 'C:\Users\porte254\AppData\Local\Temp\99544_8.ntf' for
temporary directory determination purposes.
ECW: FileInfo: SizeXY=9216,8192 Bands=4
       OriginXY=0,0  CellIncrementXY=1,1
       ColorSpace=3, eCellType=1

GDAL:
GDALOpen(/vsisubfile/3935_198497332,Z:\claire\debug_ortho\output2\WV02_12OCT082110317-M1BS-103001001B68B600.ntf,
this=000000000032FBA0) succeeds as JP2ECW.
GDAL: NITFDataset::Open() wasn't able to derive a first order
geotransform.  It will be returned as GCPs.
GDAL: GDALDefaultOverviews::OverviewScan()
GDAL:
GDALOpen(Z:\claire\debug_ortho\output2\WV02_12OCT082110317-M1BS-103001001B68B600.ntf,
this=000000000031EC40) succeeds as NITF.
Driver: NITF/National Imagery Transmission Format
Files: output2\WV02_12OCT082110317-M1BS-103001001B68B600.ntf
         output2\WV02_12OCT082110317-M1BS-103001001B68B600.XML
Size is 9216, 8192
Coordinate System is `'
GCP Projection =
GEOGCS["WGS 84",
    DATUM["WGS_1984",
        SPHEROID["WGS 84",6378137,298.257223563,
        .....................................................
  SAMP_OFF=4409
  SAMP_SCALE=4410
Corner Coordinates:
Upper Left  (    0.0,    0.0)
Lower Left  (    0.0, 8192.0)
Upper Right ( 9216.0,    0.0)
Lower Right ( 9216.0, 8192.0)
Center      ( 4608.0, 4096.0)
Band 1 Block=256x256 Type=UInt16, ColorInterp=Blue
  Overviews: 4608x4096, 2304x2048, 1152x1024, 576x512, 288x256
  Image Structure Metadata:
    NBITS=11
Band 2 Block=256x256 Type=UInt16, ColorInterp=Green
  Overviews: 4608x4096, 2304x2048, 1152x1024, 576x512, 288x256
  Image Structure Metadata:
    NBITS=11
Band 3 Block=256x256 Type=UInt16, ColorInterp=Red
  Overviews: 4608x4096, 2304x2048, 1152x1024, 576x512, 288x256
  Image Structure Metadata:
    NBITS=11
Band 4 Block=256x256 Type=UInt16, ColorInterp=*Undefined*
  Overviews: 4608x4096, 2304x2048, 1152x1024, 576x512, 288x256
  Image Structure Metadata:
    NBITS=11
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20150519/40485ce7/attachment.html>


More information about the gdal-dev mailing list