Scalar multiplication

 

DSpGMSingleBand: DSpGMMultiplyScalar

In this operation a scalar is multiplied with every pixel in a raster band. The raster band is overwritten with the result of the addition.

The operation is provided in a high-level and a low-level format. In the high-level format a raster object, a band identifier and a token are specified, together with the scalar. The operation applies to all pixels and the result is stored in the specified band. In the low-level format the operation is applied to a block of contiguous memory containing a specified number of pixels. The low-level format is useful to chain a number of operations without the overhead of storing intermediate results.

If you want to preserve the original raster band, you should make a copy of the band first.

 

Declaration

High-level declaration:

procedure DSpGMMultiplyScalar(const r: TDSpRaster; const band, token: integer;
                              scalar: TDSpFloat64);

Low-level declarations:

procedure DSpGMMultiplyScalarUInt32
procedure DSpGMMultiplyScalarInt32
procedure DSpGMMultiplyScalarInt64
procedure DSpGMMultiplyScalarFloat32
procedure DSpGMMultiplyScalarFloat64
                             (const data: pointer; pixels: integer;
                              fill, scalar: TDSpFloat64);

Parameter Description
r A valid raster object. It must be opened for write access.
band The identifier of the raster band. The band must exist in the raster, and it can be of any type. The data type can be any 32-bit or 64-bit data type.
token The access token for the raster. The token has to be generated for write access.
scalar

The value that every pixel of the raster band is multiplied with. This value will be converted to the data type of the raster band before the operation.

data A pointer to a block of memory containing pixels pixel values.
pixels Number of pixels in the data block of memory.
fill The missing data value of the raster band.


Go to SourceForge
Last modified: 1 January 2005. Page maintained by pvanlaake