Skip to content

v0.9.0

Latest

Choose a tag to compare

@h-mayorquin h-mayorquin released this 04 Dec 22:14
· 8 commits to main since this release

v0.9.0 (December 4, 2025)

Removals, Deprecations and Changes

  • Removed VideoInterface class scheduled for removal in September 2025. The class is now private (_VideoInterface) and used internally by LightningPoseConverter. Users should use ExternalVideoInterface or InternalVideoInterface instead. PR #1589
  • Removed deprecated ScanImage interfaces that were scheduled for removal in October 2025: ScanImageMultiFileImagingInterface, ScanImageMultiPlaneImagingInterface, ScanImageMultiPlaneMultiFileImagingInterface, ScanImageSinglePlaneImagingInterface, and ScanImageSinglePlaneMultiFileImagingInterface. Use ScanImageImagingInterface instead. PR #1576
  • Removed deprecated SpikeInterface functions scheduled for removal in October 2025: add_electrical_series_to_nwbfile, check_if_recording_traces_fit_into_memory, add_electrodes_info_to_nwbfile, and add_units_table_to_nwbfile. Use add_recording_to_nwbfile, add_recording_metadata_to_nwbfile, and add_sorting_to_nwbfile instead. PR #1583
  • Removed deprecated BaseRecordingExtractorInterface.subset_recording() method scheduled for removal in October 2025. PR #1583
  • Removed deprecated write_electrical_series parameter from add_recording_to_nwbfile scheduled for removal in October 2025. Use add_recording_metadata_to_nwbfile if only metadata addition is desired. PR #1583
  • Removed deprecated write_scaled parameter from add_recording_to_nwbfile and write_recording_to_nwbfile scheduled for removal in October 2025. The functions now automatically handle channel conversion and offsets. PR #1583
  • Removed deprecated num_frames parameter from MockImagingInterface and MockSegmentationInterface scheduled for removal in February 2025. Use num_samples instead. PR #1583
  • Removed deprecated output_filepath parameter from configure_and_write_nwbfile. Use nwbfile_path instead. PR #1582
  • Deprecated configuration_file_path parameter in MiniscopeImagingInterface and will be removed on or after May 2026. Use folder_path instead for standard folder structures. PR #1593
  • Deprecated get_device_metadata function in spikeglx_utils and will be removed on or after May 2026. Use SpikeGLXRecordingInterface._get_device_metadata_from_probe() instead, which extracts device metadata directly from probe information. PR #1599
  • Deprecated iterator_opts parameter in favor of iterator_options across all SpikeInterface conversion functions and data interfaces. The deprecated parameter will be removed on or after May 2026. This change improves consistency with naming conventions. PR #1603
  • Deprecated es_key parameter in SpikeGLXNIDQInterface and will be removed on or after May 2026. This parameter has no effect as the interface writes analog data as TimeSeries and digital data as LabeledEvents, not ElectricalSeries. PR #1615
  • Removed deprecated file_path parameter from SpikeGLXRecordingInterface and SpikeGLXNIDQInterface. Use folder_path and stream_id instead. PR #1616

Bug Fixes

  • Fixed bug with TDTFiberPhotometryInterface tests by swapping out test_all_conversion_checks_stub_test_invalid with test_check_run_conversion_stub_test_invalid (avoiding unittest.TestCase.subTests). PR #1579
  • Fixed DANDI live service tests to support dandi-cli 0.73.2 instance-specific API key environment variables (DANDI_SANDBOX_API_KEY, EMBER_SANDBOX_API_KEY, etc.). Updated all workflows and test files to use the appropriate API key for each DANDI instance. PR #1588

Features

  • Miniscope converter now uses the configuration file to read general folder structures PR #1528 PR #1604
  • Added a workflow to repack nwbfiles that have already been written to disk with desired chunking and compression settings: PR #1003 PR #1592
  • Enhanced TiffImagingInterface to support multi-file TIFF datasets using MultiTIFFMultiPageExtractor from roiextractors. Added support for configurable dimension orders (dimension_order), multi-channel data (num_channels, channel_name), and volumetric imaging (num_planes). Both file_path (single file) and file_paths (multiple files) parameters are now supported for backward compatibility. PR #1577 PR #1578
  • Added add_recording_as_spatial_series_to_nwbfile function to write SpikeInterface recordings as SpatialSeries for behavioral tracking data (e.g., position, head direction, gaze tracking). PR #1574
  • Enhanced SpikeGLXNIDQInterface to support custom metadata for digital channels, enabling users to specify semantic labels, descriptions, and names for NIDQ digital events. Added metadata_key parameter to support multiple NIDQ interfaces in the same conversion. Added digital_channel_groups parameter for init-time configuration of digital channels, matching the pattern used by analog_channel_groups. PR #1580 PR #1615
  • Enhanced SpikeGLXNIDQInterface to support custom metadata for analog channels, enabling users to split NIDQ analog channels into multiple TimeSeries objects with custom groupings via the new analog_channel_groups parameter. Users can now organize analog channels semantically (e.g., audio, accelerometer, temperature sensors). The default behavior (single TimeSeries for all analog channels) remains unchanged. PR #1601 PR #1615
  • Added ADC multiplexing properties (adc_group and adc_sample_order) to SpikeGLX recordings. These properties preserve hardware provenance information about which ADC each electrode is connected to and its sampling order, enabling downstream computation of inter-sample shifts even when channels are sliced. Requires probeinterface >= 0.3.1. PR #1597 PR #1609
  • Added SpikeGLXSyncChannelInterface for converting Neuropixel synchronization channels from SpikeGLX recordings. PR #1600
  • The SpikeGLXConverterPipe now includes sync channels. PR #1600
  • Added MiniscopeHeadOrientationInterface for converting Miniscope head orientation data from BNO055 IMU sensor.PR #1610

Improvements

  • Improved SpikeGLX device metadata extraction to use probe information from probeinterface instead of parsing meta files. Device metadata now includes serial number as a separate field and enriched description with part number, port, slot, model name, and manufacturer from probe annotations. PR #1599
  • Added comprehensive how-to guide "How to Add Behavioral and Sensor Data from Acquisition Systems" documenting usage of add_recording_as_time_series_to_nwbfile and add_recording_as_spatial_series_to_nwbfile for adding behavioral data from any SpikeInterface-supported format. PR #1575
  • Enhanced CSV interface documentation with comprehensive tutorial-style examples showing CSV format requirements, basic usage with column descriptions, customization options for storage location (trials/epochs/custom intervals), and advanced reading options. Fixed in-memory access to nwbfile.trials and nwbfile.epochs. Improved docstrings across TimeIntervalsInterface and convert_df_to_time_intervals. PR #1572
  • Enhanced live service testing CI to fail explicitly with clear error messages when repository secrets are unavailable for external contributors. Added validation step in workflow to check required credentials and updated documentation to explain the workflow for external contributors (maintainers fork PRs to run live tests). PR #1590 PR #1598