[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