Speed up coding/extending image analysis in Python.
BSD-3-CLAUSE License
shift
method.imshow
.ref
input for drift_correction
.Full Changelog: https://github.com/hanjinliu/impy/compare/v2.4.2...v2.4.3
Published by hanjinliu 5 months ago
Full Changelog: https://github.com/hanjinliu/impy/compare/v2.4.1...v2.4.2
Published by hanjinliu 7 months ago
rescale
to zoom
, and add an option to retain the image shape.Published by hanjinliu 7 months ago
permissive=True
for mrc reader.mean()
and std()
.Full Changelog: https://github.com/hanjinliu/impy/compare/v2.3.2...v2.4.0
Published by hanjinliu 12 months ago
iradon
with odd number shapes.Published by hanjinliu about 1 year ago
pandas
subtypes.Published by hanjinliu over 1 year ago
lazy
submodule. Now lazy image reader imread
, random array generation random
etc. are moved to this submodule.tiled
accessor. Tiled image processing methods are now available via this attribute.Published by hanjinliu over 1 year ago
set_scale
.np.diff
and np.gradient
to allow string axis input.rescale
.iradon
with odd number pixel sizes.Published by hanjinliu over 1 year ago
polar_pcc
and polar_zncc
algorithm.has_nan
option in map_coordinates
..npy
and .npz
IO..nd2
file.skimage=0.20
.lazy_imread
with wildcard.binning
.Published by hanjinliu almost 2 years ago
New methods in ImgArray
min
, max
, std
, sum
, mean
: Basic reduction with support of string axis.np.cross
now supports ImgArray
input with string axis.as_rgba
: convert an image into a RGBA image.New methods in LazyImgArray
radon
, iradon
: Lazy Radon transformation and its inverse.wiener
, lucy
: Deconvolution (reverted by dropping support of tiled deconvolution).New class: BigImgArray
(see docs).
like
argument in many array constructors, such as ip.array
and ip.random.normal
.self
instead of None
for set_scale
. Similarly, new method set_axes
can be used instead of axes
property.dask.core.Array
preparing for the newer dask
version.da.store
to cache LazyImgArray
into a memory map.scipy.fft
inside dask FFT.ImgArray.iradon
ImgArray.transpose
Published by hanjinliu about 2 years ago
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.scipy.fft
instead of np.fft
in some places.ScaleView
.rolling_ball
returned pre-filtered image.smooth_mask
did not work with very small values.Published by hanjinliu about 2 years ago
ip.aslabel
function for Label
array creation.imsave
function. img.imsave(..., overwrite=False)
to avoid unexpected overwrite of images.unmix
is changed. Background intensity will be set to 0 (was minimum value before) by default.map_coordinates
did not work in cupy environment.ImportError
with numpy>=1.23.Published by hanjinliu over 2 years ago
Axes.replace
now does not change axes in-place.img.axes.replace("t", "z")
, you'll have to do img.axes = img.axes.replace("t", "z")
.plugin
argument in imshow
for visualization with different backends.mask
option in gaussfit
.labels
attribute of LabeledArray
is now one of the covariates.ip.roiread
function.ip.random.default_rng
.Published by hanjinliu over 2 years ago
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.
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 "#"
.ip.broadcast_arrays
can wisely reshape arrays with different shapes and axes."l"
and "r"
are renamed to "base"
and "dim"
in hessian_eig
).Slicer
object for safer axis-targeted-slicing. See documentation.Published by hanjinliu over 2 years ago
zarr
support. Currently only support reading and writing at local directories in a specific format.mrcfile
.DataList
and DataDict
(move UserList
to ABC).LabeledArray
always has labels
attribute .Published by hanjinliu over 2 years ago
This new version has a lot of refactoring of arrays.
These changes largely improves code maintenance and usage of impy
in other packages.
history
attribute and the relevant functionalities are completely removed.dirpath
attribute is removed. To get image source path, use source
attribute instead.ip.silent
is also removed.napari
widgets are removed considering the current situation that people favor napari plugins.Published by hanjinliu over 2 years ago
ip.zncc_maximum
.lowpass_filter
for cupy
.ip.SetConst
for safer parallel processing.Published by hanjinliu over 2 years ago
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.map_coordinates
in ImgArray
.ip.fsc
.dask
chunking is same as chunks="auto"
.Published by hanjinliu over 2 years ago
max_shifts
argument in ip.pcc_maximum
. Using this argument you can control the maximum shift of phase cross correlation.axes
arguments in numpy
functions are overloaded. Now you can call like np.rot90(img, axes="yx")
..shape
property.Published by hanjinliu almost 3 years ago
dask-image
for better performance on multi-dimensional images (gaussian_filter
and convolve
).depth
correctly in LazyImgArray
.