Release 0.11.0 of Strand Camera and Braid

21 views
Skip to first unread message

Andrew Straw

unread,
Dec 2, 2021, 3:16:56 AM12/2/21
to multi-camera software from the Straw Lab
I would like to announce the release of Strand Camera and Braid 0.11.0. These programs are meant for low-latency tracking of animals with single cameras (Strand Camera) or multiple cameras (Braid). The release is available at https://github.com/strawlab/strand-braid/releases/tag/0.11.0 .

Please report any bugs or other issues at https://github.com/strawlab/strand-braid/issues and please use this Google Group https://groups.google.com/g/multicams/c/9Cj8ZqNOdzg for more general discussion.

Here is a copy of the changelog for this release:
## 0.11.0 - 2021-12-02
### Added

* The software is released now as a single `.deb` package for Ubuntu 20.04 which
  includes the main applications (Braid and Strand Camera) in addition to
  numerous smaller utility programs.

* New program `braid-process-video` to process multiple simultaneously recorded
  MKV and FMF videos. Optionally, when a simultaneously recorded .braidz file is
  available, the data in the .braidz is used to directly indicated temporally
  synchronized frames. Without the .braidz file, an algorithm attempts to match
  frames acquired exactly synchronously, but the algorithm is imperfect.

* MKV videos now save timestamps with microsecond precision. (Previously was
  millisecond precision.)

* Support for "remote cameras" in Braid. A remote camera can be used to connect
  cameras on separate computers over the network to an instance of Braid. One or
  more instances of Strand Camera can thus run on computers other than the
  computer on which Braid is running.

* Implement loading all camera node map settings from a file. For Braid, this is
  specified in the `[[cameras]]` section with the `camera_settings_filename`
  key. For Strand Cam, set this with the `--camera-settings-filename`
  command-line argument.

* Braid stores the camera settings for each camera determined with Strand Camera
  was started into the newly created `cam_settings` directory inside the
  `.braidz` file.

* Braid stores the feature detection settings for each camera determined with
  Strand Camera was started into the newly created `feature_detect_settings`
  directory inside the `.braidz` file.

* On linux, Basler Pylon backend checks for resource limits for USB memory
  (`/sys/module/usbcore/parameters/usbfs_memory_mb`) and file descriptors
  (`ulimit`) warns if they are likely too low and suggests how to increase
  limits.

* MKV videos now save the camera name as metadata in the segment title field.

* MKV, FMF, and uFMF videos have the camera name in the filename when saved with
  Braid.

* When saving MKV videos, automatically trim pixels to fit divisible-by-two
  requirements for VPX video encoders.

* Backport to Pylon 5 for Basler cameras. This is not enabled by default but can
  be useful to debug issues dependent on driver version.

* Validate that triggerbox works in Windows.

* April Tag detection works in Windows.

* For debugging, enable ability to capture raw feature detections directly from
  Strand Cam in Braid by the new configuration parameter
  `packet_capture_dump_fname` which specifies a filename into which the data is
  stored.

* Basler cameras automatically set the stream grabber `MaxTransferSize`
  parameter to its maximum possible value. This can be disabled by setting the
  `DISABLE_SET_MAX_TRANSFER_SIZE` environment variable.

### Fixed

* Fixed computation of triggerbox pulse time and consequently estimated latency.
  There were two problems in the previous implementation, and both are now
  fixed. First, the triggerbox firmware has a bug in which two pulses are
  counted before electrical pulses were actually, physically emitted from the
  device. Secondly, the braid-triggerbox crate prior to 0.2.1 mis-calculated the
  estimated time at which the trigger pulse counter was read.

* Fixed segmentation fault that sometimes happened on program exit.

### Changed

* Removed runtime compatibility with old flydra v1 camera nodes and mainbrain.
  This had not been tested in many releases and likely didn't work anyway. This
  required some custom serialization and deserialization code, which has now
  been removed. (Braid communication between Strand Cam and the mainbrain is
  currently done with CBOR encoded data.)

Andrew Straw

unread,
Dec 2, 2021, 4:01:56 AM12/2/21
to multi-camera software from the Straw Lab
Whoops, I used the link for this Google Group. The correct URL is https://groups.google.com/g/multicams .
Reply all
Reply to author
Forward
0 new messages