Skip to content

Releases: hanjinliu/impy

v2.1.3

27 Sep 08:25
Compare
Choose a tag to compare

New Methods

  • radon: 2D/3D Radon transformation around an axis pointing any direction.
  • iradon: 2D/3D inverse Radon transformation pointing any direction.
  • sel, isel: An xarray like slicing.
  • inpaint: Inpainting of missing value using "biharmonic" or "mean" method.

Improvements

  • Use scipy.fft instead of np.fft in some places.
  • Print scale unit in ScaleView.

Bug Fixes

  • Could not properly read png and jpg.
  • rolling_ball returned pre-filtered image.
  • smooth_mask did not work with very small values.

v2.1.2

02 Aug 09:17
Compare
Choose a tag to compare

New Features

  • ip.aslabel function for Label array creation.
  • Add overwrite guard to imsave function. img.imsave(..., overwrite=False) to avoid unexpected overwrite of images.

Changes

  • The default behavior of unmix is changed. Background intensity will be set to 0 (was minimum value before) by default.

Bug fixes

  • map_coordinates did not work in cupy environment.
  • ImportError with numpy>=1.23.
  • "μ" in scale unit caused error in imsave.

v2.1.1

30 Jun 08:40
Compare
Choose a tag to compare

Important Change

  • Axes.replace now does not change axes in-place.
    Instead of img.axes.replace("t", "z"), you'll have to do img.axes = img.axes.replace("t", "z").

New Features

  • Add plugin argument in imshow for visualization with different backends.
  • New mask option in gaussfit.
  • Implemented array covariates. The labels attribute of LabeledArray is now one of the covariates.
  • Initial support of ImageJ-like ROI object as an array covariate. Accordingly, implement ip.roiread function.
  • New chapter "Gallery" in documentation.
  • Add random generator and its API ip.random.default_rng.

Bug Fixes

  • Scale unit was wrong when reading a MRC image.
  • Some filters didn't work for binary images.
  • Try/except in reading OME-TIFF.

v2.1.0

06 Jun 05:38
Compare
Choose a tag to compare

Highlights

  • Design of Axes is thoroughly revised. Now img.axes returns Axes object and a Axes object is a list-like sequence of Axis object. For more information see documentation.
    • If a part of the image axes cannot be determined, such as the returned array of np.stack and np.expand_dims, their axes information used to be lost. From this version, only unknown ones are substituted with UndefAxis object and represented as "#".
    • The very strict or very flexible broadcasting rule can be applied. By default, arrays with axes "yx" and "zx" cannot be added even if their shape is the same. On the other hand, ip.broadcast_arrays can wisely reshape arrays with different shapes and axes.
    • Symbol of axis can be more than one letter. To make clearer, axes of arrays returned from some functions are renamed (e.g. "l" and "r" are renamed to "base" and "dim" in hessian_eig).
  • Slicer object for safer axis-targeted-slicing. See documentation.

v2.0.1

15 May 01:05
Compare
Choose a tag to compare

New Features

  • Initial zarr support. Currently only support reading and writing at local directories in a specific format.
  • Read .map.gz file using mrcfile.
  • Multi-positional drift correction.

Improvements

  • Refactor I/O submodule for better maintainability.
  • Updates in DataList and DataDict (move UserList to ABC).
  • LabeledArray always has labels attribute .

v2.0.0

22 Apr 15:48
Compare
Choose a tag to compare

v2.0.0

This new version has a lot of refactoring of arrays.
These changes largely improves code maintenance and usage of impy in other packages.

Changes from v1.x

  • The history attribute and the relevant functionalities are completely removed.
  • The dirpath attribute is removed. To get image source path, use source attribute instead.
  • Methods no longer display progress so that ip.silent is also removed.
  • Many of the custom napari widgets are removed considering the current situation that people favor napari plugins.

v1.26.1

27 Mar 06:52
Compare
Choose a tag to compare

New Features

  • Shift correction in real space using ip.zncc_maximum.

Bug Fixes

  • Bug fix in lowpass_filter for cupy.
  • Lock global constants when using ip.SetConst for safer parallel processing.

v1.26.0

28 Feb 09:00
Compare
Choose a tag to compare

New Features

  • Whether use numpy or cupy can be switched at any time.
    with ip.use("cupy"):
        out = img.gaussian_filter()
  • max_shifts in ip.pcc_maximum now supports float value.
  • Initial support of map_coordinates in ImgArray.

Other changes

  • Bug fix in ip.fsc.
  • Default dask chunking is same as chunks="auto".

v1.25.2

16 Feb 10:36
Compare
Choose a tag to compare

Updates

  • max_shifts argument in ip.pcc_maximum. Using this argument you can control the maximum shift of phase cross correlation.
  • The axes arguments in numpy functions are overloaded. Now you can call like np.rot90(img, axes="yx").
  • Cache .shape property.

v1.25.1

25 Jan 06:24
Compare
Choose a tag to compare

Improvements

  • Avoid using functions from dask-image for better performance on multi-dimensional images (gaussian_filter and convolve).
  • Performance improvements on binning using GPU.
  • Set depth correctly in LazyImgArray.