Opened 14 years ago

Closed 6 years ago

#3367 closed enhancement (fixed)

Default set of pixel functions

Reported by: antonio Owned by: warmerdam
Priority: normal Milestone: 2.2.0
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 (2)

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

Download all attachments as: .zip

Change History (6)

by antonio, 14 years ago

Attachment: pixfun-20100131.patch.bz2 added

by antonio, 13 years ago

Pixel function plugin

comment:1 by antonio, 13 years ago

Attached code to register pixel functions using fake plugin.

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

comment:2 by Even Rouault, 13 years ago

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 comment:3 by antonio, 13 years ago

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!

comment:4 by Even Rouault, 6 years ago

Milestone: 2.2.0
Resolution: fixed
Status: newclosed

We have now in GDAL 2.2 a default set of pixel functions plus the capability to add python pixel functions in the VRT itself

Note: See TracTickets for help on using tickets.