MuFASA#

MuFASA - Multimodal Fusion Architecture for Sensor Applications

MuFASA - Multimodal Fusion Architecture for Sensor Applications

A framework for rapid prototyping of geospatial sensor fusion systems. MuFASA turns the design of a multimodal fusion system into an explicit, executable graph.

The Fusion Graph#

MuFASA interprets a fusion system as a Fusion Graph: a directed acyclic graph that starts at Input nodes and ends at Output nodes. You compose it functionally by calling each node on its inputs, and nodes connect wherever their data types match. Learn more about the concept in the User Guide.

from mufasa import Graph, BoundingBox
from mufasa.io.inputs import GeoJsonInput
from mufasa.io.outputs import GeoJsonOutput
from mufasa.nodes import StaticMap, POM, BayesianFusion, Threshold

# Input nodes
track_a = GeoJsonInput("sensor_a.geojson")
track_b = GeoJsonInput("sensor_b.geojson")
static = StaticMap("priors.geojson")

# Processing nodes
pom_a = POM(decay_s=5)(track_a)
pom_b = POM(decay_s=1)(track_b)
fused = BayesianFusion()(pom_a, pom_b, static)
alarms = Threshold(threshold=0.7)(fused)

# Output nodes
out = GeoJsonOutput("alarms.geojson")(alarms)

# Fusion Graph
bbox = BoundingBox(48.268, 16.426, 48.27, 16.4275)
graph = Graph(inputs=[track_a, track_b], outputs=[out],
              crs="EPSG:32639", bbox=bbox, resolution=(10, 10))
graph.run()
GJIGeoJsonInputLocation family: ObservationObservationGJIGeoJsonInputLocation family: ObservationObservationSMStaticMapMap family: BayesianMapBayesianMapPOMPOMLocation family: ObservationObservationMap family: BayesianMapBayesianMapPOMPOMLocation family: ObservationObservationMap family: BayesianMapBayesianMapBFBayesianFusionMap family: BayesianMapBayesianMapMap family: BayesianMapBayesianMapTHThresholdMap family: BayesianMapBayesianMapLocation family: ObservationObservationGJOGeoJsonOutputLocation family: LocationLocation

Find your way through the docs#

New to MuFASA

Getting started walks you through installing MuFASA and running your first Fusion Graph. The User Guide explains the core concepts: Locations, Maps, Nodes and Graphs.

Evaluating for your domain

The Showcases show MuFASA in controlled real-world environments. The Node Catalog lists the nodes and data types you can build with.

Building your system

The User Guide covers custom nodes and live deployment. The API Reference documents every class and parameter.