Changelog#

All notable changes to this project will be documented in this file.

The format follows the Keep a Changelog conventions and this project adheres to Semantic Versioning 2.0.0.

[2.3.1] - 2025-11-28#

Fixed#

  • NXtomoScan: fix reading of rotation angles - missing interpretation of ‘units’ attribute (PR 329)

[2.3.0] - 2025-11-21#

Added#

  • Scan

    • Handle NXtomo saved in the McStas coordinate system (PR 277).

    • Reduced darks/flats: add information about possible frame flip (PR 317).

  • Volume

    • Add a method to load data by chunk (PR 321).

    • Add an option to write slices in reverse order (PR 319).

Changed#

  • Volume

    • The url parameter has been deprecated in several functions (PR 322).

Misc#

  • The minimum Python version required is now 3.10.

[2.2.7] - 2025-08-08#

Added#

  • ReduceFrameSaver class to save reduced frames and flats without needing to instantiate a TomoScanBase.

[2.2.6] - 2025-07-29#

Changed#

  • Moved classes that read fluorescence data to the nxtomomill package.

[2.2.0] - 2025-07-03#

Added#

  • Scan

    • Getters for sample pixel size, propagation distance, and source / sample distance.

    • Handling of sequence_number.

  • Added hdf5plugin and blosc2_grok dependencies (PR 283).

Changed#

  • Switched to pint for units handling (PR 270).

  • Renamed electrical_currentmachine_current (PR 257).

Fixed#

  • Fixed data_extension and metadata_extension handling (PR 284).

Misc#

  • Minimum required Python version is now 3.9 (PR 279).

[2.1.1] - 2024-11-28#

Changed#

  • Volume

    • VolumeSingleFrameBase: remove possible leftover files from a previous save (PR 243).

[2.1.0] - 2024-11-22#

Changed#

  • Scan

    • Removed HDF5XRD3DScan and XRD3DFrame classes.

  • Series

    • Deprecate tomoscan.serie.serie (PR 236).

[2.0.0] - 2024-02-07#

Added#

  • build_drac_metadata function.

Changed#

  • Scan

    • NXtomo: replace x_flipped and y_flipped by NXtransformations (PR 145).

    • Deprecate tomoscan.esrf.scan.hdf5scan.HDF5TomoScantomoscan.esrf.scan.nxtomo.NXtomoScan.

    • Deprecate tomoscan.esrf.scan.mock.MockHDF5tomoscan.esrf.scan.mock.MockNXtomo.

    • Deprecate tomoscan.test.utils.HDF5MockContexttomoscan.test.utils.NXtomoMockContext.

    • NXtomoScan.flat_n: now returns the number of flats per series (like EDFTomoScan) instead of the total number of raw flats.

  • Misc

    • Added a dependency on nxtomo and moved all Nexus path handling to that package.

[1.3.2] - 2023-08-23#

Changed#

  • Volume

    • jp2k: rescale data when casting to uint16 by default.

[1.3.0] - 2023-08-01#

Added#

  • Volume

    • guess_volumes: add filtering of Nabu histograms (commit 8444be27).

Changed#

  • Identifier

    • Replace data_path request by path to align with the silx API (PR 144).

  • Volume

    • Replace scalar pixel_size with tuple voxel_size (PR 139).

  • Scan → HDF5TomoScan

    • Removed nonsensical logic that tried to fetch “return” projections from rotation angle when image_key_control is missing.

    • Added detector‑dataset validation: log a warning if a virtual dataset is broken or contains more external files than the OS can handle (PR 147).

Removed#

  • Volume

    • get_bounding_box: removed API that allowed axis strings ('x', 'y', 'z') and now only accepts integer indices (PR 138).

Misc#

  • Increased use of f‑strings where possible (PR 71).

[1.2.0] - 2023-02-23#

Changed#

  • Volume

    • Single‑frame‑per‑file volumes (edf, jp2k) default digit count increased from 4 to 6 (reading remains compatible) (PR 336).

  • Frame reducer

    • Overwrite existing dataset when possible (PR 128).

  • Scan

    • Reworked get_short_description: compress file name if it is too long (PR 129).

Misc#

  • Removed distutils from packaging (PR 126).

[1.1.2] - 2023-01-10#

Added#

  • Volume

    • RawVolume (legacy for some processing pipelines) (PR 123).

[1.1.0] - 2022-12-15#

Added#

  • Scan

    • Metadata for stitching (PR 118).

Misc#

  • Added pylint configuration.

[1.0.0] - 2022-08-30#

