> The basic idea is to average the piecewise constant "nearest > neighbour" surface on the smallest rectangle (width and height at > least 1) that contains the pull-back (inverse image, anti-image) of an > "output" pixel area by the inverse Jacobian (approximated if needed). An alternative is to pull back an output pixel area with a modified inverse Jacobian set so that that its singular values are all at least 1, and then find the smallest rectangle which contains the pull-back. This is somewhat related to what Craig DeForest has done in PDL::transform (sp?). (You may also modify the Jacobian so that its singular values are at most 1: no difference really in the final result.) I have an honour thesis student (Chantal Racette) trying to figure out which approach is best. It is not really important to figure out now which one is best because once the code is written for one approach, it would be fairly easy to set it up for the other. (2x2 SVD's are not really a big deal.) Because the smallest rectangle is exactly the pull back when doing straight downsampling, the method boils down to exact area box filtering when downsizing images (e.g., thumbnail production). For transformations which don't map axes to axes (most rotations, shear, warp), the rectangle ends up being larger, which is a good thing because aliasing is generally more pronounced. Nicolas Robidoux Laurentian University _______________________________________________ Gegl-developer mailing list Gegl-developer@xxxxxxxxxxxxxxxxxxxxxx https://lists.XCF.Berkeley.EDU/mailman/listinfo/gegl-developer