Recent Releases of roiextractors

roiextractors - 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.mesc and single_m_unit_index)PR #479
  • Added tests for unused stub files (dual_color_movie_with_dropped_frames.isxd and multiplane_movie.isxd) in Inscopix imaging extractor PR #478

- Python
Published by pauladkisson 10 months ago

roiextractors - v0.6.1

Features

  • Added native timestamp support with automatic fallback hierarchy: get_native_timestamps() abstract method and get_timestamps() concrete method to all imaging and segmentation extractors. The get_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(), and get_property_keys() for storing and retrieving custom ROI properties PR #467
  • Added MinianSegmentationExtractor for 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 combined and plane_no from Suite2pSegmentationExtractor PR #457
  • check_imaging_equal and check_segmentation_equal no longer compare the number of channels in an extractor as that attribute has been deprecated PR #470
  • exclude_channel_comparison in check_imaging_equal is 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_frames parameter in generate_dummy_imaging_extractor and generate_dummy_segmentation_extractor is now deprecated and will be removed on or after January 2026. Use the new num_samples parameter instead. num_samples is 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. Use get_timestamps() instead. PR #448 Remove deprecated arguments combined and plane_no from Suite2pSegmentationExtractor PR #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 CaimanSegmentationExtractor to cover all stub files, and enhanced the extractor to return quality metrics (r_values, SNR_comp, cnn_preds). PR #466

- Python
Published by pauladkisson 12 months ago

roiextractors - v0.6.0

Features

  • Added FemtonicsImagingExtractor for reading and extracting metadata and imaging data from Femtonics MESc files.PR #440
  • Added get_original_frame_indices() method to ScanImageImagingExtractor for 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_struct import 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_extractor to produce string ROI IDs in format roi_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. Use get_frame_shape() instead. PR #443
  • The get_num_frames() method in SegmentationExtractor is deprecated and will be removed on or after January 2026. Use get_num_samples() instead. PR #443
  • The frame_to_time() method in SegmentationExtractor is deprecated and will be removed on or after January 2026. Use sample_indices_to_time() instead. PR #447
  • Removed unused is_writable class attributes from all extractor classes PR #442
  • get_frames is now get_samples. get_frames will be deprecated in or after January 2026 PR #444

Improvements

  • Bruker series can now read sequences of type BrightnessOverTime PR #448

- Python
Published by pauladkisson about 1 year ago

roiextractors - v0.5.13

Features

  • Added ScanImageImagingExtractor for simplifying reading ScanImage data PR #412
  • Added volumetric imaging support with is_volumetric flag, get_frame_shape, get_num_planes, and get_volume_shape methods PR #418
  • Added support for multiple samples per slice to ScanImageIMagingExtractor PR # 417
  • Added support for flyback frames to ScanImageImagingExtractor PR #419
  • Added InscopixSegmentationExtractor for reading .isxd segmentation files #407
  • Add plane_index to ScanImageImagingExtractor to obtain a planar extractor across a plane PR #424
  • Add testing to timestamp extraction on ScanImageImagingExtractor PR #426
  • Add paths as string support to ScanImageImagingExtractor PR #427
  • Add informative error for old ScanImage files with ScanImageImagingExtractor PR #427
  • Add the option to read interleaved data in ScanImageImagingExtractor PR #428
  • Add detection of missing files in a sequence and excess file for ScanImageImagingExtractor file find heuristic PR #429

Fixes

  • Fixed get_series method in MemmapImagingExtractor to 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. Use get_series(start_sample, end_sample) instead for consistent naming with get_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. Use time_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. Use sample_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. Use slice_samples() instead for consistent terminology between planar and volumetric data. PR #430
  • The FrameSliceImagingExtractor class is deprecated and will be removed in or after October 2025. Use SampleSlicedImagingExtractor instead for consistent terminology between planar and volumetric data. PR #430
  • Long deprecated ScanImageTiffImagingExtractor is removed. For ScanImage legacy data use ScanImageLegacyImagingExtractor PR #431
  • Deprecated ScanImageTiffMultiPlaneMultiFileImagingExtractor, ScanImageTiffSinglePlaneMultiFileImagingExtractor, ScanImageTiffMultiPlaneImagingExtractor, and ScanImageTiffSinglePlaneImagingExtractor classes. These will be removed on or after October 2025. Use ScanImageImagingExtractor instead. PR #432

