-
Notifications
You must be signed in to change notification settings - Fork 48
Concept of the PyRAT framework
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.
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.