Releases: hanjinliu/impy
Releases · hanjinliu/impy
v2.1.3
New Methods
radon
: 2D/3D Radon transformation around an axis pointing any direction.iradon
: 2D/3D inverse Radon transformation pointing any direction.sel
,isel
: Anxarray
like slicing.inpaint
: Inpainting of missing value using "biharmonic" or "mean" method.
Improvements
- Use
scipy.fft
instead ofnp.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
New Features
ip.aslabel
function forLabel
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
Important Change
Axes.replace
now does not change axes in-place.
Instead ofimg.axes.replace("t", "z")
, you'll have to doimg.axes = img.axes.replace("t", "z")
.
New Features
- Add
plugin
argument inimshow
for visualization with different backends. - New
mask
option ingaussfit
. - Implemented array covariates. The
labels
attribute ofLabeledArray
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
Highlights
- Design of
Axes
is thoroughly revised. Nowimg.axes
returnsAxes
object and aAxes
object is a list-like sequence ofAxis
object. For more information see documentation.- If a part of the image axes cannot be determined, such as the returned array of
np.stack
andnp.expand_dims
, their axes information used to be lost. From this version, only unknown ones are substituted withUndefAxis
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"
inhessian_eig
).
- If a part of the image axes cannot be determined, such as the returned array of
Slicer
object for safer axis-targeted-slicing. See documentation.
v2.0.1
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
andDataDict
(moveUserList
to ABC). LabeledArray
always haslabels
attribute .
v2.0.0
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, usesource
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
v1.26.0
New Features
- Whether use
numpy
orcupy
can be switched at any time.with ip.use("cupy"): out = img.gaussian_filter()
max_shifts
inip.pcc_maximum
now supports float value.- Initial support of
map_coordinates
inImgArray
.
Other changes
- Bug fix in
ip.fsc
. - Default
dask
chunking is same aschunks="auto"
.
v1.25.2
Updates
max_shifts
argument inip.pcc_maximum
. Using this argument you can control the maximum shift of phase cross correlation.- The
axes
arguments innumpy
functions are overloaded. Now you can call likenp.rot90(img, axes="yx")
. - Cache
.shape
property.