Releases: catalystneuro/neuroconv
Releases · catalystneuro/neuroconv
v0.9.0
v0.9.0 (December 4, 2025)
Removals, Deprecations and Changes
- Removed
VideoInterfaceclass scheduled for removal in September 2025. The class is now private (_VideoInterface) and used internally byLightningPoseConverter. Users should useExternalVideoInterfaceorInternalVideoInterfaceinstead. PR #1589 - Removed deprecated ScanImage interfaces that were scheduled for removal in October 2025:
ScanImageMultiFileImagingInterface,ScanImageMultiPlaneImagingInterface,ScanImageMultiPlaneMultiFileImagingInterface,ScanImageSinglePlaneImagingInterface, andScanImageSinglePlaneMultiFileImagingInterface. UseScanImageImagingInterfaceinstead. 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, andadd_units_table_to_nwbfile. Useadd_recording_to_nwbfile,add_recording_metadata_to_nwbfile, andadd_sorting_to_nwbfileinstead. PR #1583 - Removed deprecated
BaseRecordingExtractorInterface.subset_recording()method scheduled for removal in October 2025. PR #1583 - Removed deprecated
write_electrical_seriesparameter fromadd_recording_to_nwbfilescheduled for removal in October 2025. Useadd_recording_metadata_to_nwbfileif only metadata addition is desired. PR #1583 - Removed deprecated
write_scaledparameter fromadd_recording_to_nwbfileandwrite_recording_to_nwbfilescheduled for removal in October 2025. The functions now automatically handle channel conversion and offsets. PR #1583 - Removed deprecated
num_framesparameter fromMockImagingInterfaceandMockSegmentationInterfacescheduled for removal in February 2025. Usenum_samplesinstead. PR #1583 - Removed deprecated
output_filepathparameter fromconfigure_and_write_nwbfile. Usenwbfile_pathinstead. PR #1582 - Deprecated
configuration_file_pathparameter inMiniscopeImagingInterfaceand will be removed on or after May 2026. Usefolder_pathinstead for standard folder structures. PR #1593 - Deprecated
get_device_metadatafunction inspikeglx_utilsand will be removed on or after May 2026. UseSpikeGLXRecordingInterface._get_device_metadata_from_probe()instead, which extracts device metadata directly from probe information. PR #1599 - Deprecated
iterator_optsparameter in favor ofiterator_optionsacross 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_keyparameter inSpikeGLXNIDQInterfaceand 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_pathparameter fromSpikeGLXRecordingInterfaceandSpikeGLXNIDQInterface. Usefolder_pathandstream_idinstead. 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
TiffImagingInterfaceto support multi-file TIFF datasets usingMultiTIFFMultiPageExtractorfrom roiextractors. Added support for configurable dimension orders (dimension_order), multi-channel data (num_channels,channel_name), and volumetric imaging (num_planes). Bothfile_path(single file) andfile_paths(multiple files) parameters are now supported for backward compatibility. PR #1577 PR #1578 - Added
add_recording_as_spatial_series_to_nwbfilefunction to write SpikeInterface recordings asSpatialSeriesfor behavioral tracking data (e.g., position, head direction, gaze tracking). PR #1574 - Enhanced
SpikeGLXNIDQInterfaceto support custom metadata for digital channels, enabling users to specify semantic labels, descriptions, and names for NIDQ digital events. Addedmetadata_keyparameter to support multiple NIDQ interfaces in the same conversion. Addeddigital_channel_groupsparameter for init-time configuration of digital channels, matching the pattern used byanalog_channel_groups. PR #1580 PR #1615 - Enhanced
SpikeGLXNIDQInterfaceto support custom metadata for analog channels, enabling users to split NIDQ analog channels into multiple TimeSeries objects with custom groupings via the newanalog_channel_groupsparameter. 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_groupandadc_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
SpikeGLXSyncChannelInterfacefor converting Neuropixel synchronization channels from SpikeGLX recordings. PR #1600 - The
SpikeGLXConverterPipenow includes sync channels. PR #1600 - Added
MiniscopeHeadOrientationInterfacefor 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_nwbfileandadd_recording_as_spatial_series_to_nwbfilefor 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.trialsandnwbfile.epochs. Improved docstrings acrossTimeIntervalsInterfaceandconvert_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
v0.8.3
v0.8.3 (November 6, 2025)
Removals, Deprecations and Changes
- Ophys: Low-level helper functions
add_background_plane_segmentation_to_nwbfile,add_fluorescence_traces_to_nwbfile,add_background_fluorescence_traces_to_nwbfile, andadd_summary_images_to_nwbfileare deprecated and will be removed on or after March 2026. These are low-level functions that should not be called directly. PR #1559 - Refactored extractor interfaces to use explicit
_initialize_extractormethod instead of implicit string-based initialization, improving code clarity and maintainability across all recording, sorting, imaging, and segmentation interfaces PR #1515 - SpikeInterface tools: Using
write_recording_to_nwbfile,write_sorting_to_nwbfile, orwrite_sorting_analyzer_to_nwbfilewithoutnwbfile_pathto only add data to an in-memory nwbfile is deprecated and will be removed in or after March 2026. Use the correspondingadd_*_to_nwbfilefunctions instead. PR #1565 - SpikeInterface tools: Returning an NWBFile object from
write_recording_to_nwbfile,write_sorting_to_nwbfile, andwrite_sorting_analyzer_to_nwbfilein append mode is deprecated and will return None in or after March 2026. This matches the pattern used in `BaseDataInterface.run_conversionPR #1565 - Extractor interfaces: The
extractorattribute andget_extractor()method are deprecated and will be removed on or after March 2026. These were confusingly named as they return extractor classes, not instances. Use the private_extractor_classattribute or access the instance directly via_extractor_instancePR #1513
Bug Fixes
- Excluded
contact_idsproperty from being added as a duplicate column in the electrodes table. This property is already represented via theelectrode_namecolumn which uses probe contact identifiers. PR #1560 - Fixed
DeepLabCutInterfaceto support output files without 'DLC' in the filename by extracting scorer from CSV/H5 header instead of parsing filename. This improves compatibility with DeepLabCut outputs that don't follow the typical naming convention while maintaining backward compatibility. PR #1573
Features
- Support roiextractors 0.7.2 PR #1566
Improvements
- SpikeInterface tools: Enhanced
write_recording_to_nwbfile,write_sorting_to_nwbfile, andwrite_sorting_analyzer_to_nwbfileto support backend configuration parameters (backend,backend_configuration) for controlling HDF5/Zarr compression and chunking settings, matching the pattern used inBaseDataInterface.run_conversion. PR #1565 - Added citation information to README, documentation, and CITATION.cff with reference to the SciPy 2025 conference paper PR #1569
v0.8.2
v0.8.2 (October 17, 2025)
Removals, Deprecations and Changes
- Ophys: Low-level helper functions
add_imaging_plane_to_nwbfile,add_image_segmentation_to_nwbfile,add_photon_series_to_nwbfile, andadd_plane_segmentation_to_nwbfileare deprecated and will be removed on or after March 2026. These are low-level functions that should not be called directly. PR #1552 - Ophys: Passing
pynwb.device.Deviceobjects inmetadata['Ophys']['Device']toadd_devices_to_nwbfilenow issues aFutureWarningand is deprecated. This feature will be removed on or after March 2026. Pass device definitions as dictionaries instead (e.g.,{ "name": "Microscope" }). . PR #1513 - Ecephys: The
iterator_optsparameter is deprecated across all ecephys interfaces and will be removed on or after March 2026. Useiterator_optionsinstead for consistent naming with ophys and behavior interfaces. PR #1546 - Ophys: The
iterator_type='v1'option for imaging data is deprecated and will be removed on or after March 2026. Useiterator_type='v2'orNone(no chunking). This aligns ophys with ecephys, which only supports 'v2' and None. PR #1546 - Bump minimal python-neo version to 0.14.3 PR #1550
- Add macos-15 intel to CI testing matrix. We no longer support macos 13 and 14 with intel as there is no free runner available PR #1555
- Ophys: Passing
ratein trace metadata (e.g.,metadata['Ophys']['Fluorescence']['PlaneSegmentation']['raw']['rate']) is deprecated and will be removed on or after March 2026. PR #1543
Bug Fixes
- Capped h5py to <3.15 for macOS to prevent compatibility issues PR #1551
- Temporary ceiling on hdmf-zarr (<0.12) to retain compatibility with existing code that uses read_io.file.store PR #1547
- Fixed
append_on_disk_nwbfile=Trueraising ValueError when file exists. Replacedmake_or_load_nwbfilewith direct pynwbNWBHDF5IOusage in append mode and improved code organization with private helper methods_write_nwbfileand_append_nwbfilein bothBaseDataInterfaceandNWBConverterPR #1540 - Refactored
_is_dataset_written_to_fileto use path comparison with publicsourceattribute instead of protected_fileattribute, avoiding dependency on hdmf-zarr internal APIs. Now usespathlib.Path.resolve()for robust cross-platform path comparison. PR #1545 - Enhanced SpikeGLX interface to set
channel_nameproperty showing all available streams (e.g., "AP0,LF0") for multi-stream deduplication, properly handling cases where AP and LF bands record from the same physical electrodes. PR #1553
Features
- Support NIDQ analog streams in
OpenEphysBinaryAnalogInterfacePR #1503 - Added
MiniscopeImagingInterfacefor single Miniscope acquisition folders with automatic session_start_time extraction, improved docstrings, and comprehensive documentation showingMiniscopeConverterfor multi-acquisition data,MiniscopeImagingInterfacefor individual folders, andConverterPipefor custom multi-acquisition workflows PR #1524 - Added
iterator_optionsparameter toInternalVideoInterfaceto support tqdm progress bars and custom chunking options during video write operations. PR #1546
Improvements
- Refactored electrode table infrastructure to add
electrode_namecolumn for probe-based recordings. The electrode table now uses(group_name, electrode_name, channel_name)as the unique identifier, enabling channel-specific metadata storage whileelectrode_nameindicates which channels share physical electrodes. This supports multi-band recordings (e.g., AP/LF in Neuropixels) and multi-probe setups. PR #1548 - Refactored
_add_fluorescence_traces_to_nwbfileand_create_roi_table_regionto removedeepcopy(metadata)anddict_deep_updatepatterns. Now extracts DfOverF and Fluorescence metadata separately from user or defaults, checks user metadata first before falling back to defaults for each trace, and passes unmodified metadata to dependencies without mutation. PR #1543 - Aligned iterator type support across ecephys and ophys modules. Both now support only
iterator_type='v2'andNone. Fixed misleading error message in spikeinterface that incorrectly mentioned 'v1' support. PR #1546 - Standardized iterator parameter naming across the codebase by introducing
iterator_optionsas the preferred parameter name. UpdatedBaseRecordingExtractorInterfaceandadd_recording_to_nwbfileto accept bothiterator_options(new) anditerator_opts(deprecated) for backward compatibility. Improved documentation with comprehensive iterator options descriptions including tqdm progress bar support. PR #1546 - Refactored
add_imaging_plane_to_nwbfileto avoiddict_deep_updateand metadata mutation, applying targeted defaults only for required fields at point of object creation (issue #1511) PR #1530 - Refactored
add_devices_to_nwbfileandadd_imaging_plane_to_nwbfileto avoiddict_deep_updateand metadata mutation, using defaults directly from single source of truth_get_default_ophys_metadata()PR #1527 - Refactored ecephys metadata functions to use a single source of truth pattern, eliminating hardcoded duplications and improving maintainability PR #1522
- Refactored ophys metadata functions to use a single source of truth pattern, preventing accidental mutation of global state and improving maintainability PR #1521
- Add ruff-rule to detect non-pep585 annotation PR #1520
- Replaced deprecated
frame_to_time()method calls withget_timestamps()in optical physiology interfaces PR #1513 - Added SpikeGLXNIDQ interface to conversion gallery with documentation on how different channel types (XA, MA, MD, XD) are converted to NWB PR #1505
- Updated
TDTFiberPhotometryInterfaceto support the latest version ofndx-fiber-photometry(v0.2.1) PR #1430 - Updated ophys roiextractors tests to use only public APIs instead of accessing private attributes, improving compatibility with roiextractors segmentation model changes PR #1526
- Refactored
add_photon_series_to_nwbfileto removeget_nwb_imaging_metadatamiddleman and inline extractor derivation. Now only derivesdimensionfrom imaging extractor when user doesn't provide it, ensuring user-provided values are always respected. Passes unmodified metadata to dependencies without mutation. PR #1537 - Refactored
_add_plane_segmentationto removedeepcopy(metadata)anddict_deep_updatepatterns. Now extracts user plane segmentation metadata directly, fills missing required fields with defaults, and passes unmodified metadata to dependencies without mutation. Tracks user intent to provide clear error messages when custom plane segmentation names are not found. PR #1539 - Refactored
add_summary_images_to_nwbfileto removedeepcopy(metadata)anddict_deep_updatepatterns. Now uses_get_default_ophys_metadata()directly and extracts SegmentationImages metadata from user or uses defaults. Changed error handling fromAssertionErrortoValueErrorfor invalid plane segmentation names. PR #1540
v0.8.1
v0.8.1 (September 16, 2025)
Removals, Deprecations and Changes
- Changed
automatic_dandi_upload()function parameter fromstaging: bool = Falsetosandbox: bool = Falseto align with DANDI Archive's server name change from "staging" to "sandbox". The oldstagingparameter is deprecated and will be removed in February 2026. PR #1437
Bug Fixes
- Fixed
write/add_sorting_analyzer_to_nwbfiledocstring for requirements of the recording object PR #1506 - Fixed deprecated SpikeInterface extractor imports to use
spikeinterface.extractors.extractor_classesand updated docstring references to wrapper functions for compatibility with SpikeInterface changes PR #1490 - Fixed documentation version switcher not properly distinguishing between stable and development versions PR #1483
- Fixed sleap-io compatibility by updating to version 0.5.2 and adjusting import path for
append_nwb_datafunction PR #1496
Features
- Added
SortedSpikeGLXConverterfor handling multiple SpikeGLX streams with their corresponding sorting data, enabling proper unit-to-electrode linkage across multiple probes PR #1449 - Added
EDFAnalogInterfacefor converting non-electrode/analog channels from EDF files to NWB TimeSeries and a conversion gallery example showing how to combineEDFRecordingInterfaceandEDFAnalogInterfaceto handle mixed EDF files. PR #1487
Improvements
- Added test to mimic bad channel removal in
write_sorting_analyzer_to_nwbfilePR #1506 - Enhanced
SortedRecordingConverterdocumentation with detailed explanation of the timing problem it solves when linking units to electrodes, and moved electrode linking guide from user guide to how-to section PR #1479 - Use attestation instead of token for publish action PR #1497
v0.8.0
v0.8.0 (August 21, 2025)
Removals, Deprecations and Changes
- Segmentation writing pipeline no longer supports writing segmentation data without image or pixel masks PR #1400
- Removed deprecated arguments:
load_sync_channelinSpikeGLXNIDQInterfaceinitialization andstart_time,write_asandwrite_electrical_seriesinSpikeGLXNIDQInterface.add_to_nwbfile(). PR #1378 - Removed
starting_timeas an argument from the recording interfacesadd_to_nwbfilemethod and the stand aloneadd_recording_segmentutility PR #1378 - Deprecated the
container_nameparameter inImageInterface.add_to_nwbfile()method. Usemetadata_keyin__init__instead. This parameter will be removed on or after February 2026. PR #1439 - Removed deprecated type aliases
FolderPathType,FilePath,OptionalFilePath, andOptionalFolderPathTypefrom utils. Usepydantic.DirectoryPath,pydantic.FilePath, or their optional variants directly. PR #1442
Bug Fixes
- Fixed SpikeInterface physical unit properties being incorrectly included in electrodes table PR #1406
- Fixed deprecated ROI extractor method calls: replaced
get_image_size()withget_frame_shape(),get_num_frames()withget_num_samples(), andframe_slice()withslice_samples()in ophys interfaces PR #1443 - Fixed logic bug in
get_packagefunction where boolean check was incorrectly compared toNonePR #1477 - Fixed docstring typos: corrected "default: Falsee" to "default: False" in multiple datainterface files PR #1472
Features
- Segmentation interfaces now support roi ids that are strings PR #1390
- Added
InscopixImagingInterfacefor converting Inscopix imaging data. PR #1361 - Added
InscopixSegmentationInterfacefor converting Inscopix segmentation data. PR #1364 - Added
AxonRecordingInterfacefor converting extracellular electrophysiology data from Axon Binary Format (ABF) files with automatic session start time extraction PR #1413 - Added
FemtonicsImagingInterfacefor converting Femtonics imaging data. PR #1408 - Added
get_available_subjectsstatic method toDeepLabCutInterfacefor extracting subject names from DeepLabCut output files PR #1425 - Added
MockPoseEstimationInterfacefor testing pose estimation workflows with deterministic Lissajous figure motion patterns PR #1435 - Added
IntanAnalogInterfacefor converting non-amplifier analog streams from Intan data files, supporting RHD2000 auxiliary input channels, RHD2000 supply voltage channels, USB board ADC input channels, and DC amplifier channels (RHS system only) PR #1440 - Added
metadata_keyparameter toImageInterfaceto allow custom naming and organization of image containers in NWB files. This enables multiple image interfaces to coexist with distinct container names. PR #1439 - Added per-image metadata support to
ImageInterfaceallowing users to specify individualresolution(pixels/cm), name anddescriptionfor each image through metadata structure. PR #1441 - Added
rename_unit_ids()method toBaseSortingExtractorInterfacefor dictionary-based unit ID renaming, enabling clean handling of multiple sorting interfaces with overlapping unit IDs PR #1451 - Added support for setting ProbeGroup objects in
BaseRecordingExtractorInterface.set_probe()methodPR #1464 - Added comprehensive tests for
set_probemethod inBaseRecordingExtractorInterfaceto verify probe and probe group functionality with proper electrode group organization in NWB files PR #1464 - Added PyData Sphinx Theme version switcher to documentation navbar, enabling users to switch between stable (latest release) and main (development) versions PR #1478
Improvements
- Added comprehensive FFmpeg video conversion how-to guide for converting bespoke video formats to DANDI-compatible formats PR #1426
- Refactored Femtonics Imaging Interface session, munit and channel selection logic. PR #1433
- Implemented PEP 735 dependency groups for test, docs, and dev dependencies PR #1434
- Expanded test coverage for
CaimanSegmentationInterfaceto include all stub files and added quality metrics properties (r_values, SNR_comp, cnn_preds) to the PlaneSegmentation table as segmentation_extractor_properties PR #1436 - Added comprehensive how-to guide "Adding Multiple Sorting Interfaces" documenting approaches for handling multiple spike sorting outputs, including unit renaming strategies, separate processing tables, and adding custom properties for provenance tracking PR #1451 PR #1473
- The copy button no longer copies the prompt (>>>) in the conversion gallery PR 1467
v0.7.5
v0.7.5 (June 11, 2025)
Removals, Deprecations and Changes
- Removed automatic subject addition for DeepLabCutInterface. A link is now created only if the skeleton metadata matches the subject ID. PR #1362
Bug Fixes
- Fix a bug for avoiding loading the sync stream in
SpikeGLXConverterPipePR #1373 - Fixed a bug in the
BrukerTiffSinglePlaneImagingInterfacewhere the criteria to identify frames belonging to a specific stream relied on the file name instead of the stream name. PR #1375 - Fixed a bug with the Docker dev build PR #1376
Features
- Added
apply_global_compressionmethod toBackendConfigurationclasses to apply compression settings globally across all datasets in a backend configuration. This method allows users to easily configure compression options for all datasets at once rather than setting them individually. PR #1379 - Extra optional kwargs to
BlackrockRecordingInterfaceandBlackrockSortingInterfacefor finer control of the neo reader PR #1290
Improvements
- Add a
how todocumentation for adding extracellular electrophysiology metadata PR #1311 - Improved the docker dailies PR #1372
- Re-enable and improve conversion gallery testing PR #1380
- Implemented cross-OS caches in GitHub Actions load-data action to enable cache sharing between Ubuntu, Windows, and macOS runners, reducing cache storage usage and improving CI efficiency PR #1385
MedPCformat is now tested on the conversion gallery PR #1382- Added conversion gallery testing to daily workflows PR #1387
- Added full metadata support for PoseEstimation container in DeepLabCutInterface PR #1392.
v0.7.4
v0.7.4 (May 23, 2025)
Removals, Deprecations and Changes
- Drop support for python 3.9 PR #1313
- Updated type hints to take advantage of the | operator PR #1316
- Deprecated the following ScanImage interfaces:
ScanImageMultiFileImagingInterface,ScanImageMultiPlaneImagingInterface,ScanImageMultiPlaneMultiFileImagingInterface,ScanImageSinglePlaneImagingInterface, andScanImageSinglePlaneMultiFileImagingInterface. These interfaces will be removed in or after October 2025. UseScanImageImagingInterfacefor all those cases instead. PR #1330 PR #1331 - Set minimum version requirement for
ndx-poseto 0.2.0 PR #1322 - Set minimum version for roiextractors as 0.5.13 PR #1339
- ndx-events is now a required dependency by spikeglx PR #1353
Bug Fixes
- Fix
AudioInterfaceto correctly handle WAV filenames with multiple dots by validating only the last suffix. PR #1327 - Fix a stubbing bug in
SpikeGLXNIDQInterfaceandOpenEphysBinaryAnalogInterfacePR #1360
Features
- Add metadata support for
DeepLabCutInterface. PR #1319 AudioInterfaceAdding support for IEEE float in WAV format PR #1325- Added a RecordingInterface for WhiteMatter ephys data PR #1297 PR #1333
- Improved
ScanImageIntefaceto support both single and multi-file data PR #1330 DeepDictnow behaves as a python dict when printed in notebooks PR #1351- Enable chunking for
InternalVideoInterfacePR #1338 ImageSeriesandTwoPhotonSeriesnow are chunked by default even if the data is passed as a plain array PR #1338- Added support for 'I;16' mode in
ImageInterface. This mode is mapped toGrayscaleImagein NWB PR #1365
Improvements
- Make metadata optional in
NWBConverter.add_to_nwbfilePR #1309 - Add installation instructions on the documentation for
neuroconvPR #1344 - Separate dailies and dev-dailies workflows PR #1343
- Added support for renaming Skeletons with
DeepLabCutInterfacePR #1359 - Updated default
PoseEstimationSeriesnames inDeepLabCutInterfacePR #1363 - Testing dependencies include only testing packages (.e.g pytest, pytest-cov) PR #1357
- Testing modalities now run in their separated environment to avoid sequence contamination of dependencies PR #1357
v0.7.3
v0.7.3 (April 25, 2025)
Deprecations and Changes
- Release pydantic ceiling PR #1273
write_scaledbehavior onadd_electrical_series_to_nwbfileis deprecated and will be removed in or after October 2025 PR #1292add_electrical_series_to_nwbfilenow requires both gain and offsets to write scaling factor for voltage conversion when writing to NWB PR #1292add_electrical_series_to_nwbfile,add_units_table_to_nwbfileandadd_electrodes_to_nwbfileandadd_electrode_groups_to_nwbfileare becoming private methods. Useadd_recording_to_nwbfile,add_sorting_to_nwbfileandadd_recording_metadata_to_nwbfileinstead PR #1298- Set a new minimal dependency for
hdmfto 4.0.0,pynwbto 3.0.0 andhdmf-zarr0.11 PR #1303
Bug Fixes
- Fixed import errors in main modules caused by non-lazy dependencies. Added tests to prevent regressions. PR #1305
Features
- Added a new
add_recording_as_time_series_to_nwbfilefunction to add recording extractors from SpikeInterface as recording extractors to an nwbfile as time series PR #1296 - Added
OpenEphysBinaryAnalogInterfacefor converting OpenEphys analog channels data similar to the SpikeGLX NIDQ interface PR #1237 - Expose iterative write options on
BaseImagingExtractorInterfacePR #1307
Improvements
- Add documentation for conversion options with
NWBConverterPR #1301 - Support roiextractors 0.5.12 PR #1306
configure_backendis now exposed to be imported asfrom neuroconv.tools import configure_and_write_nwbfilePR #1287- Added metadata section to video conversion gallery PR #1276
DeepLabCutInterfacenow calculates whether the timestamps come from a constant sampling rate and adds that instead if detected PR #1293- Fixed a bug in the extractor interfaces where segmentation and sorting interfaces were initialized twice PR #1288
- Support python 3.13 PR #1117
- Added how to documentation on how to set a probe to a recording interfaces PR #1300
- Fix API docs for
OpenEphysRecordingInterfacePR #1302
v0.7.2
v0.7.2 (April 4, 2025)
Deprecations and Changes
- Split VideoInterface (now deprecated) into ExternalVideoInterface and InternalVideoInterface PR #1251 PR #1256 #1278
output_filepathdeprecated onconfigure_and_write_nwbfileusenwbfile_pathinstead PR #1270- Temporary set a ceiling on pydantic
<2.11PR #1275
Bug Fixes
- Fixed a check in
_configure_backendon neurodata_object ndx_events.Events to work only when ndx-events==0.2.0 is used. PR #998 - Added an
append_on_disk_nwbfileargumento torun_conversion. This changes the semantics of the overwrite parameter from assuming append mode when a file exists to a more conventionalsafe writingmode where confirmation is required to overwrite an existing file. Append mode now is controlled with theappend_on_disk_nwbfile. #1256
Features
- Added
SortedRecordingConverterto convert sorted recordings to NWB with correct metadata mapping between units and electrodes PR #1132 - Support roiextractors 0.5.11 PR #1236
- Added stub_test option to TDTFiberPhotometryInterface PR #1242
- Added ThorImagingInterface for Thor TIFF files with OME metadata PR #1238
- Added
always_write_timestampsparameter to ExternalVideoInterface and InternalVideoInterface to force writing timestamps even when they are regular #1279
Improvements
- Filter out warnings for missing timezone information in continuous integration PR #1240
FilePathTypeis deprecated, useFilePathfrom pydantic instead PR #1239- Change
np.NANtonp.nanto support numpy 2.0 PR #1245 - Re activate Plexon tests on Mac. Testing this for a while as they are unreliable tests #1195
- Testing: only run tests for oldest and newest versions of python #1249
- Improve error display on scan image interfaces PR #1246
- Added concurrency to live-service-testing GitHub Actions workflow to prevent simultaneous write to the dandiset. #1252
- Updated GitHub Actions workflows to use Environment Files instead of the deprecated
set-outputcommand #1259 - Propagate
verboseparameter from Converters to Interfaces #1253 - Replace uses of scipy load_mat and h5storage loadmat with pymat_reader read_mat in
CellExplorerSortingInterface#1254 - Added camera device support for ExternalVideoInterface and InternalVideoInterface: PR #1282