impy-array 2.5.0__tar.gz → 2.5.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. {impy_array-2.5.0 → impy_array-2.5.1}/PKG-INFO +1 -1
  2. {impy_array-2.5.0 → impy_array-2.5.1}/impy/__init__.py +1 -1
  3. {impy_array-2.5.0 → impy_array-2.5.1}/impy/arrays/imgarray.py +1 -5
  4. {impy_array-2.5.0 → impy_array-2.5.1}/impy/arrays/lazy.py +5 -7
  5. {impy_array-2.5.0 → impy_array-2.5.1}/impy/lazy/core.py +1 -1
  6. {impy_array-2.5.0 → impy_array-2.5.1}/.gitignore +0 -0
  7. {impy_array-2.5.0 → impy_array-2.5.1}/LICENSE +0 -0
  8. {impy_array-2.5.0 → impy_array-2.5.1}/README.md +0 -0
  9. {impy_array-2.5.0 → impy_array-2.5.1}/impy/__main__.py +0 -0
  10. {impy_array-2.5.0 → impy_array-2.5.1}/impy/_const.py +0 -0
  11. {impy_array-2.5.0 → impy_array-2.5.1}/impy/_types.py +0 -0
  12. {impy_array-2.5.0 → impy_array-2.5.1}/impy/array_api.py +0 -0
  13. {impy_array-2.5.0 → impy_array-2.5.1}/impy/arrays/__init__.py +0 -0
  14. {impy_array-2.5.0 → impy_array-2.5.1}/impy/arrays/_imshow.py +0 -0
  15. {impy_array-2.5.0 → impy_array-2.5.1}/impy/arrays/_utils/__init__.py +0 -0
  16. {impy_array-2.5.0 → impy_array-2.5.1}/impy/arrays/_utils/_corr.py +0 -0
  17. {impy_array-2.5.0 → impy_array-2.5.1}/impy/arrays/_utils/_deconv.py +0 -0
  18. {impy_array-2.5.0 → impy_array-2.5.1}/impy/arrays/_utils/_docs.py +0 -0
  19. {impy_array-2.5.0 → impy_array-2.5.1}/impy/arrays/_utils/_filters.py +0 -0
  20. {impy_array-2.5.0 → impy_array-2.5.1}/impy/arrays/_utils/_glcm.py +0 -0
  21. {impy_array-2.5.0 → impy_array-2.5.1}/impy/arrays/_utils/_linalg.py +0 -0
  22. {impy_array-2.5.0 → impy_array-2.5.1}/impy/arrays/_utils/_misc.py +0 -0
  23. {impy_array-2.5.0 → impy_array-2.5.1}/impy/arrays/_utils/_plot.py +0 -0
  24. {impy_array-2.5.0 → impy_array-2.5.1}/impy/arrays/_utils/_process_numba.py +0 -0
  25. {impy_array-2.5.0 → impy_array-2.5.1}/impy/arrays/_utils/_skimage.py +0 -0
  26. {impy_array-2.5.0 → impy_array-2.5.1}/impy/arrays/_utils/_structures.py +0 -0
  27. {impy_array-2.5.0 → impy_array-2.5.1}/impy/arrays/_utils/_transform.py +0 -0
  28. {impy_array-2.5.0 → impy_array-2.5.1}/impy/arrays/axesmixin.py +0 -0
  29. {impy_array-2.5.0 → impy_array-2.5.1}/impy/arrays/bases/__init__.py +0 -0
  30. {impy_array-2.5.0 → impy_array-2.5.1}/impy/arrays/bases/metaarray.py +0 -0
  31. {impy_array-2.5.0 → impy_array-2.5.1}/impy/arrays/bases/overload.py +0 -0
  32. {impy_array-2.5.0 → impy_array-2.5.1}/impy/arrays/big.py +0 -0
  33. {impy_array-2.5.0 → impy_array-2.5.1}/impy/arrays/label.py +0 -0
  34. {impy_array-2.5.0 → impy_array-2.5.1}/impy/arrays/labeledarray.py +0 -0
  35. {impy_array-2.5.0 → impy_array-2.5.1}/impy/arrays/phasearray.py +0 -0
  36. {impy_array-2.5.0 → impy_array-2.5.1}/impy/arrays/specials.py +0 -0
  37. {impy_array-2.5.0 → impy_array-2.5.1}/impy/arrays/tiled.py +0 -0
  38. {impy_array-2.5.0 → impy_array-2.5.1}/impy/axes/__init__.py +0 -0
  39. {impy_array-2.5.0 → impy_array-2.5.1}/impy/axes/_axes.py +0 -0
  40. {impy_array-2.5.0 → impy_array-2.5.1}/impy/axes/_axes_tuple.py +0 -0
  41. {impy_array-2.5.0 → impy_array-2.5.1}/impy/axes/_axis.py +0 -0
  42. {impy_array-2.5.0 → impy_array-2.5.1}/impy/axes/_slicer.py +0 -0
  43. {impy_array-2.5.0 → impy_array-2.5.1}/impy/binder.py +0 -0
  44. {impy_array-2.5.0 → impy_array-2.5.1}/impy/collections.py +0 -0
  45. {impy_array-2.5.0 → impy_array-2.5.1}/impy/core.py +0 -0
  46. {impy_array-2.5.0 → impy_array-2.5.1}/impy/correlation.py +0 -0
  47. {impy_array-2.5.0 → impy_array-2.5.1}/impy/frame/__init__.py +0 -0
  48. {impy_array-2.5.0 → impy_array-2.5.1}/impy/frame/frames.py +0 -0
  49. {impy_array-2.5.0 → impy_array-2.5.1}/impy/io/__init__.py +0 -0
  50. {impy_array-2.5.0 → impy_array-2.5.1}/impy/io/_czi.py +0 -0
  51. {impy_array-2.5.0 → impy_array-2.5.1}/impy/io/_mrc.py +0 -0
  52. {impy_array-2.5.0 → impy_array-2.5.1}/impy/io/_nd2.py +0 -0
  53. {impy_array-2.5.0 → impy_array-2.5.1}/impy/io/_npy.py +0 -0
  54. {impy_array-2.5.0 → impy_array-2.5.1}/impy/io/_registry.py +0 -0
  55. {impy_array-2.5.0 → impy_array-2.5.1}/impy/io/_tiff.py +0 -0
  56. {impy_array-2.5.0 → impy_array-2.5.1}/impy/io/_utils.py +0 -0
  57. {impy_array-2.5.0 → impy_array-2.5.1}/impy/io/_zarr.py +0 -0
  58. {impy_array-2.5.0 → impy_array-2.5.1}/impy/lazy/__init__.py +0 -0
  59. {impy_array-2.5.0 → impy_array-2.5.1}/impy/lazy/random.py +0 -0
  60. {impy_array-2.5.0 → impy_array-2.5.1}/impy/random.py +0 -0
  61. {impy_array-2.5.0 → impy_array-2.5.1}/impy/roi.py +0 -0
  62. {impy_array-2.5.0 → impy_array-2.5.1}/impy/utils/__init__.py +0 -0
  63. {impy_array-2.5.0 → impy_array-2.5.1}/impy/utils/axesop.py +0 -0
  64. {impy_array-2.5.0 → impy_array-2.5.1}/impy/utils/deco.py +0 -0
  65. {impy_array-2.5.0 → impy_array-2.5.1}/impy/utils/gauss.py +0 -0
  66. {impy_array-2.5.0 → impy_array-2.5.1}/impy/utils/misc.py +0 -0
  67. {impy_array-2.5.0 → impy_array-2.5.1}/impy/utils/slicer.py +0 -0
  68. {impy_array-2.5.0 → impy_array-2.5.1}/impy/utils/utilcls.py +0 -0
  69. {impy_array-2.5.0 → impy_array-2.5.1}/impy/viewer/__init__.py +0 -0
  70. {impy_array-2.5.0 → impy_array-2.5.1}/impy/viewer/utils.py +0 -0
  71. {impy_array-2.5.0 → impy_array-2.5.1}/impy/viewer/viewer.py +0 -0
  72. {impy_array-2.5.0 → impy_array-2.5.1}/pyproject.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: impy-array
