...
Users create volumes in RapidSense by drawing cuboids via the RTR control panel. The volumes can be dragged, resized, named, and deleted. Figure 2 illustrates the concept. Users can create filters and assign them to a volume. After assigning a filter to a volume, users can then query the filter in real-time, then and modify the filter parameters to suit your application. Multiple filters can be assigned to a single volume, however, a filter instantiation can only be associated to a single volume.
...
Architecture
RapidSense is designed and implemented around built on a reactive, high performance architecture, called the actor-design pattern. The actor pattern This architecture is a message passing pattern for distributed, event-based systems. Most filters are implemented as independent actors. The interface to RapidSense is REST-based. As users configure RapidSense the configuration is persisted by RapidSense allowing users to configure a system once and then reuse that same configuration until a change is desired. Figure 3 is a breakdown of the actors comprising RapidSense.
...
RapidSense is configured through a pair of configuration files (rapidsense.json
and cal.json
) both located at /home/user/.config/rapidsense
. Users can configure the system either manually by hand or through the Control Panel by way of the volumes endpoint. A user of the system creates volumes within which operations take place. As volumes are created in the control panel the configuration files update persisting configuration between invocations of RapidSense. An example of a configuration file and details of the file format follow.
...
ID - The volume ID as an integer.
Bounds - Lower and upper bounds of the volume as (x, y, z) coordinates in the project’s reference frame. All values are in meters as doubles.
...