Improvements

  • Improved criteria for determining if a ScanImage dataset is volumetric by checking both SI.hStackManager.enable and SI.hStackManager.numSlices > 1PR #425

- Python
Published by pauladkisson about 1 year ago

roiextractors - v0.5.12

Features

  • New read_scanimage_metadata for reading scanimage metadata from a file directly as a python dict #405

Fixes

  • Use SI.hChannels.channelSave or SI.hChannels.channelsave to determine number of channels for ScanImage extractors when available #401
  • Fixes the sampling rate for volumetric ScanImage #405

Deprecations

  • Deprecated write_imaging and write_segmentation methods: #403
  • The get_image_size() method is deprecated and will be removed in or after September 2025. Use get_image_shape() instead for consistent behavior across all extractors. #409
  • Change get_num_frames for get_num_samples #411

Improvements

  • Removed unused installed attribute #410

- Python
Published by pauladkisson about 1 year ago

roiextractors - 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 getframes() and getvideo() methods is deprecated and will be removed in August 2025. #388

Improvements

  • Use pyproject.toml for project metadata and installation requirements #382
  • Added __repr__ and methods to ImagingExtractor for better display in terminals and Jupyter notebooks #393 and #396
  • Removed deprecated np.product from the library #397

- Python
Published by pauladkisson over 1 year ago

roiextractors - v0.5.10

Features

  • Added a seed to dummy generators #361
  • Added depth_slice for VolumetricImagingExtractors PR #363

Fixes

  • Added specific error message for single-frame scanimage data PR #360
  • Fixed bug with ScanImage's parse_metadata so that it works properly when hStackManager is disabled PR #373
  • Add support for background components in FrameSliceSegmentationExtractor PR #378

Improvements

  • Removed unnecessary import checks for scipy, h5py, and zarr PR #364
  • Improved the error message for the set_timestamps method in the ImagingExtractor classPR #377
  • Renamed MiniscopeImagingExtractor toMiniscopeMultiRecordingImagingExtractor classPR #374

- Python
Published by pauladkisson over 1 year ago

roiextractors - v0.5.9

Deprecations

  • Remove support for Python 3.8: PR #325

Features

  • Add InscopixImagingExtractor: #276
  • Updated testing workflows to include python 3.12, m1/intel macos, and dev tests to check neuroconv: PR #317
  • Added API documentation: #337
  • Optimized get_streams for BrukerTiffSinglePlaneImagingExtractor by introducing a static function get_available_channels which uses lazy parsing of the XML to fetch the available channels: #344

Fixes

  • Remove unnecessary scipy import error handling: #315
  • Fixed the typing returned by the InscopixImagingExtractor.get_dtype method: #326
  • Detect Changelog Updates was moved to its own dedicated workflow to avoid daily testing failures: #336
  • Fixed the Daily testing workflows by passing along the appropriate secrets: #340
  • Change the criteria of determining if Bruker data is volumetric #342
  • Fixes a bug that assumes the channel name is is on the tiff file for BrukerTiffSinglePlaneImagingExtractor #343
  • Including packaging explicitly in minimal requirements #347
  • Updated requirements to include cv2 and update dev testing locations for neuroconv: #357

Improvements

  • The Suite2PSegmentationExtractor now produces an error when a required sub-file is missin: #330
  • Added _image_mask initialization in BaseSegmentationExtractor; combined abstractmethods into top of file: #327
  • Optimize parsing of xml with lxml library for Burker extractors: #346
  • Protect sima and dill export #351
  • Improve error message when TiffImagingExtractor is not able to form memmap #353
  • Updated Check Docstrings workflow to use new github action: #354

