Ticket #3367 (new enhancement)

Opened 5 years ago

Last modified 3 years ago

Default set of pixel functions

Reported by: antonio Owned by: warmerdam
Priority: normal Milestone:
Component: default Version: svn-trunk
Severity: normal Keywords:
Cc:

Description

I think that it would be nice to have a base set of PixelFunctions (mod, phase, real, imag, sum, diff, etc.) bundled with the GDAL library in order to allow the user to cook its own virtual datasets and then use standard GDAL tools for further processing.

The attached path provides bot pixelfunctins and a registration function that is called inside GDALAllRegister. The patch also provides a base test set.

The list of implemented functions:

 * - "real": extract real part from a single raster band (just a copy if the
 *           input is non-complex)
 * - "imag": extract imaginary part from a single raster band (0 for
 *           non-complex)
 * - "mod": extract module from a single raster band (real or complex)
 * - "phase": extract phase from a single raster band (0 for non-complex)
 * - "conj": computes the complex conjugate of a single raster band (just a
 *           copy if the input is non-complex)
 * - "sum": sum 2 or more raster bands
 * - "diff": computes the difference between 2 raster bands (b1 - b2)
 * - "mul": multilpy 2 or more raster bands
 * - "cmul": multiply the first band for the complex comjugate of the second
 * - "inv": inverse (1./x). Note: no check is performed on zero division
 * - "intensity": computes the intensity Re(x*conj(x)) of a single raster band
 *                (real or complex)
 * - "sqrt": perform the square root of a single raster band (real only)
 * - "log10": compute the logarithm (base 10) of the abs of a single raster
 *            band (real or complex): log10( abs( x ) )
 * - "dB2amp": perform scale conversion from logarithmic to linear
 *             (amplitude) (i.e. 10 ^ ( x / 20 ) ) of a single raster
 *                 band (real only)
 * - "dB2pow": perform scale conversion from logarithmic to linear
 *             (power) (i.e. 10 ^ ( x / 10 ) ) of a single raster
 *             band (real only)

Attachments

pixfun-20100131.patch.bz2 Download (7.0 KB) - added by antonio 5 years ago.
pixfun-plugin-20110513.tar.gz Download (11.2 KB) - added by antonio 4 years ago.
Pixel function plugin

Change History

Changed 5 years ago by antonio

Changed 4 years ago by antonio

Pixel function plugin

  Changed 4 years ago by antonio

Attached code to register pixel functions using fake plugin.

See  http://lists.osgeo.org/pipermail/gdal-dev/2011-May/028737.html

follow-up: ↓ 3   Changed 3 years ago by rouault

Note : it is possible to define a Python pixel function and register it through the use of the ctypes module. See http://trac.osgeo.org/gdal/changeset/22896

in reply to: ↑ 2   Changed 3 years ago by antonio

Replying to rouault:

Note : it is possible to define a Python pixel function and register it through the use of the ctypes module. See http://trac.osgeo.org/gdal/changeset/22896

Hi Even, thank you very much for the pointer. It is very interesting indeed!

Note: See TracTickets for help on using tickets.