Details
Description
Reproduce:
(1) Open product in VISAT
(2) Look at raster width (e.g. 1121 pixels)
(3) Add virtual band with band maths expresiion "X" (value of pixel X coordinate)
(4) Look at Colour Manipulation window: min=0, max=139 (Rough statistics!) --> WRONG (corresponds to image level > 0, e.g. 3)
(5) Press "Rough statistics!" label
(6) min=0, max=1120 --> NOW CORRECT (corresponds to image level 0)
(7) Open image view for X, zoom in and out --> different zoom levels show different images (different levels of grey)
Problematic class is org.esa.beam.jai.VirtualBandOpImage which obviously does not take actual source coordinates into account, lines 264 and 276 are wrong: "env.setElemIndex(i + j);"
Check: similar problem might occur if image pyramids are created from bands that store their entire raster data in a buffer (if band.setRasterData(buffer) has been used).
(1) Open product in VISAT
(2) Look at raster width (e.g. 1121 pixels)
(3) Add virtual band with band maths expresiion "X" (value of pixel X coordinate)
(4) Look at Colour Manipulation window: min=0, max=139 (Rough statistics!) --> WRONG (corresponds to image level > 0, e.g. 3)
(5) Press "Rough statistics!" label
(6) min=0, max=1120 --> NOW CORRECT (corresponds to image level 0)
(7) Open image view for X, zoom in and out --> different zoom levels show different images (different levels of grey)
Problematic class is org.esa.beam.jai.VirtualBandOpImage which obviously does not take actual source coordinates into account, lines 264 and 276 are wrong: "env.setElemIndex(i + j);"
Check: similar problem might occur if image pyramids are created from bands that store their entire raster data in a buffer (if band.setRasterData(buffer) has been used).
To solve this problem the class RaderDataEvalEnv has been extended by take LevelImageSupport into account.