Spatial generic filter

Spatial generic (user-defined) filter.

Usage:

  1. Start the algorithm from the Processing Toolbox panel.

  2. Select the raster to process and modify the parameterization if necessary, then click run.

    ../../../../_images/generic_filter_interface.png
  3. Processed image in comparison to the original.

    ../../../../_images/generic_filter_result.png

Parameters

Raster layer [raster]

Raster layer to be processed band-wise.

Function [string]

Python code. See generic_filter for information on different parameters.

Default:

from scipy.ndimage.filters import generic_filter
import numpy as np

def filter_function(invalues):
    # do whatever you want to create the output value, e.g. np.nansum
    outvalue = np.nansum(invalues)  # replace this line with your code!
    return outvalue

function = lambda array: generic_filter(array, function=filter_function, size=3)

Outputs

Output raster layer [rasterDestination]

Raster file destination.

Command-line usage

>qgis_process help enmapbox:SpatialGenericFilter:

----------------
Arguments
----------------

raster: Raster layer
    Argument type:  raster
    Acceptable values:
            - Path to a raster layer
function: Function
    Default value:  from scipy.ndimage.filters import generic_filter
import numpy as np

def filter_function(invalues):
    # do whatever you want to create the output value, e.g. np.nansum
    outvalue = np.nansum(invalues)  # replace this line with your code!
    return outvalue

function = lambda array: generic_filter(array, function=filter_function, size=3)
    Argument type:  string
    Acceptable values:
            - String value
            - field:FIELD_NAME to use a data defined value taken from the FIELD_NAME field
            - expression:SOME EXPRESSION to use a data defined value calculated using a custom QGIS expression
outputRaster: Output raster layer
    Argument type:  rasterDestination
    Acceptable values:
            - Path for new raster layer

----------------
Outputs
----------------

outputRaster: <outputRaster>
    Output raster layer