podpac.algorithm.Convolution

class podpac.algorithm.Convolution(**kwargs)[source]

Bases: podpac.core.algorithm.algorithm.UnaryAlgorithm

Compute a general convolution over a source node.

This node automatically resizes the requested coordinates to avoid edge effects.

source

Source node on which convolution will be performed.

Type

podpac.Node

kernel

The convolution kernel. This kernel must have the same number of dimensions as the source data outputs

Type

np.ndarray, optional

kernel_dims

A list of the dimensions for the kernel axes. The dimensions in this list must match the coordinates in the source, or contain additional dimensions, and the order does not need to match. Any extra dimensions are summed out.

Type

list, optional

kernel_type

If kernel is not defined, kernel_type will create a kernel based on the inputs, and it will have the same number of axes as kernel_ndim. The format for the created kernels is ‘<kernel_type>, <kernel_size>, <kernel_params>’. Any kernel defined in scipy.signal as well as mean can be used. For example: kernel_type = ‘mean, 8’ or kernel_type = ‘gaussian,16,8’ are both valid. Note: These kernels are automatically normalized such that kernel.sum() == 1

Type

str, optional

Alternative Constructors

from_definition(definition)

Create podpac Node from a dictionary definition.

from_json(s)

Create podpac Node from a JSON definition.

Methods

__init__(**kwargs)

Do not overwrite me

create_output_array(coords[, data])

Initialize an output data array

eval(coordinates[, output])

Evaluates this nodes using the supplied coordinates.

eval_group(group)

Evaluate the node for each of the coordinates in the group.

find_coordinates()

Get the available coordinates for the inputs to the Node.

from_url(url)

Create podpac Node from a WMS/WCS request.

get_cache(key[, coordinates])

Get cached data for this node.

has_cache(key[, coordinates])

Check for cached data for this node.

init()

Overwrite this method if a node needs to do any additional initialization after the standard initialization.

load(path)

Create podpac Node from file.

put_cache(data, key[, coordinates, overwrite])

Cache data for this node.

rem_cache(key[, coordinates, mode])

Clear cached data for this node.

save(path)

Write node to file.

trait_is_defined(name)

Attributes

attrs

List of node attributes

base_ref

Default reference/name in node definitions

cache_ctrl

A trait whose value must be an instance of a specified class.

cache_output

A boolean (True, False) trait.

definition

dtype

A trait which allows any value.

force_eval

A boolean (True, False) trait.

hash

inputs

json

json_pretty

kernel

A coercing numpy array trait.

kernel_dims

An instance of a Python list.

output

A trait for unicode strings.

outputs

An instance of a Python list.

source

style

A trait whose value must be an instance of a specified class.

units

A trait for unicode strings.

Members

__init__(**kwargs)

Do not overwrite me

eval(coordinates, output=None)[source]

Evaluates this nodes using the supplied coordinates.

Parameters
  • coordinates (podpac.Coordinates) – The set of coordinates requested by a user. The Node will be evaluated using these coordinates.

  • output (podpac.UnitsDataArray, optional) – Default is None. Optional input array used to store the output data. When supplied, the node will not allocate its own memory for the output array. This array needs to have the correct dimensions, coordinates, and coordinate reference system.

Returns

Unit-aware xarray DataArray containing the results of the node evaluation.

Return type

podpac.UnitsDataArray

kernel

A coercing numpy array trait.

kernel_dims

An instance of a Python list.