Skip to content

Releases: PlanktoScope/device-backend

v2024.0.0

26 Dec 04:02
517772f
Compare
Choose a tag to compare

Changelog

Fixed

  • (Segmenter) The segmenter now correctly sets the img_rank metadata field of the EcoTaxa export to 1, instead of setting it to an incrementing index which makes exports un-importable by EcoTaxa for datasets with more than ~32,000 objects.

Pull Requests

  • Fix a few issues with setup on RPi OS 12 (bookworm) by @ethanjli in #15
  • Change the path of the machine-name file to load by @ethanjli in #16
  • Containerize the segmenter by @ethanjli in #17
  • Bump pillow by @ethanjli in #18
  • Fix incorrect pixel calibration sizes for v2.5 & v2.6 hardware by @ethanjli in #21
  • Replace EcoTaxa export filename fields with just the acquisition ID by @ethanjli in #20
  • Stop dropping root in segmenter container by @ethanjli in #22
  • Try again to fix GH Actions errors in merge group by @ethanjli in #23
  • Migrate to the picamera2 library for camera control & image acquisition by @W7CH in #19
  • Bump dependencies by @ethanjli in #24
  • Rename pscopehat to planktoscopehat by @ethanjli in #25
  • Rename pscopehat to planktoscopehat in hardware config files by @ethanjli in #26
  • Don't push container images in PRs from forks by @ethanjli in #30
  • Try again to avoid pushing container images in PRs from forks by @ethanjli in #31
  • Iterate on code comments and internal APIs for camera and imagernew by @ethanjli in #27
  • Only subtract consecutive masks when an env var is set by @ethanjli in #32
  • Fix various picamera2 camera settings by @ethanjli in #33
  • Refactor CI workflows, adjust image tagging by @ethanjli in #37
  • Pull back default planktoscopehat hardware config to v2.5 hardware by @ethanjli in #38
  • Initialize camera image gain to a consistent ISO of 150 by @ethanjli in #48
  • Make EcoTaxa metadata TSV file names unique per dataset by @RomainFauvel in #40
  • Try to mitigate camera preview stream latency problems by @ethanjli in #68
  • Fix incorrect segmenter object size thresholding calculations by @ethanjli in #50
  • Use merge gatekeeper to avoid running slow CI workflows when not needed by @ethanjli in #69
  • Fix incorrect use of img_rank field in EcoTaxa export metadata by @ethanjli in #70

New Contributors

Full Changelog: v2023.9.0...v2024.0.0

v2024.0.0-beta.3

30 Nov 00:19
0c24df3
Compare
Choose a tag to compare
v2024.0.0-beta.3 Pre-release
Pre-release

Changelog

Changed

  • (Hardware controller) The resolution of the camera preview stream has been reduced from 960x720 to 800x600 in an attempt to mitigate hard-to-reproduce preview stream latency problems.
  • (Hardware controller) The bitrate of the camera preview stream has been reduced slightly from ~8 Mbps to ~7 Mbps.
  • (Hardware controller) The framerate of the camera preview stream is now explicitly limited to 25 fps.

Fixed

  • (Breaking change; segmenter) The previously incorrect method for filtering segmented objects by size has now been corrected to filter object sizes by filled area rather than bounding box area, and directly using the mesh size as the threshold for equivalent spherical diameter (ESD) instead of calculating a fictional ESD.

Pull Requests

  • Try to mitigate camera preview stream latency problems by @ethanjli in #68
  • Fix incorrect segmenter object size thresholding calculations by @ethanjli in #50

Full Changelog: v2024.0.0-beta.2...v2024.0.0-beta.3

v2024.0.0-beta.2

19 Sep 05:03
f4d60a3
Compare
Choose a tag to compare
v2024.0.0-beta.2 Pre-release
Pre-release

Changelog

Changed

  • (Hardware controller) The default image gain used to initialize the camera module is now set to match a default equivalent ISO value of 150 across all camera sensor types, instead of being hard-coded to 1.0 (which corresponds to an ISO of around 40 or 50 depending on the camera sensor type).
  • (Segmenter) Now the segmenter generates EcoTaxa export ZIP archives whose metadata files are not named ecotaxa_export.tsv, but instead are named ecotaxa_{acquisition id}.tsv, to enable more efficient bulk importing of those ZIP archives into EcoTaxa.

Pull Requests

  • Initialize camera image gain to a consistent ISO of 150 by @ethanjli in #48
  • Make EcoTaxa metadata TSV file names unique per dataset by @RomainFauvel in #40

New Contributors

Full Changelog: v2024.0.0-beta.1...v2024.0.0-beta.2

