Releases: catalystneuro/roiextractors
Releases · catalystneuro/roiextractors
v0.7.2
v0.7.1
Features
- Introduced a unified ROI response data model based on
_RoiResponseobjects, replacing the legacy_roi_response_*attributes across segmentation extractors for explicit ROI-to-trace mapping PR #505 PR #517 - Introduced private
_ROIMasksclass to unify ROI mask storage across all segmentation extractors, enabling native format storage (dense/sparse) with on-demand conversion and explicit ROI ID mapping PR #511
Fixes
- Fixed
NumpySegmentationExtractorto properly handleraw=Noneby adding None check before shape validation PR #508 - Cap h5py to avoid install errors on macos 13 PR #515
Deprecations And Removals
- Deprecated
configuration_file_pathparameter inMiniscopeImagingExtractor(removal: March 2026). The device folder is now automatically inferred fromfile_paths. The parameter is ignored if provided. PR #509
Improvements
- Enhanced
MiniscopeImagingExtractorto calculate sampling frequency from hardware timestamps (timeStamps.csv) as ground truth, replacing unreliable metaData.json frameRate. Added a keyword-onlysampling_frequencyparameter as a fallback. PR #509 - Improved
MiniscopeImagingExtractordocumentation: reorganized class vs__init__docstrings, clarified device folder structure, added comprehensivehas_time_vector()docstring, and removed personal information from examples. PR #509 - Refactored Miniscope imaging extractor tests to native pytest style with fixture-based temp directories and warning suppression for expected conditions PR #501
- Add ruff-rules to detect non-pep585 and non pep604 annotations: (tuple, list -> tuple, list) (Union[x, y] -> X | Y ) (Optional[x] -> x | None) PR #500 PR #507
- Add testing for mac-os 15 intel in CI PR #518
- Modify testing to only test the oldest and newest python versions on each OS to reduce CI time PR #518
v0.7.0
Deprecations And Removals
- Removed deprecated
get_num_channels()method fromImagingExtractorPR #484 - Removed deprecated
write_segmentation()methods from all segmentation extractors PR #491 - Removed deprecated
write_imaging()methods from all imaging extractors PR #502
Improvements
- Refactored image storage in
SegmentationExtractorfrom individual_image_meanand_image_correlationattributes to unified_summary_imagesdictionary for better extensibility PR #493 - Added comprehensive tests for timestamp inheritance independence in
SampleSlicedSegmentationExtractorto ensure proper data isolation between parent and child extractors PR #498 - Enhanced
MinianSegmentationExtractorwith optional sampling frequency and timestamps path parameters at construction, improved error handling for missing sampling frequency PR #497 - Added
has_time_vector()method toSampleSlicedSegmentationExtractorPR #494
v0.6.2
Features
- Added MultiTIFFMultiPageExtractor for handling multiple TIFF files, each with multiple pages, organized according to a specified dimension order #402
Improvements
- Refactor Femtonics Imaging Extractor session, munit and channel selection logic. Added missing stub files (
single_channel.mescandsingle_m_unit_index)PR #479 - Added tests for unused stub files (
dual_color_movie_with_dropped_frames.isxdandmultiplane_movie.isxd) in Inscopix imaging extractor PR #478
v0.6.1
Features
- Added native timestamp support with automatic fallback hierarchy:
get_native_timestamps()abstract method andget_timestamps()concrete method to all imaging and segmentation extractors. Theget_timestamps()method follows priority order: cached times → native timestamps → inferred from sampling frequency. This enables automatic native timestamp usage when available (e.g., ScanImage TIFF files) while maintaining backward compatibility. PR #465 - Added property management methods to
SegmentationExtractor:set_property(),get_property(), andget_property_keys()for storing and retrieving custom ROI properties PR #467 - Added
MinianSegmentationExtractorfor reading and extracting metadata and segmentation data from Minian output files.PR #368
Fixes
- Fixed a bug in CaimanSegmentationExtractor where empty components of the segmentation traces will throw an error
PR #452
Deprecations And Removals
- Remove deprecated arguments
combinedandplane_nofromSuite2pSegmentationExtractorPR #457 check_imaging_equalandcheck_segmentation_equalno longer compare the number of channels in an extractor as that attribute has been deprecated PR #470exclude_channel_comparisonincheck_imaging_equalis deprecated and will be removed in or after January 2026. This parameter is no longer needed as extractors do not have multiple channels. PR #470- The
num_framesparameter ingenerate_dummy_imaging_extractorandgenerate_dummy_segmentation_extractoris now deprecated and will be removed on or after January 2026. Use the newnum_samplesparameter instead.num_samplesis now keyword-only and will become positional-only in a future release. PR #470 - The
sample_indices_to_time()method in both ImagingExtractor and SegmentationExtractor is deprecated and will be removed on or after January 2026. Useget_timestamps()instead. PR #448
Remove deprecated argumentscombinedandplane_nofromSuite2pSegmentationExtractorPR #457
Improvements
- Updated GitHub Actions workflows to use cross-OS cache sharing for multi-OS testing data, reducing redundant downloads and improving CI efficiency. Added reusable data loading action pattern similar to neuroconv. PR #459
- Improved writing to NWB documentation to point out users to neuroconv PR #468
- Add comprehensive test suite for CaimanSegmentationExtractor covering basic properties, ROI masks, traces, accepted/rejected lists, and different CaImAn dataset formats PR #464
- Add isort and remove unused imports to pre-commit PR #471
- Updated tests for
CaimanSegmentationExtractorto cover all stub files, and enhanced the extractor to return quality metrics (r_values,SNR_comp,cnn_preds). PR #466
v0.6.0
Features
- Added
FemtonicsImagingExtractorfor reading and extracting metadata and imaging data from Femtonics MESc files.PR #440 - Added
get_original_frame_indices()method toScanImageImagingExtractorfor mapping extractor samples back to original frame indices in raw microscopy data. This method can be used to synchronize with other data sources or for advanced analysis that requires knowledge of the original frame indices. PR #445
Fixes
- Fixed InscopixSegmentationExtractor with support for string/integer ROI IDs, NWB-compliant pixel masks, standardized ROI lists, improved macOS compatibility, enhanced metadata extraction, and general code cleanup.
PR #435 - Added missing function to retrieve inscopix metadata PR #436
- Fixed deprecated scipy import warning by updating
mat_structimport path PR #442 - Fixed deprecation warning about invalid escape sequence in micromanager TIFF extractor PR #442
- Removed integer-only assumption for ROI IDs in segmentation extractors. ROI IDs can now be strings or any type. Updated
generate_dummy_segmentation_extractorto produce string ROI IDs in formatroi_00,roi_01, etc. PR #449
Deprecations And Removals
- The
get_image_size()method in SegmentationExtractor is deprecated and will be removed on or after January 2026. Useget_frame_shape()instead. PR #443 - The
get_num_frames()method in SegmentationExtractor is deprecated and will be removed on or after January 2026. Useget_num_samples()instead. PR #443 - The
frame_to_time()method in SegmentationExtractor is deprecated and will be removed on or after January 2026. Usesample_indices_to_time()instead. PR #447 - Removed unused
is_writableclass attributes from all extractor classes PR #442 get_framesis nowget_samples.get_frameswill be deprecated in or after January 2026 PR #444
Improvements
- Bruker series can now read sequences of type
BrightnessOverTimePR #448
v0.5.13
Features
- Added
ScanImageImagingExtractorfor simplifying reading ScanImage data PR #412 - Added volumetric imaging support with
is_volumetricflag,get_frame_shape,get_num_planes, andget_volume_shapemethods PR #418 - Added support for multiple samples per slice to
ScanImageIMagingExtractorPR # 417 - Added support for flyback frames to
ScanImageImagingExtractorPR #419 - Added InscopixSegmentationExtractor for reading .isxd segmentation files #407
- Add
plane_indextoScanImageImagingExtractorto obtain a planar extractor across a plane PR #424 - Add testing to timestamp extraction on
ScanImageImagingExtractorPR #426 - Add paths as string support to
ScanImageImagingExtractorPR #427 - Add informative error for old ScanImage files with
ScanImageImagingExtractorPR #427 - Add the option to read interleaved data in
ScanImageImagingExtractorPR #428 - Add detection of missing files in a sequence and excess file for
ScanImageImagingExtractorfile find heuristic PR #429
Fixes
- Fixed
get_seriesmethod inMemmapImagingExtractorto preserve channel dimension PR #416 - Fix memory estimation for volumetric imaging extractors in their
_repr_PR #422
Deprecations And Removals
- The
get_video(start_frame, end_frame)method is deprecated and will be removed in or after September 2025. Useget_series(start_sample, end_sample)instead for consistent naming withget_num_samples. PR #416 - Python 3.9 is no longer supported PR #423
- The
time_to_frame()method is deprecated and will be removed in or after October 2025. Usetime_to_sample_indices()instead for consistent terminology between planar and volumetric data. PR #430 - The
frame_to_time()method is deprecated and will be removed in or after October 2025. Usesample_indices_to_time()instead for consistent terminology between planar and volumetric data. PR #430 - The
frame_slice()method is deprecated and will be removed in or after October 2025. Useslice_samples()instead for consistent terminology between planar and volumetric data. PR #430 - The
FrameSliceImagingExtractorclass is deprecated and will be removed in or after October 2025. UseSampleSlicedImagingExtractorinstead for consistent terminology between planar and volumetric data.
PR #430 - Long deprecated
ScanImageTiffImagingExtractoris removed. For ScanImage legacy data useScanImageLegacyImagingExtractorPR #431 - Deprecated
ScanImageTiffMultiPlaneMultiFileImagingExtractor,ScanImageTiffSinglePlaneMultiFileImagingExtractor,ScanImageTiffMultiPlaneImagingExtractor, andScanImageTiffSinglePlaneImagingExtractorclasses. These will be removed on or after October 2025. UseScanImageImagingExtractorinstead. PR #432
Improvements
- Improved criteria for determining if a ScanImage dataset is volumetric by checking both
SI.hStackManager.enableandSI.hStackManager.numSlices > 1PR #425
v0.5.12
Features
- New
read_scanimage_metadatafor reading scanimage metadata from a file directly as a python dict #405
Fixes
- Use
SI.hChannels.channelSaveorSI.hChannels.channelsaveto determine number of channels for ScanImage extractors when available #401 - Fixes the sampling rate for volumetric
ScanImage#405
Deprecations
- Deprecated
write_imagingandwrite_segmentationmethods: #403 - The
get_image_size()method is deprecated and will be removed in or after September 2025. Useget_image_shape()instead for consistent behavior across all extractors. #409 - Change
get_num_framesforget_num_samples#411
Improvements
- Removed unused installed attribute #410
v0.5.11
Features
- Added ThorTiffImagingExtractor for reading TIFF files produced via Thor #395
Fixes
- Use tifffile.imwrite instead of tifffile.imsave for TiffImagingExtractor: #390
Deprecations
- The 'channel' parameter in get_frames() and get_video() methods is deprecated and will be removed in August 2025. #388