Added#

  • Scan

    • Handle source probe (PR 80).

  • Volume

    • browse_data_urls function (PR 83).

    • browse_data_files and browse_metadata_files functions (PR 82).

    • Create output directories for single files if they do not exist (PR 81).

    • Utility functions guess_volumes, guess_hdf5_volume_data_paths, … (PR 85, PR 89).

    • HDF5 Volume: added browse_slices and load_chink functions (PR 96).

  • Reduced frames

    • Added metadata to reduced frames (PR 92).

    • copy_darks_to and copy_flats_to functions (PR 90).

    • Utilities to handle relative reduced‑frame indices (PR 99).

Changed#

  • Validator

    • Use tomo_n where possible for NXtomo validity checks (PR 97).

Misc#

  • Renamed exposure_timecount_time (PR 98).

[0.9.0] - 2022-06-19#

Added#

  • Scan

    • Machine current handling (PR 78) – stored at nexus_path.ELECTRIC_CURRENT_PATH for both HDF5 and Nexus files.

    • EDFScan

      • dataset_basename and scan_info parameters added to the constructor (PR 77) to control projection naming and optional .info metadata.

[0.8.0] - 2022-02-05#

Added#

  • Nexus module defining Nexus paths (PR 73).

  • unitsystem

    • Added timesystem module for time handling (PR 72).

  • Introduced the concept of volume inside tomoscan (PR 70).

Changed#

  • Improved management of a series (PR 67).

[0.7.0] - 2022-01-04#

Added#

  • esrf

    • Default methods to load and save darks/flats according to file format (HDF5, EDF) (PR 65).

    • hdf5scan

      • Ability to specify the Nexus version in the constructor for backward compatibility (PR 58).

    • Added get_relative_file helper.

Changed#

  • Improved mock class (PR 57).

  • Moved documentation to autosummary (PR 56).

  • Replaced some ref terminology with flat (PR 60).

[0.6.0] - 2021-08-31#

Added#

  • Validator helper to parse input files and detect missing datasets, invalid values, or broken links.

  • Scan

    • TomoScanBase

      • First version of intensity normalization.

      • intensity_monitor property (e.g., diode reading).

      • exposure_time property for frame exposure time.

    • Added Source class.

    • Exposed _FOV as a public attribute.

    • HDF5TomoScan

      • Adapted to read various Nexus versions via a _NEXUS_PATHS helper class.

      • tomo_n now returns the value from instrument/detector/tomo_n instead of len(projections).

    • Utilities

      • get_compacted_dataslices: preserve defined slicing scheme.

    • Added HDF5XRD3DScan class for XRD‑3D data.

Changed#

  • Switched build configuration to setup.cfg.

[0.5.0] - 2021-04-20#

Added#

  • Scan

    • New properties: sequence_name, sample_name, group_size, start_time, end_time, x_translation, y_translation, z_translation (the last three not yet handled by EDFTomoScan).

    • Utilities: concept of groups (e.g., a set of sequences defining a Z‑series).

Changed#

  • HDF5TomoScan

    • Speed‑up sinogram generation.

  • EDFTomoScan

    • Improved lazy loading.

[0.4.0] - 2020-11-09#

Added#

  • esrf

    • alignment_projections and estimated_cor_frm_motor properties on TomoScanBase.

    • flat_field_correction function.

Changed#

  • Scan

    • Added ignore_projections to constructors.

  • Updated h5py dependency to version 3.x.

Misc#

  • Adopted the black code‑formatting style.

[0.3.2] - 2020-08-26#

Fixed#

  • HDF5TomoScan

    • Manage HDF5 files using the HDFFile class to avoid file corruption.

[0.3.1] - 2020-08-19#

Added#

  • Scan

    • field_of_view property.

Changed#

  • Reworked notebooks.

[0.3.0] - 2020-06-26#

Added#

  • Utilities

    • get_compacted_dataslices.

Changed#

  • Default distance units moved to meter.

  • Files opened with SWMR mode by default.

  • Reworked HDF5 mock class.

[0.2.0] - 2020-03-09#

Added#

  • Scan

    • Caching for main parameters.

  • TomoScanBase

    • Added distance and energy properties.

  • HDF5TomoScan

    • Support for multiple sequences (multiple TomoScanBase objects) per master file.

    • Added image_key (projection, dark, …).

    • Adapted to latest Bliss file format (bamboo).

    • Added return_projs, rotation_angle, magnified_pixel_size, and frames handling.

Changed#

  • EDFTomoScan

    • Reworked guess_index_frm_file_name.

  • Reworked the UnitSystem.

[0.1.0] - 2020-02-11#

Added#

  • Added tomoscan.esrf.edfscan.

  • Added tomoscan.esrf.hdf5scan.