[Gdal-dev] Resampling with gdalwarp

Manuel Massing m.massing at warped-space.de
Wed Mar 17 14:10:55 EST 2004


Hi,

> I agree with Frank's comments regarding the (mis)use of bilinear
> resampling for downsampling, at least by my definition of "bilinear
> resampling". :)  Some sort of averaging does sound like a better method
> although I haven't much experience with image scaling issues.

To my knowledge, in cases where great scalability is required (texture
mapping), both downsampling and bilinear resampling are combined by
"mipmapping filtering". In this approach, a mip-map level (in essence the
level of a factor 2 image pyramid) is choosen according to the reprojected
pixel footprint (i.e. the projected area of the destination pixel onto the 
source dataset), which is then used for the bilinear interpolation. This
works well for isotropic downsampling, as the source footprint is approximated
by a square. Trilinear filtering additionally interpolates bilinear samples
between the two nearest MIP-map levels. Anisotropic cases are normally 
handled by taking multiple (usually trilinear) samples along the axis of
anisotropy ...

Given the fact that most modern GPUs implement these resampling features
in hardware, it might be worthwhile to add e.g. OpenGL texture mapping as a
resampling mechanism - this could, depending on the underlying hardware, yield
a high performance & high quality resampling implementation - though probably 
with some constraints regarding component resolution.

bye,

	Manuel



More information about the Gdal-dev mailing list