Concepts#
MuFASA represents each sensor fusion system as a directed, acyclic graph – the Fusion Graph. Its internal nodes define processing operations. Edges encode information flow. Input and output nodes define the boundary of a Fusion Graph, while at the same time functioning as connectors to external data sources or sinks respectively.
The Fusion Graph#
A Graph object represents a Fusion Graph,
binding all nodes reachable from its inputs to outputs together.
It is responsible for type compatibility checking and orchestrates the execution of the fusion system
via its run() method. It also distributes global configuration – crs,
bounding box and map raster resolution – to every node.
from mufasa.graph import Graph
graph = Graph(
inputs=[...],
outputs=[...],
crs="",
)
graph.run()
Data Flow#
All information flowing within a Fusion Graph is of one of two fundamental data types,
Location and Map, or any more specific one derived from them.
Every edge adheres to a single data type that is determined by the nodes it connects.
Every node specifies the set of types it accepts and the single one it produces.
Only compatible nodes might be wired together.
See also
The Flow Data Models catalog for a complete list of builtin data models