3
- Version: 2.5.0
3
+ Version: 2.5.1
4
4
  Summary: Speed up coding/extending image analysis in Python.
5
5
  Project-URL: Download, https://github.com/hanjinliu/impy
6
6
  Author-email: Hanjin Liu <liuhanjin-sc@g.ecc.u-tokyo.ac.jp>
@@ -1,4 +1,4 @@
1
- __version__ = "2.5.0"
1
+ __version__ = "2.5.1"
2
2
  __author__ = "Hanjin Liu"
3
3
  __email__ = "liuhanjin-sc@g.ecc.u-tokyo.ac.jp"
4
4
 
@@ -4111,8 +4111,6 @@ class ImgArray(LabeledArray):
4111
4111
 
4112
4112
  if along is None:
4113
4113
  along = find_first_appeared("tpzcia", include=self.axes)
4114
- elif len(along) != 1:
4115
- raise ValueError("`along` must be single character.")
4116
4114
  if not isinstance(upsample_factor, int):
4117
4115
  raise TypeError(f"upsample-factor must be integer but got {type(upsample_factor)}")
4118
4116
  if max_shift is not None:
@@ -4122,7 +4120,7 @@ class ImgArray(LabeledArray):
4122
4120
  c_axes = complement_axes(along, self.axes)
