Release Notes#
Changelog entries for the development version are available at https://rosettasciio.readthedocs.io/en/latest/changes.html
[UNRELEASED] (2025-10-15)#
Bug Fixes#
Fix reading velox emd file when element selection is empty. (#432)
Maintenance#
Add explicit support for python 3.14 and drop support for python 3.9. Build windows arm64 wheel. (#441)
0.10 (2025-07-27)#
New features#
Enhancements#
ZSpy: Add parameter
store_typeto specify the zarr store used savingzspyfile. File saved withzarr.storage.ZipStorecan now be loaded automatically without having to pass the store. (#417)Renishaw format: add support for reading incomplete acquisition. (#420)
Improved Documentation#
Maintenance#
0.9.0 (2025-05-29)#
New features#
Enhancements#
Bug Fixes#
Allow reading of Hamamatsu
.imgfiles withScalingXScalingFile="Other"(uncalibrated x axis). (#387)Remove optional dependency (
blosc) ofmrczbecause wheels are not available starting from python 3.13.bloscwas installed as a convenience. (#392)Fix Distributed loading of
.blofiles (and other binary files with thekeyparameter) with chunks that don’t span the signal axis. (#395)Remove non-distributed memory mapping implementation in quantum detector reader because it doesn’t work anymore with recent versions of dask and it is not supposed to. The distributed memory mapping implementation is now always used. Fix setting
chunks. (#400)
Improved Documentation#
Add list of companies supporting their file formats. (#403)
Maintenance#
0.8.0 (2025-03-28)#
Enhancements#
Improve error message when loading spectrum image from EMD Velox file and the
sparselibrary is not installed. (#305)Add
export_metadata()utility function for exporting metadata from Bruker file. (#326)Add support for distributed lazy loading in Blockfile reader and remove loading using threaded memory mapping which is discouraged in recent dask releases. (#372)
Add support for distributed implementation to the ripple reader. (#376)
Bug Fixes#
Improved Documentation#
Add section to user guide on memory mapping of binary file, explaining about the
distributedandchunksparameters. (#376)
Maintenance#
Specfiy python-box!=7.3.1 from dependency requirement as a workaround for cdgriffith/Box#288. (#357)
Build and tests linux-arm wheels natively. (#358)
Bump dask version requirement to 2022.9.2. (#374)
Add T20 rules (flake8-print) to ruff configuration. (#378)
Add free-threaded python build. (#379)
Fix parsing camera length from the
info.txtfile when loading MRC files. (#380)
0.7.1 (2025-01-12)#
Maintenance#
Pin zarr to version 2 until zarr version 3 is supported. (#351)
0.7 (2024-12-20)#
New features#
Add basic support for the Delmic HDF5 format. (#139)
Enhancements#
-
add support for newer version of DE server,
add support foe discovering metadata file (
*_info.txt) based on the naming scheme. (#311)
Add support for tiff file in
get_file_handle(). (#317)
Bug Fixes#
Maintenance#
Add explicit support for python 3.13. (#339)
0.6 (2024-07-11)#
Enhancements#
-
add support for saving file - see
file_writer()add the
parse_metadata()function to parse metadata fromsurfileadd series of RGB images / surfaces support. (#280)
Bug Fixes#
Fixes axes for JPG with no exif_tags. Return of axes while loading isn’t emty anymore. (#283)
EMD Velox fixes for reading files containing multiple EDS streams:
fix reading multiple EDS streams lazily with
sum_EDS_detectors=True,fix reading separate EDS stream and individual frames when using
sum_EDS_detectors=Falseandsum_frames=False. (#287)
Quantum Detector: Fix signal shape of data acquired in ROI mode. (#289)
Maintenance#
Add support for numpy 2 in Renishaw, Semper and Dens reader. (#281)
0.5 (2024-06-15)#
Enhancements#
EMD (Velox): Enforce setting identical units for the
xandyaxes, as convenience to use the scalebar in HyperSpy. (#243)Quantum Detector: Add support for dask distributed scheduler. (#267)
Bug Fixes#
EMD (Velox): Fix conversion of offset units which can sometimes mismatch the scale units. (#243)
Ripple format: Fix typo and improve error message for unsupported
dtypein writer. (#251)EMD (Velox): Fix parsing elements from EDS data from velox emd file v11. (#274)
Maintenance#
0.4 (2024-04-02)#
Enhancements#
-
return survey image instead of saving it to the metadata and add marker of the mapping area on the survey image.
Add support for reading data with invariant axis, for example when the values of the Z axis doesn’t change.
Parse calibration of
jpgimages saved with Renishaw Wire software. (#227)
Add making test data files section to contributing guide, explain characteristics of “good” test data files. (#233)
Quantum Detector reader: use timestamps to get navigation shape when the navigation shape is not available - for example, acquisition with pixel trigger or scan shape not in metadata. (#235)
Improve setting output size for an image. (#244)
Bug Fixes#
Fix saving
hspyfile with empty array (signal or metadata) and fix closinghspyfile when a error occurs during reading or writing. (#206)Fix saving ragged arrays of vectors from/to a chunked
hspyandzspystore. Greatly increases the speed of saving and loading ragged arrays from chunked datasets. (#211)Fix saving ragged array of strings in
hspyandzspyformat. (#217)Fix setting beam energy for XRF maps in
bcffiles. (#231)Quantum Detector reader: fix setting chunks. (#235)
Maintenance#
Add
POOCH_BASE_URLto specify the base url used by pooch to download test data. This fixes the failure of thepackage_and_test.ymlworkflow in pull requests where test data are added or updated. (#200)Fix documentation links following release of hyperspy 2.0. (#210)
Run test suite on osx arm64 on GitHub CI and speed running test suite using all available CPUs (3 or 4) instead of only 2. (#222)
Fix deprecation warnings introduced with numpy 1.25 (“Conversion of an array with ndim > 0 to a scalar is deprecated, …”). (#230)
Fix numpy 2.0 removal (
np.productandnp.string_). (#238)Fix download test data when using
pytest --pyargs rsciio -n. (#245)
0.3 (2023-12-12)#
New features#
Add
rsciio.set_log_level()to set the logging level ofRosettaSciIO(#69)Added the
memmap_distributed()function for loading a memmap file from multiple processes.Added the arguments
distributedandmetadata_fileto the .mrc file reader for loading metadata save from DirectElectron detectors.Speed up to the .mrc file reader for large .mrc files by removing the need to reshape and transpose the data. (#162)
Add support for saving lazy ragged signals to the zspy format. (#193)
Bug Fixes#
Fix error when reading CEOS Panta Rhei (PRZ) file with aperture
"Out"(#173)Improvement for installation without
numba:Fix getting version on debian/ubuntu in system-wide install. Add support for installing from git archive and improve getting development version using setuptools fallback_version (#187)
Fix
dwell_timereading in QuantumDetectors reader (.mibfile). Thedwell_timeis stored in milliseconds, not microseconds as the previous code assumed. (#189)
Maintenance#
0.2 (2023-11-09)#
New features#
Add support for reading the
.img-format from Hamamatsu. (#87)Add support for reading the
.mib-format from Quantum Detector Merlin camera. (#174)
Bug Fixes#
Improved Documentation#
Enhancements#
Maintenance#
Add
sidpydependency and pin it to <0.12.1 as a workaround to fixpyusidimport (#155)Update hspy/zspy plugins to new markers API introduced in HyperSpy 2.0 (#164)
Pin pillow<10.1.0 until imageio supports newer pillow version - see imageio/imageio#1044 (#175)
Update the test suite and the CI workflows to work with and without exspy installed (#176)
Add badges that became available after first release (#177)
0.1 (2023-06-06)#
New features#
Add support for reading the
.xml-format from Horiba Jobin Yvon’s LabSpec software. (#25)Add support for reading the
.tvf-format from TriVista. (#27)Add support for reading the
.wdf-format from Renishaw’s WIRE software. (#55)Added subclassing of
.surfiles in CL signal type and updated metadata parsing (#98)Add optional kwarg to tiff reader
multipage_as_listwhich when set to True usespagesinterface and returns list of signal for every page with full metadata. (#104)Add file reader and writer for PRZ files generated by CEOS PantaRhei (HyperSpy #2896)
Bug Fixes#
Ensure that the
.msaplugin handlesSIGNALTYPEvalues according to the official format specification. (#39)Fix error when reading Velox file containing FFT with an odd number of pixels (#49)
Fix error when reading JEOL
.ptsfile with un-ordered frame list or when length offrame_start_indexis smaller than the sweep count (#68)Fix exporting scalebar with reciprocal units containing space (#90)
Fix array indexing bug when loading a
surfile format containing spectra series. (#98)For more robust xml to dict conversion,
convert_xml_to_dictis replaced byXmlToDict(introduced by PR #111). (#101)Fix bugs with reading non-FEI and Velox
mrcfiles, improve documentation ofmrcandmrczfile format. Closes #71, #91, #93, #96, #130. (#131)
Improved Documentation#
Deprecations#
Remove deprecated
record_byattribute from file readers where remaining (#102)
Enhancements#
Recognise both byte and string object for
NXdatatag in NeXus reader (#112)
API changes#
Move, enhance and share xml to dict/list translation and other tools (new api for devs) from
Bruker._apito utils:utils.date_time_tools.msfiletime_to_unixfunction to convert the uint64 MSFILETIME to datetime.datetime object.utils.tools.sanitize_msxml_floatfunction to sanitize some MSXML generated xml where comma is used as float decimal separator.utils.tools.XmlToDictXml to dict/list translator class with rich customization options as kwargs, and main method for translationdictionarize(#111)
Maintenance#
Initiate GitHub actions for tests and documentation. (#1)
Initiate towncrier changelog and create templates for PRs and issues. (#3)
Add github CI workflow to check links, build docs and push to the
gh-pagesbranch. Fix links and add EDAX reference file specification (#4)Add azure pipelines CI to run test suite using conda-forge packages. Add pytest and coverage configuration in
pyproject.toml(#6)Fix minimum install, add corresponding tests build and tidy up leftover code (#13)
Fixes and code consistency improvements based on analysis provided by lgtm.org (#23)
Added github action for code scanning using the codeQL engine. (#26)
Following the deprecation cycle announced in HyperSpy, the following keywords and attributes have been removed:
Bruker composite file (BCF): The
'spectrum'option for theselect_typeparameter was removed. Use ‘spectrum_image’ instead.Electron Microscopy Dataset (EMD) NCEM: Using the keyword
'dataset_name'was removed, use'dataset_path'instead.NeXus data format: The
dataset_keys,dataset_pathsandmetadata_keyskeywords were removed. Usedataset_key,dataset_pathandmetadata_keyinstead. (#30)
Unify the
format_namescheme of IO plugins usingnameinstead and addname_aliases(list) for backwards compatibility. (#35)Add drone CI to test on
arm64/aarch64platform (#42)Unify naming of folders/submodules to match documented format
name(#81)Add black as a development dependency. Add pre-commit configuration file with black code style check, which when installed will require changes to pass a style check before commiting. (#86)
Add support for python-box 7 (#100)
Migrate to API v3 of
imageio.v3(#106)Add explicit support for python 3.11 and drop support for python 3.6, 3.7 (#109)
Remove test data from packaging and download them when necessary (#123)
Define packaging in
pyproject.tomland keepsetup.pyto handle compilation of C extension (#125)Add release GitHub workflow to automate release process and add corresponding documentation in releasing_guide.md (#126)
Add pre-commit hook to update test data registry and pre-commit.ci to run from pull request (#129)
Tidy up
rsciionamespace: privatisedocstrings, moveconftest.pyandexceptionsto tests and utils folder, respectively (#132)
Initiation (2022-07-23)#
RosettaSciIO was split out of the HyperSpy repository on July 23, 2022. The IO-plugins and related functions so far developed in HyperSpy were moved to this new repository.