Testing

  • Updated testing workflows to include python 3.12, m1/intel macos, and dev tests to check neuroconv: PR #317
  • Added daily testing workflow and fixed bug with python 3.12 by upgrading scanimage-tiff-reader version: PR #321
  • Remove wheel from requirements and move CI dependencies to test requirements PR #348
  • Use Spikeinterface instead of Spikeextractors for toy_example PR #349

- Python
Published by pauladkisson almost 2 years ago

roiextractors - v0.5.8

Fixes

  • The triggering workflow name for update version was incorrectly set to auto-publish (the name of the yaml file). It has been renamed to Upload Package to PyPI (the name field of the workflow): PR #304.

  • Fixed bug with automatic changelog test that was causing it to fail for daily tests: PR #310

  • Updated zenodo to get a DOI on each release: No PR

- Python
Published by pauladkisson about 2 years ago

roiextractors - v0.5.7

Features

  • Add support to get background components: add get_background_ids(), get_background_image_masks(), get_background_pixel_masks() to SegmentationExtractor. PR #291

  • Add distinction for raw roi response and denoised roi response in CaimanSegmentationExtractor: PR #291

  • Bug fix for the CaimanSegmentationExtractor: correctly extract temporal and spatial background components PR #291

  • Added automatic version update workflow file that will run after publishing a new release to pypi: PR #290

  • Added ScanImageTiffSinglePlaneMultiFileImagingExtractor and ScanImageTiffMultiPlaneMultiFileImagingExtractor: PR #297

  • Added automatic changelog checking in the test workflow: PR #302

Fixes

  • Improved xml parsing with Bruker PR #267

  • Fixed a bug with ScanImageTiffSinglePlaneImagingExtractor in which frames_per_slice would be set to _num_frames: PR #294

- Python
Published by pauladkisson about 2 years ago

roiextractors - v0.5.6

Features

  • Added support for red channel (anatomical) ROIs from suite2p in Suite2pSegmentationExtractor PR #270
  • Added support for RoiGroup metadata in the extract_extra_metadata function for ScanImageTiff files PR #272
  • Updated documentation and Readme PRs #283 #282 #280

- Python
Published by pauladkisson over 2 years ago

roiextractors - v0.5.5

v0.5.5

Features

  • Updated Suite2pSegmentationExtractor to support multi channel and multi plane data. PR #242

Fixes

  • Fixed MicroManagerTiffImagingExtractor private extractor's dtype to not override the parent's dtype. PR #257
  • Fixed override of channel_name in Suite2pSegmentationExtractor. PR #263

- Python
Published by alessandratrapani over 2 years ago

roiextractors - v0.5.4

v0.5.4

Features

  • Added volumetric and multi-channel support for Bruker format. PR #230

- Python
Published by CodyCBakerPhD almost 3 years ago

roiextractors - v0.5.3

v0.5.3

Features

  • Added support for Miniscope AVI files with the MiniscopeImagingExtractor. PR #225

- Python
Published by CodyCBakerPhD almost 3 years ago

roiextractors - v0.5.2

v0.5.2

Features

  • Added support for MicroManager TIFF files with the MicroManagerTiffImagingExtractor. PR #222
  • Added support for Bruker TIFF files with the BrukerTiffImagingExtractor. PR #220

- Python
Published by CodyCBakerPhD about 3 years ago

roiextractors - v0.5.1

Features

  • Added a has_time_vector function for ImagingExtractors and SegmentationExtractors, similar to the SpikeInterface API for detecting if timestamps have been set. PR #216

Fixes

  • Fixed two issues with the SubFrameSegementation class: (i) attempting to set the private attribute _image_masks even when this was not present in the parent, and (ii) not calling the parent function for get_pixel_masks and instead using the base method even in cases where this had been overridden by the parent. PR #215

- Python
Published by CodyCBakerPhD over 3 years ago

