Claire,
About a year ago I had a similar issue reading NAIP imagery.  I was able to use 
Global Mapper to convert the images.  After that MapServer using GDAL could 
serve the images correctly.  I don't know if that will help you, but it worked 
for me.  Converting  4.3 TB of imagery took a while....

-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Claire Porter
Sent: Tuesday, May 19, 2015 4:54 PM
To: [email protected]
Subject: [gdal-dev] JP2OpenJPEG Driver Reads 4th Band of NITF as Alpha

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

_______________________________________________
gdal-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to