Changelog

0.4

0.4.0 - 24-08-27

Enhancements and bugfixes to StreamDaq. Mostly around handling metadata.

Contributors: @t-sasatani, @sneakers-the-rat, @MarcelMB. Related PRs: #35, #38, #33 Related Issues: #34, #36, #38, #40

Features:

  • Metadata handling: CSV export and real-time plotting of metadata. The plotting feature is experimental and is still very unstable. Also improved metadata error handling.

  • CLI enhancement: Generate video and metadata csv files with same stem names.

Models/Formats:

  • Runtime config: StreamDevRuntime now configures queue and buffer sizes used in StreamDaq.

CI / Bugfix:

  • Fix termination: Now buffer size doesn’t affect output video. Very good for tests.

  • Device docs section: For adding documentation about specific devices.

  • CLI docs on RTD: Mock binaries so CLI docs show up on RTD.

  • Dependency: Update some packages for Windows compatibility.

0.3

0.3.0 - 24-07-04

Enhancements to StreamDaq and improved CI processes.

Contributors: @sneakers-the-rat, @t-sasatani. Related PRs and Issues: #29, #31, #27

Features:

  • Performance enhancements: Refactoring of streamDaq to eliminate delays in the default configuration.

  • New CLI: Introduced a click-based CLI offering greater flexibility and scalability.

  • Test coverage: Integrated Coveralls to display test coverage statistics.

  • BufferFormatter class: Added for flexible bit/byte operations and decoding incoming buffers.

Models/Formats:

  • Configuration changes: Isolated device config and user config. device config is now stored in StreamDevConfig (renamed from StreamDaqConfig). User configs are segregated to the CLI.

CI:

  • Python 3.12 compatibility: Added tests for Python 3.12.

  • StreamDaq tests: Fixed issues with video hash assert tests in streamDaq.

  • Global test timeout: added global timeout for all tests.

0.2

0.2.1 - 24-06-21

Linting and code formatting :)

Added black and ruff for linting and formatting, reformatted the package.

See the Contributing documentation for details and usage.

0.2.0 - 24-06-21

StreamDaq enhancements and testing

  • https://github.com/Aharoni-Lab/miniscope-io/pull/26

Testing:

  • @t-sasatani - add end-to-end test for streamDaq

  • Add a mock class for okDev

  • replace tmpdir fixture and tempfile module with tmp_path

New:

Fixed:

  • Removed print statements in okDev

  • capture()

    • Don’t require config

    • Replace logging with init_logger()

    • Use of terminate to control inner loops

Models:

  • added fs and show_video to StreamDaqConfig

CI:

  • @t-sasatani - restore windows and mac tests (oops)

  • caching dependency installs

  • not using pytest-emoji, it was always annoying

0.1

0.1.8 - 24-06-16

  • https://github.com/Aharoni-Lab/miniscope-io/pull/21

  • https://github.com/Aharoni-Lab/miniscope-io/pull/15

New features:

  • Support for Various Image Formats: streamDaq now supports multiple image formats, including different image sizes, frame rates (FPS), and bit-depths. These configurations can be provided via a YAML file. Examples of these configurations can be found in miniscope_io.data.config.

  • Pydantic Model for Configuration: Added a Pydantic model to validate the configuration of streamDaq.

  • Bitstream Loader: Added a bitstream loader to automatically configure the Opal Kelly FPGA when running streamDaq.

  • Updated Command Line Script: The command line script for running streamDaq has been updated. Use streamDaq -c path/to/config/yaml/file.yml to run the process with your YAML configuration file.

  • Logger Module: Added a logger module that can be configured using environmental variables or a .env file.

Note: Version 0.1.7 was skipped accidentally and does not exist.

0.1.6 - 24-04-09

  • https://github.com/Aharoni-Lab/miniscope-io/pull/14

New features:

  • Added support for the wireless FPGA and UART daqs - work in progress unifying the API, but initial version of code is present in stream_daq.py

  • Vendored opalkelly device drivers - see devices and vendor

0.1.5 - 23-09-03

  • https://github.com/Aharoni-Lab/miniscope-io/pull/9

  • https://github.com/Aharoni-Lab/miniscope-io/pull/10

Bugfixes:

New features:

Code structure:

  • (Minor) moved skip() to general methods block (no change)

Tests:

  • Run tests on macos and windows

0.1.4 - 23-09-03

https://github.com/Aharoni-Lab/miniscope-io/pull/8

New features:

  • Data models! Hold a collection of frames and get their headers

  • Plots! Mimic the plots from ye olde notebook

  • Update to pydantic v2

  • Version field in formats

  • Format for miniscope firmware with battery voltage level

Reverted:

  • grab_frames notebook is restored to using the example data and having the evaluated output present

0.1.1 - 23-07-13

Additions

  • Added EndOfRecordingException when attempting to read past last frame

  • Added frame_count property inferred from the number of buffers and buffers per frame

  • Return self when entering SDCard context

  • Optionally return DataHeaders from frame when reading

Bugfixes

  • Index the position of the 0th frame in positions

  • reset internal frame counter to 0 when exiting context