- Python 3.14 compatibility updates.
- Fix FFT calibration for odd dimensions.
- Add rectangle mask generation functions.
- Change behavior to use center of pixel to determine if a pixel is within a mask.
- Maintenance release to fix a build issue.
- Ensure element data always returns actual ndarray.
- Add support for 5d (1/2/2) data in data and metadata objects.
- Make Calibration hashable.
- Require Numpy 2. Add Python 3.13 support. Drop Python 3.9, 3.10 support.
- Restore RPC (remote procedure calls) support to DataAndMetadata.
- Add power function (xdata.power).
- Add radial profile function (xdata.radial_profile).
- Improve handing of invalid inverse coordinates (1/0).
- Add support for computing the phase of a complex array (thanks Luc J Bourhis).
- Improve performance (eliminate some unnecessary metadata dict copying)
- Minor update for typing compatibility.
- Reapply DataMetadata read-only accessors change.
- Make read-only accessors to all DataMetadata properties instead of having them be read/write.
- Revert breaking change: DataMetadata read-only accessors.
- Introduce rebin_factor xdata function.
- Carry through intensity calibration during FFT/IFFT.
- Add copy magic method to data metadata.
- Make read-only accessors to all DataMetadata properties instead of having them be read/write.
- Require Python 3.9 or higher.
- Add is_valid method to calibrations and use when converting to strings.
- Add low level functions for general multi-dimensional processing.
- Use scipy.fft for FFT's for better/consistent performance.
- Add axis_coordinates function to generate coordinate values from calibrated xdata.
- Simplify data and metadata by eliminating unloading capability (no effect on public API).
- Fix issue where timezone/timezone_offset could get set to invalid values.
- Improve Gaussian blur to handle RGB.
- Improve compatibility with HDF5 backed data (use numpy.copy instead of d.copy).
- Enable support for Python 3.10.
- Fix issue for cross correlation using only first image.
- Fix regression with template register using rounded position.
- Extend sequence trim/integrate to work on sequences of collections.
- Fix half-pixel offset in register_template.
- Allow a mask in register_template for fine-tuning maximum finding.
- Enable strict typing.
- Drop support for Python 3.7.
- Add auto-thresholding functions.
- Optimize element data for sequence + collection case.
- Change sub-pixel registration method to parabola fit to improve speed.
- Add affine transform function and optional order parameter to warp.
- Allow zero-dimensioned (scalar) data and metadata objects.
- Make special case of C(1) D(1) < 16 from element data function optional.
- Fixed RGB issues when data backed by h5py array instead of numpy array.
- Changed rescale to take a new parameter 'in_range'.
- Changed rgba/rgb functions to clip data to 0, 255.
- Split display functions into element and scalar functions.
- Introduce calibrated coordinates and reference frames (preliminary).
- Improve handling of NaNs in rebin_1d.
- Add xdata function rebin_image.
- Fix issue with bounds when rotating data.
- Fix issues with concatenate and data descriptor.
- Add xdata functions to split/join sequences.
- Add template matching functions to xdata.
- Make pick functions work for sequences of spectrum images.
- Change shift/align functions to use spline-1st-order; add Fourier variants as alternative.
- Fix calibration bug in xdata concatenate (and some cases of hstack, vstack).
- Add function to generate elliptical masks.
- Change FFT to put calibration origin at 0.5, 0.5 pixels from center.
- Improve handling of squeeze/calibration for sequence measurements.
- Add new navigation properties (combo of is_sequence and collection) to data.
- Support slicing on RGB sequences (for display data).
- Added optional registration area bounds to align and register functions.
- Added mean function. Add keepdim param to mean/sum. Allow negative indices.
- Fix display RGB calculation on integer images.
- Add methods for better control of data ref count.
- Add setters for timezone, timezone_offset, and timestamp.
- Add measure_relative_translation function to xdata. Utilize in align.
- Generalize align and register sequence to accept any combo of sequence and collection dimensions.
- Provide more descriptive data dimensions string.
- Fix squeeze to not remove last datum dimension.
- Add re-dimension function (changes data description, keeps data layout in memory the same).
- Ensure that data_descriptor is a copy, not a reference, when accessed from DataAndMetadata.
- Add calibration and data_descriptor creation methods to xdata_1_0.
- Change crop to always produce the same size crop, even if out of bounds. Fill out of bounds with zero.
- Add crop_rotated to handle crop with rotation (slower).
- Automatically promote ndarray and constants (where possible) to xdata in operations.
- Fix FFT-1D scaling and shifting inconsistency.
- Add average_region function (similar to sum_region).
- Fix timezone bug.
- Initial version online.