Uploaded image for project: 'Spatial Information Systems'
  1. Spatial Information Systems
  2. SIS-497

ResamplingGrid should be incremental

    XMLWordPrintableJSON

Details

    • Task
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.1
    • None
    • Features
    • None

    Description

      ResamplingGrid can accelerate raster reprojection by pre-computing source pixel coordinates only in a few locations, then apply a bilinear interpolations between those locations. This is the same strategy than the one applied by WarpGrid in Java Advanced Imaging.

      In practice, tests suggest that ResamplingGrid indeed make raster reprojection faster when the whole image is being reprojected. But it is slower if we prepare a reprojected image, then query only a few tiles from it. The reason is that ResamplingGrid prepares a grid of coordinates for the whole image, even if only a few tiles are requested later.

      The proposed fix is to make ResamplingGrid incremental: apply it on a tile-by-tile basis instead than for the whole image. A nice side-effect would be to detect when the transform can be simplified to an affine transform on a tile-by-tile basis (current behavior requires that simplification to apply to the whole image). Difficulties are:

      • More difficult to determine in advance if PlanarImage.POSITIONAL_ACCURACY_KEY can provide a "0.125 px" property value.
      • May introduce redundant Jacobian matrix computations (matrices at tile corners computed up to 4 times), unless we introduce a mechanism for saving previous computation results.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              desruisseaux Martin Desruisseaux
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: