Notations and conventions

Notations and conventions#

This DPM uses a small, consistent set of notational conventions. Tensor shapes are written as tuples in NumPy/PyTorch order, e.g. a tile is (C, 256, 256) (channels, height, width) and an embedding matrix is (N, 1024) (number of tiles, embedding dimension D). C denotes the band count of the source modality (Sentinel-1 / Sentinel-2), N the number of embedded tiles and D the embedding dimension. Symbol names and API identifiers (encode, tile_image, load_embeddings, stack_vectors) are written verbatim in monospace and match the corresponding Python names in the Software Design Document, whose design standards govern naming and coding conventions. Block-diagram symbol conventions are summarised below.

Block diagram symbols#

Block diagrams can be created using Mermaid flowcharts.

The following conventions apply:

A plain node illustrates an algorithm step:

        flowchart
  step[Algorithm/Processing step]
    

A node in a subroutine shape illustrates an algorithm step for which a further breakdown exists:

        flowchart
  step[[Function]]
    

A node in a parallelogram shape illustrates data, e.g. internal data:

        flowchart
  data[/Data/]
    

A node in a cylindrical shape illustrates external data, e.g. a database:

        flowchart
  externalData[(Database)]
    

A node (rhombus) illustrates a decision step:

        flowchart
  decision{Decision step}
    

A node with in a trapezoid shape illustrates the start of a loop:

        flowchart
  start[/Start\]
    

A node with in an alternative trapezoid shape illustrates the end of a loop:

        flowchart
  e[\End/]
    

Arrows in block diagrams indicate precedence: data input/output to a step or logical succession of steps:

        flowchart LR
  a[Step A]
  b[Step B]
  a --> b
    

Example diagram:

        flowchart TD
  packet[/Packets/]
  annot[/Annotations/]
  a[Step A]
  b[Step B]
  packet --> a
  annot --> a
  a --> b