[gdal-dev] GeoTiff and the 4th band

Nicolas Mayer nmayer31000 at gmail.com
Mon Apr 18 05:57:47 EDT 2011


Even, Thank you very much !

With the two creation options : PHOTOMETRIC=RGB and ALPHA=NO, I obtain the
same behaviour I whish.

Can you explain me where you found this answer ? (to help me to become more
autonomous with GDAL)

Thank you again

Nicky



2011/4/18 Even Rouault <even.rouault at mines-paris.org>

> Selon Nicolas Mayer <nmayer31000 at gmail.com>:
>
> > Even, thank you very much for answering me so quicly
> >
> > With the PHOTOMETRIC creation option to MINISBLACK, I get now :
> > Band 1 Block=100x20 Type=Byte, ColorInterp=Gray
> > Band 2 Block=100x20 Type=Byte, ColorInterp=Undefined
> > Band 3 Block=100x20 Type=Byte, ColorInterp=Undefined
> > Band 4 Block=100x20 Type=Byte, ColorInterp=Undefined
> >
> > Does this option change anything in the metadatas or in the headers of
> the
> > written file ?
>
> Yes of course, otherwise how would you explain you get a difference ;-) ?
> This
> change the value of the PHOTOMETRIC tiff tag in TIFF file.
>
> >
> > But I try to make the same thing as an exemple file I have, which has
> this
> > interpretation whith gdalinfo (GDAL 1.7.3) :
> >
> > Metadata:
> >   TIFFTAG_IMAGEDESCRIPTION=B3 B2 B1 B4
> >   TIFFTAG_DATETIME=20050824 18:08:22
> >   AREA_OR_POINT=Point
> > Image Structure Metadata:
> >   INTERLEAVE=BAND
> > Corner Coordinates:
> > Upper Left  (    0.0,    0.0)
> > Lower Left  (    0.0, 3000.0)
> > Upper Right ( 3000.0,    0.0)
> > Lower Right ( 3000.0, 3000.0)
> > Center      ( 1500.0, 1500.0)
> > Band 1 Block=3000x500 Type=Byte, ColorInterp=Red
> > Band 2 Block=3000x500 Type=Byte, ColorInterp=Green
> > Band 3 Block=3000x500 Type=Byte, ColorInterp=Blue
> > Band 4 Block=3000x500 Type=Byte, ColorInterp=Undefined
> >
> > My goal is to have an "RGB-Undefined" color interpretation.
> > Have you any idea of the creation option (or driver option ?) to set to
> have
> > the same color interpretations ?
>
> Actually after looking more precisely at the code and a bit of testing, I
> see
> you can obtain the behaviour you wish by specifying both PHOTOMETRIC=RGB
> and
> ALPHA=NO. (ALPHA=NO only will not be sufficient)
>
> >
> > Thank you in advance
> >
> > Nicky
> >
> >
> >
> > 2011/4/18 Even Rouault <even.rouault at mines-paris.org>
> >
> > > Selon Nicolas Mayer <nmayer31000 at gmail.com>:
> > >
> > > Retry by setting the PHOTOMETRIC creation option to MINISBLACK.
> Otherwise,
> > > by
> > > default, without specifying it, GDAL assumes that the PHOTOMETRIC is
> RGB
> > > and
> > > that the 4th band is an alpha band.
> > >
> > > You should get :
> > > Band 1 Block=100x20 Type=Byte, ColorInterp=Gray
> > > Band 2 Block=100x20 Type=Byte, ColorInterp=Undefined
> > > Band 3 Block=100x20 Type=Byte, ColorInterp=Undefined
> > > Band 4 Block=100x20 Type=Byte, ColorInterp=Undefined
> > >
> > > There's no way in the TIFF format to really specify the color
> > > interpretation of
> > > each band. The way GDAL builds the color interpretation when reading a
> TIFF
> > > file
> > > is a combination of the value of the PHOTOMETRIC and EXTRASAMPLES tag.
> > >
> > > > Hello
> > > >
> > > > I have a problem with the geotiff (GTiff) driver.
> > > >
> > > > I create a 4-bands raster image in a c++ program. The fourth band was
> > > > considered as an alpha band in the geotiff image (actually, it is
> near
> > > > infrared : NIR)
> > > >
> > > > $ gdalinfo new_geotiff.tif
> > > > Driver: GTiff/GeoTIFF
> > > > Files: new__geotiff.tif
> > > > Size is 100, 100
> > > > (...)
> > > > Band 1 Block=100x20 Type=Byte, ColorInterp=Red
> > > >   Mask Flags: PER_DATASET ALPHA
> > > > Band 2 Block=100x20 Type=Byte, ColorInterp=Green
> > > >   Mask Flags: PER_DATASET ALPHA
> > > > Band 3 Block=100x20 Type=Byte, ColorInterp=Blue
> > > >   Mask Flags: PER_DATASET ALPHA
> > > > Band 4 Block=100x20 Type=Byte, ColorInterp=Alpha
> > > >
> > > > How to remove the Color interpretation 'alpha' and the mask flags ?
> > > >
> > > > I want to have :
> > > >
> > > > Band 1 Block=100x20 Type=Byte, ColorInterp=Red
> > > > Band 2 Block=100x20 Type=Byte, ColorInterp=Green
> > > > Band 3 Block=100x20 Type=Byte, ColorInterp=Blue
> > > > Band 4 Block=100x20 Type=Byte, ColorInterp=Undefined
> > > >
> > > > I already tryed :
> > > > pDS->GetRasterBand(4)->SetColorInterpretation(GCI_Undefined );
> > > >
> > > > I tryed too to set the creation option : "ALPHA" to "NO".
> > > >
> > > >
> > > > Thanks in advance for any help.
> > > >
> > > > Nicky
> > > >
> > >
> > >
> > >
> >
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/gdal-dev/attachments/20110418/35ef073b/attachment-0001.html


More information about the gdal-dev mailing list