You can do the following:

```
sceneUL = PixelPos(0 + 0.5f, 0 + 0.5f);
sceneUR = PixelPos(product.getSceneRasterWidth() - 1 + 0.5f, 0 + 0.5f);
sceneLL = PixelPos(0 + 0.5f, product.getSceneRasterHeight() - 1 + 0.5f);
sceneLR = PixelPos(product.getSceneRasterWidth() - 1 + 0.5f, product.getSceneRasterHeight() - 1 + 0.5f);
```

this way you have the corner pixels. Afterwards you can do:

```
gp_ul = geoCoding.getGeoPos(sceneUL, gp);
gp_ur = geoCoding.getGeoPos(sceneUR, gp);
gp_ll = geoCoding.getGeoPos(sceneLL, gp);
gp_lr = geoCoding.getGeoPos(sceneLR, gp);
```

From these geo-positions you can retrieve lat and lon.

```
gp_lr.getLat()
gp_lr.getLon()
```

Compute the min and max for lat and lon and then you have the results.

When you have the lat and lon values you can compute the lat/lon width/height and divide it by the pixel width/height.

This way you get the pixelSizeX/Y