As I can read in many posts, it is necessary to convert Sentinel 2 L1C pixel values from Digital Count to TOA reflectance by dividing with the scaling factor.

However when I open my image in SNAP, the values seem to already be in TOA reflectance, or at least between 0-1. I have added my screenshot, showing the histogram and a random pixel value.

Is there an explanation why I see these values, and are they truly in TOA reflectance?

enter image description here

  • The reported value is around 0.15, which appears plausible value (I don't really know what band and what kind of land cover you have). So what's the issue? – Jose Oct 2 '17 at 15:35

SNAP uses scene metadata information to compute the reflectance value instead to add Digital Count value when a scene is loaded:

Metadata reader:

    public double getQuantificationValue() {
        return quantificationValue;

    public double getScalingFactor() {
        return 1.0 / quantificationValue;

Band reader:

        S2BandInformation bandInformation = bandInfo.getBandInformation();

// Some lines after:


The value of Quantification value is defined in .xml metadata file:

(line 58 of MTD_MSIL1C.xml)


Also, SNAP uses a default quantification value for L1C products (10000) if there is no QV in metadata.

|improve this answer|||||
  • Thank you! So since the reflectance values are already computed, I can continue processing the image without scaling it? – dtanon Oct 3 '17 at 8:05
  • @dtanon yes, you can – aldo_tapia Oct 3 '17 at 9:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.