Skip to content

Concept of the PyRAT framework

Anderl edited this page Feb 12, 2019 · 1 revision

PyRAT layers

PyRAT works with so-called data layers, which are the basics of all processing tasks. You can imagine them as SAR images or similar. A processing module usually has one or several layers as input, and one or several layers as output.

  • Each layer has a unique name (string, e.g. "/L7") which cannot be modified and is set by PyRAT

  • Each layer contains data and metadata. It usually resists somewhere in a temporary file.

  • New layers are generated by loading data sets, or as output of some processing steps. Processing modules return the name of the newly generated layer (not the layer object itself!)

  • Processing tasks are usually applied to the so-called "active" layer(s).

  • The result of the last processing task is automatically activated and its input is deactivated.

PyRAT workers

Workers are classes to manipulate PyRAT's data layers. Currently, there are four types of workers:

  • InputWorker: these are the base of all import routines. They have no layer as input (but usually a filename or similar as parameter) and generate one or several new layers.
  • OutputWorker: the opposite. Take one or several layers as input and export their content in some way (usually to a file).
  • FilterWorker: The base of most layer manipulation routines. A FilterWorker takes one or several layer as input, does something with these data, and outputs one or several new layers.
  • Worker: A more generic version with somehow more freedom. A bit more tricky to program than a FilterWorker, but more flexible. A possible usage example are iterations, i.e. repeatedly reading, writing, deleting layers and doing all kind of calculations in between. Programming them generally requires decent knowledge how PyRAT works.
  • GroupWorker: A dedicated class to group some of the existing workers into a joint process. Good for establishing processing chains as a single process.
Clone this wiki locally