v2024.0.0-beta.1

24 Jun 06:23
fba82fd
Compare
Choose a tag to compare
v2024.0.0-beta.1 Pre-release
Pre-release

Changelog

Added

  • (Hardware controller) A default fairscope-latest hardware config file has been created as the default v2.6 hardware config file.

Changed

  • (Breaking change; hardware controller) The default planktoscopehat hardware config file has been rolled back from the default v2.6 hardware config file to the default v2.5 hardware config file. This reverts a change made in v2024.0.0-alpha.1.

Pull Requests

  • Pull back default planktoscopehat hardware config to v2.5 hardware by @ethanjli in #38

Full Changelog: v2024.0.0-beta.0...v2024.0.0-beta.1

v2024.0.0-beta.0

07 Jun 20:13
9c73f40
Compare
Choose a tag to compare
v2024.0.0-beta.0 Pre-release
Pre-release

Changelog

(this release involves no changes from v2024.0.0-alpha.2; it's just a promotion of v204.0.0-alpha.2 to a beta pre-release)

Pull Requests

  • Refactor CI workflows, adjust image tagging by @ethanjli in #37

Full Changelog: v2024.0.0-alpha.2...v2024.0.0-beta.0

v2024.0.0-alpha.2

25 Apr 06:03
4bc7e92
Compare
Choose a tag to compare
v2024.0.0-alpha.2 Pre-release
Pre-release

Changelog

Changed

  • (Breaking change; segmenter) Previously, the segmenter's default behavior was to subtract consecutive masks to try to mitigate image-processing issues with objects which get stuck to the flowcell during imaging. However, when different objects occupied the same space in consecutive frames, the subtraction behavior would subtract one object's mask from the mask of the other object in the following frame, which would produce clearly incorrect masks. This behavior is no longer enabled by default; in order to re-enable it, you should set the environment variable SEGMENTER_PIPELINE_SUBTRACT_CONSECUTIVE_MASKS=true when launching the segmenter.
  • (Hardware controller) The image quality of frames in the camera preview stream for the picamera2-based imager is increased, and frames also have greater width and height.

Deprecated

  • (Hardware controller) The old raspimjpeg-based imager is deprecated and will be fully deleted in a subsequent release (potentially as early as v2024.1.0).

Fixed

  • (Hardware controller) The incorrect scaling factor for converting between ISO settings (in the MQTT API) and image gains is fixed.

Pull Requests

  • Fix a few issues with setup on RPi OS 12 (bookworm) by @ethanjli in #15
  • Change the path of the machine-name file to load by @ethanjli in #16
  • Containerize the segmenter by @ethanjli in #17
  • Bump pillow by @ethanjli in #18
  • Fix incorrect pixel calibration sizes for v2.5 & v2.6 hardware by @ethanjli in #21
  • Replace EcoTaxa export filename fields with just the acquisition ID by @ethanjli in #20
  • Stop dropping root in segmenter container by @ethanjli in #22
  • Try again to fix GH Actions errors in merge group by @ethanjli in #23
  • Migrate to the picamera2 library for camera control & image acquisition by @W7CH in #19
  • Bump dependencies by @ethanjli in #24
  • Rename pscopehat to planktoscopehat by @ethanjli in #25
  • Rename pscopehat to planktoscopehat in hardware config files by @ethanjli in #26
  • Don't push container images in PRs from forks by @ethanjli in #30
  • Try again to avoid pushing container images in PRs from forks by @ethanjli in #31
  • Iterate on code comments and internal APIs for camera and imagernew by @ethanjli in #27
  • Only subtract consecutive masks when an env var is set by @ethanjli in #32
  • Fix various picamera2 camera settings by @ethanjli in #33

New Contributors

  • @W7CH made their first contribution in #19

Full Changelog: v2023.9.0...v2024.0.0-alpha.2

v2024.0.0-alpha.1

26 Mar 22:57
9c87f5b
Compare
Choose a tag to compare
v2024.0.0-alpha.1 Pre-release
Pre-release

Changelog

Added

  • (Hardware controller) A new picamera2-based camera-management module (camera) is now available as an alternative to the camera-management part of the previous raspimjpeg-based image-acquisition-and-camera-management module.
  • (Hardware controller) A new image-acquisition module (imagernew) is now available for use with the new picamera2-based camera module, as an alternative to the image-acquisition part of the previous raspimjpeg-based image-acquisition-and-camera-management module.

Changed

  • (Hardware controller) The new picamera2-based image-acquisition module (imagernew) is now used by default, instead of the previous raspimjpeg-based imager module.
  • (Breaking change; segmenter) EcoTaxa export archive filenames are now saved as ecotaxa_{acquisition id}.zip instead of ecotaxa_{project id}_{date}_{sample id}.zip, which was long and redundant and (because many devices have incorrect system times) inappropriate for viewing files in a logically sorted order.
  • (Breaking change; hardware controller) The version of the hardware controller for the PlanktoScope HAT has been moved from control/pscopehat to control/planktoscopehat.

Fixed

  • (Breaking change; hardware controller) Images acquired by the hardware controller using the newly-default imagernew image-acquisition module now have more unique filenames (which include an incrementing index and the date of image capture, rather than just the time of the image capture).
  • (Hardware controller) The hardware controller using the newly-default imagernew image-acquisition module no longer crashes when invalid values are given for camera settings (e.g. null or non-numeric white balance gains).
  • (Hardware controller) The pixel calibration values have been switched between the default v2.5 hardware config file and the default v2.6 hardware config file, so that each file has the correct pixel calibration. The default pscopehat hardware config file has also been updated to include the changes made to the default v2.6 hardware config file.
  • (Breaking change; segmenter) The segmenter now runs as root (instead of pi) in the Docker container for it, so that it doesn't break on various actual & potential edge cases of files/directories being created with root ownership (rather than pi ownership) before being bind mounted into the container.

Pull Requests

  • Fix a few issues with setup on RPi OS 12 (bookworm) by @ethanjli in #15
  • Change the path of the machine-name file to load by @ethanjli in #16
  • Containerize the segmenter by @ethanjli in #17
  • Bump pillow by @ethanjli in #18
  • Fix incorrect pixel calibration sizes for v2.5 & v2.6 hardware by @ethanjli in #21
  • Replace EcoTaxa export filename fields with just the acquisition ID by @ethanjli in #20
  • Stop dropping root in segmenter container by @ethanjli in #22
  • Try again to fix GH Actions errors in merge group by @ethanjli in #23
  • Migrate to the picamera2 library for camera control & image acquisition by @W7CH in #19
  • Bump dependencies by @ethanjli in #24
  • Rename pscopehat to planktoscopehat by @ethanjli in #25
  • Rename pscopehat to planktoscopehat in hardware config files by @ethanjli in #26

New Contributors

  • @W7CH made their first contribution in #19

Full Changelog: v2023.9.0...v2024.0.0-alpha.1

v2024.0.0-alpha.0

26 Feb 20:19
29a972b
Compare
Choose a tag to compare
v2024.0.0-alpha.0 Pre-release
Pre-release

Changelog

Added

  • (Segmenter) A Docker container image is now built for the segmenter, for amd64, arm64, and armv7.

Changed

  • (Breaking change) The machine name is now loaded from /var/lib/planktoscope/machine-name, rather than the previous location of /home/pi/.local/etc/machine-name.

Fixed

  • (Segmenter) An extraneous export directory should no longer be created by the segmenter under /home/pi/PlanktoScope. The correct directory is /home/pi/data/export.

Pull Requests

Full Changelog: v2023.9.0...v2024.0.0-alpha.0

v2023.9.0

29 Dec 23:38
c4a91eb
Compare
Choose a tag to compare

Changelog

(this release involves no changes from v2023.9.0-beta.2; it's just a promotion of v2023.9.0-beta.2 to a stable release)

Full Changelog: v2023.9.0-beta.2...v2023.9.0

v2023.9.0-beta.2

02 Dec 00:13
9529c28
Compare
Choose a tag to compare
v2023.9.0-beta.2 Pre-release
Pre-release

Changelog

Added

  • A hardware.json file is now provided for the PlanktoScope v2.6 hardware.

Removed

  • Morphocut is no longer required by the segmenter as a Python package dependency.

Fixed

  • The default brightness of the illumination LED for the pscopehat version of the backend (for the custom PlanktoScope HAT) has been reduced; this a temporary workaround to a bug with raspimjpeg where saved images are overexposed even on the default brightness settings with minimum shutter speed and ISO, despite the brightness of raspimjpeg's camera preview looking reasonable (see PlanktoScope/PlanktoScope#259 for details).

Pull requests

  • Upgrade some dependencies due to broken downloads from piwheels by @ethanjli in #11
  • Add hardware.json config file for hardware v2.6 by @ethanjli in #12
  • Reduce segmenter dependencies by @ethanjli in #13
  • Reduce default brightness of illumination LED for pscopehat controller by @LaurentPV in #14

New Contributors

Full Changelog: v2023.9.0-beta.1...v2023.9.0-beta.2