4123
4121
  last_img = None
4124
4122
  img_fft = self.fft(shift=False, dims=c_axes)
4125
- for i, (_, img) in enumerate(img_fft.iter(along)):
4123
+ for i, (_, img) in enumerate(img_fft.iter([along])):
4126
4124
  img = xp.asarray(img)
4127
4125
  if last_img is not None:
4128
4126
  result[i] = xp.asnumpy(
@@ -4198,8 +4196,6 @@ class ImgArray(LabeledArray):
4198
4196
 
4199
4197
  if along is None:
4200
4198
  along = find_first_appeared("tpzcia", include=self.axes, exclude=dims)
4201
- elif len(along) != 1:
4202
- raise ValueError("`along` must be single character.")
4203
4199
 
4204
4200
  if shift is None:
4205
4201
  # determine 'ref'
@@ -776,12 +776,13 @@ class LazyImgArray(AxesMixin):
776
776
  sigma: nDFloat = 1.0,
777
777
  *,
778
778
  dims: Dims = None,
779
+ fourier: bool = False,
779
780
  update: bool = False
780
781
  ) -> LazyImgArray:
781
782
  c_axes = complement_axes(dims, self.axes)
782
783
  depth = _ceilint(sigma*4)
783
784
  return self._apply_map_overlap(
784
- xp.ndi.gaussian_filter,
785
+ _filters.gaussian_filter_fourier if fourier else _filters.gaussian_filter,
785
786
  c_axes=c_axes,
786
787
  depth=depth,
787
788
  kwargs=dict(sigma=sigma),
@@ -795,13 +796,14 @@ class LazyImgArray(AxesMixin):
795
796
  low_sigma: nDFloat = 1.0,
796
797
  high_sigma: nDFloat = 2.0,
797
798
  *,
799
+ fourier: bool = False,
798
800
  dims: Dims = None,
799
801
  update: bool = False
800
802
  ) -> LazyImgArray:
801
803
  c_axes = complement_axes(dims, self.axes)
802
804
  depth = _ceilint(high_sigma*4)
803
805
  return self._apply_map_overlap(
804
- _filters.dog_filter,
806
+ _filters.dog_filter_fourier if fourier else _filters.dog_filter,
805
807
  c_axes=c_axes,
806
808
  depth=depth,
807
809
  kwargs=dict(low_sigma=low_sigma, high_sigma=high_sigma),
@@ -1317,8 +1319,6 @@ class LazyImgArray(AxesMixin):
1317
1319
  def track_drift(self, along: str = None, upsample_factor: int = 10) -> DaskArray:
1318
1320
  if along is None:
1319
1321
  along = find_first_appeared("tpzc<i", include=self.axes)
1320
- elif len(along) != 1:
1321
- raise ValueError("`along` must be single character.")
1322
1322
 
1323
1323
  dims = complement_axes(along, self.axes)
1324
1324
  chunks = switch_slice(dims, self.axes, ifin=self.shape, ifnot=1)
@@ -1370,8 +1370,6 @@ class LazyImgArray(AxesMixin):
1370
1370
  ) -> LazyImgArray:
1371
1371
  if along is None:
1372
1372
  along = find_first_appeared("tpzcia", include=self.axes, exclude=dims)
1373
- elif len(along) != 1:
1374
- raise ValueError("`along` must be single character.")
1375
1373
 
1376
1374
  from impy.frame import MarkerFrame
1377
1375
 
@@ -1387,7 +1385,7 @@ class LazyImgArray(AxesMixin):
1387
1385
  dims = _dims
1388
1386
  elif not isinstance(ref, self.__class__):
1389
1387
  ref = self[ref]
1390
- if ref.axes != along + dims:
1388
+ if ref.axes != [along] + dims:
1391
1389
  raise ValueError(f"Arguments `along`({along}) + `dims`({dims}) do not match "
1392
1390
  f"axes of `ref`({ref.axes})")
1393
1391
 
@@ -278,7 +278,7 @@ def imread(
278
278
  if k in "zyx":
279
279
  self.axes[k].unit = spatial_scale_unit.get(k)
280
280
 
281
- return self.sort_axes()
281
+ return self
282
282
 
283
283
 
284
284
  def _imread_glob(path: str, squeeze: bool = False, **kwargs) -> LazyImgArray:
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes