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.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
- 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 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
- Python
Published by pauladkisson 12 months ago
roiextractors - 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
- Python
Published by pauladkisson about 1 year ago
roiextractors - 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
- Python
Published by pauladkisson about 1 year ago
roiextractors - 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
- 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.tomlfor 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
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_timestampsmethod in theImagingExtractorclassPR #377 - Renamed
MiniscopeImagingExtractortoMiniscopeMultiRecordingImagingExtractorclassPR #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_streamsforBrukerTiffSinglePlaneImagingExtractorby introducing a static functionget_available_channelswhich uses lazy parsing of the XML to fetch the available channels: #344
Fixes
- Remove unnecessary
scipyimport error handling: #315 - Fixed the typing returned by the
InscopixImagingExtractor.get_dtypemethod: #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
packagingexplicitly in minimal requirements #347 - Updated requirements to include cv2 and update dev testing locations for neuroconv: #357
Improvements
- The
Suite2PSegmentationExtractornow produces an error when a required sub-file is missin: #330 - Added
_image_maskinitialization inBaseSegmentationExtractor; combinedabstractmethods into top of file: #327 - Optimize parsing of xml with
lxmllibrary for Burker extractors: #346 - Protect sima and dill export #351
- Improve error message when
TiffImagingExtractoris 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 toUpload 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()toSegmentationExtractor. PR #291Add distinction for raw roi response and denoised roi response in
CaimanSegmentationExtractor: PR #291Bug fix for the
CaimanSegmentationExtractor: correctly extract temporal and spatial background components PR #291Added automatic version update workflow file that will run after publishing a new release to pypi: PR #290
Added
ScanImageTiffSinglePlaneMultiFileImagingExtractorandScanImageTiffMultiPlaneMultiFileImagingExtractor: PR #297Added automatic changelog checking in the test workflow: PR #302
Fixes
Improved xml parsing with Bruker PR #267
Fixed a bug with
ScanImageTiffSinglePlaneImagingExtractorin whichframes_per_slicewould 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_metadatafunction 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
Suite2pSegmentationExtractorto support multi channel and multi plane data. PR #242
Fixes
- Fixed
MicroManagerTiffImagingExtractorprivate extractor's dtype to not override the parent's dtype. PR #257 - Fixed override of
channel_nameinSuite2pSegmentationExtractor. 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_vectorfunction for ImagingExtractors and SegmentationExtractors, similar to the SpikeInterface API for detecting if timestamps have been set. PR #216
Fixes
- Fixed two issues with the
SubFrameSegementationclass: (i) attempting to set the private attribute_image_maskseven when this was not present in the parent, and (ii) not calling the parent function forget_pixel_masksand 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
ExtractSegmentationExtractorclass is now abstract and redirects to the newer or older extractor depending on the version of the file. PR #170 - The
ExtractSegmentationExtractor.write_segmentationmethod has now been deprecated. PR #170
Improvements
- Add
frame_to_timetoSegmentationExtractor,get_roi_idsis now a class method. PR #187 - Add
set_timestoSegmentationExtractor. PR #188 - Updated the test for segmentation images to check all images for the given segmentation extractors. PR #190
- Refactored the
NwbSegmentationExtractorto 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_framesthroughget_videowhen the indices are contiguous. PR #195 - Removed
max_framecheck onMultiImagingExtractor.get_video()to adhere to upper-bound slicing semantics. PR #195 - Improved the
MultiImagingExtractor.get_video()to no longer rely onget_frames. PR #195 - Added
dtypeconsistency check acrossMultiImagingcomponents as well as a direct override method. PR #195 - Added the
FrameSliceSegmentationExtractorclass and correspondingSegmentation.frame_slice(...)method. PR #201 - Changed the
output_struct_nameargument to optional inExtractSegmentationExtractor. to allow more flexible usage for the user and better error message when it cannot be found in the file. For consistency,output_struct_nameargument 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(...)andSegmentationExtractor.frame_to_time(...)to be more consistent with SpikeInterface. PR #212
Fixes
- Fixed the reference to the proper
mov_fieldinHdf5ImagingExtractor. PR #195 - Updated the name of the ROICentroids column for the
NwbSegmentationExtractorto be up-to-date with NeuroConv v0.2.0write_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_videois now an abstract method inImagingExtractorPR #180
Features
- Add dummy segmentation extractor PR #176
Testing
- Added unittests to the
get_framesmethod fromImagingExtractorsto assert that they are consistent with numpy indexing behavior. PR #154 - Tests for spikeinterface like-behavior for the
get_videofunction 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_pathinstead offile_path,file_pathdeprecation 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