Pixel values changing after using SNAP graph

I am automating my process for getting 9 bands at 20 m and an additional 20 indices from sentinel-2 images. But I observed the final bands after the automated process shows the pixel values very less than that of original atmospherically corrected pixel values. For example, the B3 band(atmospherically corrected) shows the highest brightness value of around 6000 but the same band after going through the graph attached shows the highest value of 0.9. What is going wrong with this process? Further, I am reading the file as jp2 sentinel 2 format while writing out as BEAM_DIMAP format.
Could anyone please help me?

In jp2 data is stored as integer (full numbers), but SNAP applies a scale factor of 10000 (the QUANTIFUCATION_VALUE) in BEAM DIMAP.

Accordingly, 6000 corresponds to 0.6, for example.

Please have a look at these topics:

I got a pixel value of exactly 0 (image from mid November) for those areas with deciduous forest. Is it still because of scaling or some other issues?

I cannot answer this, because I don’t know your processing steps. Only you can say if this makes sense or not.