roiextractors - v0.5.0

v0.5.0

Back-compatability break

  • The orientation of traces in all SegmentationExtractors has been standardized to have time (frames) as the first axis, and ROIs as the final axis. PR #200

Features

  • Add support for newer versions of EXTRACT output files. PR #170 The ExtractSegmentationExtractor class is now abstract and redirects to the newer or older extractor depending on the version of the file. PR #170
  • The ExtractSegmentationExtractor.write_segmentation method has now been deprecated. PR #170

Improvements

  • Add frame_to_time to SegmentationExtractor, get_roi_ids is now a class method. PR #187
  • Add set_times to SegmentationExtractor. PR #188
  • Updated the test for segmentation images to check all images for the given segmentation extractors. PR #190
  • Refactored the NwbSegmentationExtractor to be more flexible with segmentation images and keep up with the change in catalystneuro/neuoroconv#41 of trace names. PR #191
  • Implemented a more efficient case of the base ImagingExtractor.get_frames through get_video when the indices are contiguous. PR #195
  • Removed max_frame check on MultiImagingExtractor.get_video() to adhere to upper-bound slicing semantics. PR #195
  • Improved the MultiImagingExtractor.get_video() to no longer rely on get_frames. PR #195
  • Added dtype consistency check across MultiImaging components as well as a direct override method. PR #195
  • Added the FrameSliceSegmentationExtractor class and corresponding Segmentation.frame_slice(...) method. PR #201
  • Changed the output_struct_name argument to optional in ExtractSegmentationExtractor. to allow more flexible usage for the user and better error message when it cannot be found in the file. For consistency, output_struct_name argument has been also added to the legacy extractor. The orientation of segmentation images are transposed for consistency in image orientation (height x width). PR #210
  • Relaxed rounding of ImagingExtractor.frame_to_time(...) and SegmentationExtractor.frame_to_time(...) to be more consistent with SpikeInterface. PR #212

Fixes

  • Fixed the reference to the proper mov_field in Hdf5ImagingExtractor. PR #195
  • Updated the name of the ROICentroids column for the NwbSegmentationExtractor to be up-to-date with NeuroConv v0.2.0 write_segmentation. PR #208
  • Updated the trace orientation for the NwbSegmentationExtractor. PR #208

- Python
Published by CodyCBakerPhD almost 4 years ago

roiextractors - v0.4.18

Improvements

  • get_video is now an abstract method in ImagingExtractor PR #180

Features

  • Add dummy segmentation extractor PR #176

Testing

  • Added unittests to the get_frames method from ImagingExtractors to assert that they are consistent with numpy indexing behavior. PR #154
  • Tests for spikeinterface like-behavior for the get_video function PR #181

- Python
Published by h-mayorquin almost 4 years ago

roiextractors - v0.4.17

New features

  • Adds MultiImagingExtractor for combining multiple imaging extractors.
  • Adds ScanImageTiffExtractor for reading .tiff files output from ScanImage
  • Adds NumpyImagingExtractor for extracting raw video data as memmaps.
  • Added frame slicing capabilities for imaging extractors.

Minor changes

  • Suite2P argument has become folder_path instead of file_path, file_path deprecation scheduled for august or later.
  • Improved docstrings across many extractors.

Testing changes

  • Added checks and debugs that all sampling frequencies returns are floats
  • Round trip testing working for all extractors that have a working write method.

- Python
Published by CodyCBakerPhD almost 4 years ago

roiextractors - v0.4.1

v0.4.1

Bug Fix

Allows the TiffImagingInterface to read from non-memmap files.

- Python
Published by CodyCBakerPhD about 4 years ago

roiextractors - v0.4.0

v0.4.0 removes the NWB write functions from the project; these are now incorporated into the nwbconversiontools project. A deprecation message is left on any attempt to use the related functions.

- Python
Published by CodyCBakerPhD over 4 years ago

roiextractors -

Additional support for .sbx files

- Python
Published by Saksham20 over 5 years ago