Las imágenes de Sentinel 2 L1C empezaron siendo de 12 bits, pero eso se ha modificado a principios de 2016 cuando la ESA cambió QUANTIFICATION_VALUE de 1000 a 10000. Ahora L1C se codifica como un UINT16
jp2 con (¿al menos?) 15 bits significativos. Esto es de gdalinfo
en una reciente B02.jp2
archivo:
Band 1 Block=1024x1024 Type=UInt16, ColorInterp=Gray
Overviews: 5490x5490, 2745x2745, 1372x1372, 686x686
Overviews: arbitrary
Image Structure Metadata:
COMPRESSION=JPEG2000
NBITS=15
Teniendo en cuenta esto, el límite parece ser 32767 en lugar de 65535. Cualquier lector de JPEG2000 devolverá el valor de la muestra como dos bytes, por lo que cualquier código que espere una imagen de 16 bits está a salvo incluso si NBITS cambia a 16 en el futuro.
Otra nota - el metadata.xml del producto que viene con todos los azulejos L1C contiene información sobre los valores especiales NO_DATA y SATURATED, que en los productos recientes tiene este aspecto:
<Special_Values>
<SPECIAL_VALUE_TEXT>NODATA</SPECIAL_VALUE_TEXT
<SPECIAL_VALUE_INDEX>0</SPECIAL_VALUE_INDEX>
</Special_Values>
<Special_Values>
<SPECIAL_VALUE_TEXT>SATURATED</SPECIAL_VALUE_TEXT
<SPECIAL_VALUE_INDEX>65535</SPECIAL_VALUE_INDEX>
</Special_Values>
El valor SATURATED de 65535 indica que la intención era efectivamente utilizar todo el rango de uint16.
En cuanto a L2A, hay (al menos) dos fuentes de valores superiores a 10000:
-
Los datos de L2A son proporcionales a la reflectancia de la superficie, que es proporcional a la luz reflejada por un píxel dividida por la cantidad de luz que incide en un superficie plana cubierto por ese píxel. Algunas laderas recibirán más luz que el denominador en este cálculo, por lo que algunas laderas brillantes orientadas al sol pueden obtener valores de L2A muy superiores a 10000;
-
el algoritmo no corrige idealmente todos los reflejos especulares, los errores de registro del MDE, la radiación emitida y otras causas de una reflectancia superior al 100%
La mayoría de los valores en superficies planas para L2A estarán en el rango de 0..10000, pero puede esperar que algunos valores estén fuera de este rango, hasta 65534, con 65535 de nuevo reservado para los píxeles SATURADOS.
EDIT (gracias a @o-hagolle) descripción más precisa de la gama L2A.