imops 0.8.1__cp36-cp36m-win32.whl → 0.8.3__cp36-cp36m-win32.whl
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.
Potentially problematic release.
This version of imops might be problematic. Click here for more details.
- imops/__init__.py +1 -0
- imops/__version__.py +1 -1
- imops/backend.py +14 -10
- imops/box.py +20 -29
- imops/crop.py +18 -2
- imops/interp1d.py +16 -13
- imops/measure.py +12 -9
- imops/morphology.py +155 -35
- imops/numeric.py +376 -0
- imops/pad.py +41 -5
- imops/radon.py +9 -7
- imops/src/_backprojection.cp36-win32.pyd +0 -0
- imops/src/_fast_backprojection.cp36-win32.pyd +0 -0
- imops/src/_fast_measure.cp36-win32.pyd +0 -0
- imops/src/_fast_morphology.cp36-win32.pyd +0 -0
- imops/src/_fast_morphology.pyx +315 -131
- imops/src/_fast_numeric.cp36-win32.pyd +0 -0
- imops/src/_fast_numeric.pyx +208 -30
- imops/src/_fast_radon.cp36-win32.pyd +0 -0
- imops/src/_fast_zoom.cp36-win32.pyd +0 -0
- imops/src/_fast_zoom.pyx +1 -0
- imops/src/_measure.cp36-win32.pyd +0 -0
- imops/src/_morphology.cp36-win32.pyd +0 -0
- imops/src/_morphology.pyx +315 -131
- imops/src/_numeric.cp36-win32.pyd +0 -0
- imops/src/_numeric.pyx +208 -30
- imops/src/_radon.cp36-win32.pyd +0 -0
- imops/src/_zoom.cp36-win32.pyd +0 -0
- imops/src/_zoom.pyx +1 -0
- imops/utils.py +113 -13
- imops/zoom.py +9 -9
- {imops-0.8.1.dist-info → imops-0.8.3.dist-info}/METADATA +37 -16
- imops-0.8.3.dist-info/RECORD +46 -0
- imops/_numeric.py +0 -124
- imops-0.8.1.dist-info/RECORD +0 -46
- {imops-0.8.1.dist-info → imops-0.8.3.dist-info}/LICENSE +0 -0
- {imops-0.8.1.dist-info → imops-0.8.3.dist-info}/WHEEL +0 -0
- {imops-0.8.1.dist-info → imops-0.8.3.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
imops/__init__.py,sha256=QAqK6FnQnOjdDwSXzhnJNB2ur3cGUNbP3ZdLc_VoIEY,514
|
|
2
|
+
imops/__version__.py,sha256=lPOlZg8rjdgN8DyBl7I1rkzxiXOhafW_7RzlMGnvNo8,23
|
|
3
|
+
imops/_configs.py,sha256=6hBY2O4YSaQC_avvqI-dmhZkPMl4p39KQIPtqx5MAh0,734
|
|
4
|
+
imops/backend.py,sha256=8x6Zq9hetOt9_RDcytNNBJZBLNXgQd7ob2dh4WQuuqM,2598
|
|
5
|
+
imops/box.py,sha256=NbYsPKQ8fCGxSm5up0TyqERJ-5iWmnzHLo4Smv9eesk,1865
|
|
6
|
+
imops/crop.py,sha256=hCgwxDgNdIo9m0gleMB3oOUNA7tQurhYNhE5S39tMlE,4055
|
|
7
|
+
imops/interp1d.py,sha256=CSPJ77isqGOJTN-_C--iyz-3qJhpL4dE9i5VdJgSFDE,8400
|
|
8
|
+
imops/measure.py,sha256=YJ5hBDH6iW1hgqm6fi6FIURBKmeZjVfr7LSINOHgFrM,8657
|
|
9
|
+
imops/morphology.py,sha256=KG3RCCicsX7WHsBj4mH6iaJ0dy6tW9cGJJvD4fDisBQ,12723
|
|
10
|
+
imops/numeric.py,sha256=yiSjPTUD2w177LOBD_39_BHh9n8uKbSsHJDchNVsKRY,13650
|
|
11
|
+
imops/pad.py,sha256=OXy_r4X7hOPBU4NSH3B-8ZpxfcY1t6FFMgMSopULpv8,9314
|
|
12
|
+
imops/radon.py,sha256=TWsgZvWRapBbU7MVr1fRdpVXCvi6-kt8fxroyQc44ek,9211
|
|
13
|
+
imops/testing.py,sha256=Qiy_Qn7bd7MIXoaZr4T_6r0jQWVRJFwR2z12c_Zwt30,1708
|
|
14
|
+
imops/utils.py,sha256=nfrMUU0OhPgK5UapD9GNC1StPxX3cKbob54kiuf4_qs,6890
|
|
15
|
+
imops/zoom.py,sha256=wl8wt7yoX5V4Mn7sMefV1Fy9KEetqMEdRHLdhT90o6o,9955
|
|
16
|
+
imops/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
+
imops/src/_backprojection.cp36-win32.pyd,sha256=A6LH7d8sIvVJvWTlH2nLrJr3j97GcZzNxtFK9REinbI,155136
|
|
18
|
+
imops/src/_backprojection.pyx,sha256=xngEJtJ6czjoBRBKL6tu5S7nt6ZgcsE82xDGdCIfagE,2724
|
|
19
|
+
imops/src/_fast_backprojection.cp36-win32.pyd,sha256=_Ob4--N7IZW3kkI9RX75NbkTVI6FC6H08D1k9WwWd1U,155136
|
|
20
|
+
imops/src/_fast_backprojection.pyx,sha256=xngEJtJ6czjoBRBKL6tu5S7nt6ZgcsE82xDGdCIfagE,2724
|
|
21
|
+
imops/src/_fast_measure.cp36-win32.pyd,sha256=VfXOkRGYwmZpKbXbHtwOME631bxgbWcjAEitWnXMdNg,220672
|
|
22
|
+
imops/src/_fast_measure.pyx,sha256=JzZ26PptkVT08OemSFaJakc4jf7xYocPqV8jfrYi_wA,2737
|
|
23
|
+
imops/src/_fast_morphology.cp36-win32.pyd,sha256=zplrVcEH2uNgUD7f5iXuw4ctYrMcTiWbWesFovOUhIY,129536
|
|
24
|
+
imops/src/_fast_morphology.pyx,sha256=QwFrPQ6M-bJDVQNCCtKK7FR3KOr5cZSx_CBvxh9THXM,9538
|
|
25
|
+
imops/src/_fast_numeric.cp36-win32.pyd,sha256=h9BS_ygwyPFP0m9fSELRCwjbgLDbi5FHZsovZlKqnoQ,326144
|
|
26
|
+
imops/src/_fast_numeric.pyx,sha256=c8q3KlL8mDe0wsz72ooeqhffk1iqvA0Org7NWW5RbYo,8221
|
|
27
|
+
imops/src/_fast_radon.cp36-win32.pyd,sha256=bUb0OKw3YP18Tc0uh79bx9U_Ql1QesnlJ4NlLyep8Xw,202752
|
|
28
|
+
imops/src/_fast_radon.pyx,sha256=pu8EZplCjIDz9HqBcAit8nj2lDgXpmdhU61_4CfdGWI,2987
|
|
29
|
+
imops/src/_fast_zoom.cp36-win32.pyd,sha256=ZR7ExxrXxn07L3rK7tBgo8nGzLaxRvsADTv8lfXUUws,333312
|
|
30
|
+
imops/src/_fast_zoom.pyx,sha256=Dd5MDelALAh4-3QhnzfzKTB5Gmi2lVERrbyYj-q8kVQ,23091
|
|
31
|
+
imops/src/_measure.cp36-win32.pyd,sha256=bmsMA49jfJh4M5E9kSNgc4Q94U-aNsJkzQhdxovPm44,220160
|
|
32
|
+
imops/src/_measure.pyx,sha256=JzZ26PptkVT08OemSFaJakc4jf7xYocPqV8jfrYi_wA,2737
|
|
33
|
+
imops/src/_morphology.cp36-win32.pyd,sha256=JjwzaXLa30gxKIezYbX10zuj1fcfTtwXif7fVoiT_5w,129536
|
|
34
|
+
imops/src/_morphology.pyx,sha256=QwFrPQ6M-bJDVQNCCtKK7FR3KOr5cZSx_CBvxh9THXM,9538
|
|
35
|
+
imops/src/_numba_zoom.py,sha256=OmMj7mCFkV2P0FaWVXFuYpfzMBQ3Ks60YiHQURes5wQ,16857
|
|
36
|
+
imops/src/_numeric.cp36-win32.pyd,sha256=PkrARdgAlTZ9byV3z80f45_XtwhGdeo5WJL6yEieNWc,325120
|
|
37
|
+
imops/src/_numeric.pyx,sha256=c8q3KlL8mDe0wsz72ooeqhffk1iqvA0Org7NWW5RbYo,8221
|
|
38
|
+
imops/src/_radon.cp36-win32.pyd,sha256=6XLWRXNN1bGFOsy98ddqxFjU_cWKy31dvdq2mrYG2VY,202752
|
|
39
|
+
imops/src/_radon.pyx,sha256=pu8EZplCjIDz9HqBcAit8nj2lDgXpmdhU61_4CfdGWI,2987
|
|
40
|
+
imops/src/_zoom.cp36-win32.pyd,sha256=0--K2pLZ7ctBXJdmlUgXPsn5xoKvnYfY_qKCz0VC8Ls,333312
|
|
41
|
+
imops/src/_zoom.pyx,sha256=Dd5MDelALAh4-3QhnzfzKTB5Gmi2lVERrbyYj-q8kVQ,23091
|
|
42
|
+
imops-0.8.3.dist-info/LICENSE,sha256=x7oyYZPKDTt8KoTitcNJLBWhueke5YEOopdr0XjyvBc,1085
|
|
43
|
+
imops-0.8.3.dist-info/METADATA,sha256=NdA1fnC5rCLIg-kvfInPxqlWIckur-inz1uUF89mft0,7391
|
|
44
|
+
imops-0.8.3.dist-info/WHEEL,sha256=ZX-iFFGFiHZRWPwXowAnONYwAL2TBxDHVbhC1HaSV9Q,97
|
|
45
|
+
imops-0.8.3.dist-info/top_level.txt,sha256=kEVHvrc8A4lkLQP8xew2pWdYcyQAMvAwqnlZXtoWwnc,6
|
|
46
|
+
imops-0.8.3.dist-info/RECORD,,
|
imops/_numeric.py
DELETED
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
from warnings import warn
|
|
2
|
-
|
|
3
|
-
import numpy as np
|
|
4
|
-
|
|
5
|
-
from .backend import BackendLike, resolve_backend
|
|
6
|
-
from .src._fast_numeric import (
|
|
7
|
-
_parallel_pointwise_mul as cython_fast_parallel_pointwise_mul,
|
|
8
|
-
_parallel_sum as cython_fast_parallel_sum,
|
|
9
|
-
)
|
|
10
|
-
from .src._numeric import _parallel_pointwise_mul as cython_parallel_pointwise_mul, _parallel_sum as cython_parallel_sum
|
|
11
|
-
from .utils import normalize_num_threads
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
def _sum(nums: np.ndarray, num_threads: int = -1, backend: BackendLike = None) -> float:
|
|
15
|
-
"""
|
|
16
|
-
Parallel sum of flat numpy array
|
|
17
|
-
|
|
18
|
-
Parameters
|
|
19
|
-
----------
|
|
20
|
-
nums: np.ndarray
|
|
21
|
-
1-dimensional array
|
|
22
|
-
num_threads: int
|
|
23
|
-
the number of threads to use for computation. Default = the cpu count. If negative value passed
|
|
24
|
-
cpu count + num_threads + 1 threads will be used
|
|
25
|
-
backend: BackendLike
|
|
26
|
-
which backend to use. `cython` and `scipy` (primarly for benchmarking) are available,
|
|
27
|
-
`cython` is used by default
|
|
28
|
-
|
|
29
|
-
Returns
|
|
30
|
-
-------
|
|
31
|
-
sum: float
|
|
32
|
-
|
|
33
|
-
Examples
|
|
34
|
-
--------
|
|
35
|
-
>>> s = _sum(x, num_threads=1)
|
|
36
|
-
>>> s = _sum(x, num_threads=8, backend=Cython(fast=True)) # ffast-math compiled version
|
|
37
|
-
"""
|
|
38
|
-
ndim = nums.ndim
|
|
39
|
-
|
|
40
|
-
if ndim != 1:
|
|
41
|
-
raise ValueError(f'Input must be 1-dimensional instead of {ndim}-dimensional.')
|
|
42
|
-
|
|
43
|
-
backend = resolve_backend(backend)
|
|
44
|
-
if backend.name not in ('Cython', 'Scipy'):
|
|
45
|
-
raise ValueError(f'Unsupported backend "{backend.name}"')
|
|
46
|
-
|
|
47
|
-
num_threads = normalize_num_threads(num_threads, backend)
|
|
48
|
-
|
|
49
|
-
if backend.name == 'Scipy':
|
|
50
|
-
return nums.sum()
|
|
51
|
-
|
|
52
|
-
if backend.name == 'Cython':
|
|
53
|
-
src_parallel_sum = cython_fast_parallel_sum if backend.fast else cython_parallel_sum
|
|
54
|
-
|
|
55
|
-
return src_parallel_sum(nums, num_threads)
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
def _mul(nums1: np.ndarray, nums2: np.ndarray, num_threads: int = -1, backend: BackendLike = None) -> np.ndarray:
|
|
59
|
-
"""
|
|
60
|
-
Parallel pointwise multiplication of 2 numpy arrays (aka x * y). Works faster only for ndim <= 3.
|
|
61
|
-
|
|
62
|
-
Parameters
|
|
63
|
-
----------
|
|
64
|
-
nums1: np.ndarray
|
|
65
|
-
nums2: np.ndarray
|
|
66
|
-
num_threads: int
|
|
67
|
-
the number of threads to use for computation. Default = the cpu count. If negative value passed
|
|
68
|
-
cpu count + num_threads + 1 threads will be used
|
|
69
|
-
backend: BackendLike
|
|
70
|
-
which backend to use. `cython` and `scipy` (primarly for benchmarking) are available,
|
|
71
|
-
`cython` is used by default
|
|
72
|
-
|
|
73
|
-
Returns
|
|
74
|
-
-------
|
|
75
|
-
multiplied: np.ndarray
|
|
76
|
-
result of nums1 * nums2
|
|
77
|
-
|
|
78
|
-
Examples
|
|
79
|
-
--------
|
|
80
|
-
>>> mul = _mul(nums1, nums2, num_threads=8)
|
|
81
|
-
>>> mul = _mul(np.ones((2, 3)), np.ones((1, 3))) # broadcasting, mul.shape == (2, 3)
|
|
82
|
-
>>> mul = _mul(nums1, nums2, backend=Cython(fast=True)) # ffast-math compiled version
|
|
83
|
-
"""
|
|
84
|
-
if not nums1.size and not nums2.size:
|
|
85
|
-
return np.array([], dtype=nums1.dtype)
|
|
86
|
-
if bool(nums1.size) ^ bool(nums2.size):
|
|
87
|
-
raise ValueError('One of the arrays is empty, hence pointwise multiplication cannot be performed.')
|
|
88
|
-
if len(nums1.shape) != len(nums2.shape):
|
|
89
|
-
raise ValueError('Both arrays must have the same number of dimensions for pointwise multiplication.')
|
|
90
|
-
for dim1, dim2 in zip(nums1.shape, nums2.shape):
|
|
91
|
-
if dim1 != dim2 and dim1 != 1 and dim2 != 1:
|
|
92
|
-
raise ValueError(f'Arrays of shapes {nums1.shape} and {nums2.shape} are not broadcastable.')
|
|
93
|
-
|
|
94
|
-
if nums1.ndim > 3:
|
|
95
|
-
warn('Parallel pointwise multiplication is only supported for ndim<=3. Falling back to naive x * y.')
|
|
96
|
-
|
|
97
|
-
return nums1 * nums2
|
|
98
|
-
|
|
99
|
-
backend = resolve_backend(backend)
|
|
100
|
-
if backend.name not in ('Cython', 'Scipy'):
|
|
101
|
-
raise ValueError(f'Unsupported backend "{backend.name}"')
|
|
102
|
-
|
|
103
|
-
num_threads = normalize_num_threads(num_threads, backend)
|
|
104
|
-
|
|
105
|
-
if backend.name == 'Scipy':
|
|
106
|
-
return nums1 * nums2
|
|
107
|
-
|
|
108
|
-
if backend.name == 'Cython':
|
|
109
|
-
src_parallel_pointwise_mul = (
|
|
110
|
-
cython_fast_parallel_pointwise_mul if backend.fast else cython_parallel_pointwise_mul
|
|
111
|
-
)
|
|
112
|
-
|
|
113
|
-
n_dummy = 3 - nums1.ndim
|
|
114
|
-
|
|
115
|
-
if n_dummy:
|
|
116
|
-
nums1 = nums1[(None,) * n_dummy]
|
|
117
|
-
nums2 = nums2[(None,) * n_dummy]
|
|
118
|
-
|
|
119
|
-
out = src_parallel_pointwise_mul(nums1, nums2, np.maximum(nums1.shape, nums2.shape), num_threads)
|
|
120
|
-
|
|
121
|
-
if n_dummy:
|
|
122
|
-
out = out[(0,) * n_dummy]
|
|
123
|
-
|
|
124
|
-
return out
|
imops-0.8.1.dist-info/RECORD
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
imops/__init__.py,sha256=DH8Dp0MIEq8j_taTwUMXKqoY3WjdVdBbMnNdKHx_qes,459
|
|
2
|
-
imops/__version__.py,sha256=wWWJNztLqSR_5j2P8ZED4XYIJLXmNJYY7U1zPy3L5Ac,23
|
|
3
|
-
imops/_configs.py,sha256=6hBY2O4YSaQC_avvqI-dmhZkPMl4p39KQIPtqx5MAh0,734
|
|
4
|
-
imops/_numeric.py,sha256=XfKU5mNGRAAoEKtJ9xrYTxpxNFZv0abHvoolEUVeVdo,4383
|
|
5
|
-
imops/backend.py,sha256=lt3BrosqmxFh7BA-rYwYAer3XMdBTPS-pBIR5hHDNa0,2368
|
|
6
|
-
imops/box.py,sha256=Zxd8xpkhsGX9vNXusujQUTQMSuVB9dNFp9-36U27kL4,2263
|
|
7
|
-
imops/crop.py,sha256=hDrPNVFU3vV758KTwZmZxHzm4XgUkLQLSqJOYQHG4P0,3446
|
|
8
|
-
imops/interp1d.py,sha256=SzoLheIwF9sMQCbdjL3YeJZTTucMTk0VMPMumxmeVfU,8140
|
|
9
|
-
imops/measure.py,sha256=AEXtyjFroSiqnYZlFFsq4pzsjFOGlsV1vZAokemoAp4,8391
|
|
10
|
-
imops/morphology.py,sha256=SzGiI5TTYGsB_MgIZOy74nAnW9ucPBtLle2YnJ3PR8s,7459
|
|
11
|
-
imops/pad.py,sha256=SAPJQwnuKosPoiCU26YPE4cyRPNrskwfzNOrT3KqSuk,7447
|
|
12
|
-
imops/radon.py,sha256=1Xf2LGor7jESNjUyzqLddOC8-uo_-f52-yCydP3AQVw,8984
|
|
13
|
-
imops/testing.py,sha256=Qiy_Qn7bd7MIXoaZr4T_6r0jQWVRJFwR2z12c_Zwt30,1708
|
|
14
|
-
imops/utils.py,sha256=ghGHMpgfWqRQ0bnrcCXCH_J5N2VdvJ-3VqNl7G2GYdQ,3353
|
|
15
|
-
imops/zoom.py,sha256=W-ygvKitcnBmp3ALcKSLhKH1S0tw0vkJxIfk8vCmISE,9841
|
|
16
|
-
imops/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
-
imops/src/_backprojection.cp36-win32.pyd,sha256=_LVGTb2nx5z8LpHIC2SdI_ao0scqvZ2p4P2dg1ax9wM,153600
|
|
18
|
-
imops/src/_backprojection.pyx,sha256=xngEJtJ6czjoBRBKL6tu5S7nt6ZgcsE82xDGdCIfagE,2724
|
|
19
|
-
imops/src/_fast_backprojection.cp36-win32.pyd,sha256=34vu_VR8BcFxCv9Ge8UlYROcmOm7DSPFsbOZCbtYn88,154112
|
|
20
|
-
imops/src/_fast_backprojection.pyx,sha256=xngEJtJ6czjoBRBKL6tu5S7nt6ZgcsE82xDGdCIfagE,2724
|
|
21
|
-
imops/src/_fast_measure.cp36-win32.pyd,sha256=6d1RZDQ7uynRjGLwhEorUM5cNnm5OJ80bYY5l083qFk,219648
|
|
22
|
-
imops/src/_fast_measure.pyx,sha256=JzZ26PptkVT08OemSFaJakc4jf7xYocPqV8jfrYi_wA,2737
|
|
23
|
-
imops/src/_fast_morphology.cp36-win32.pyd,sha256=acx8m_aIw8XZkHR4T5Tuk1uNVuq-s3I74qZRm0iRJnY,126976
|
|
24
|
-
imops/src/_fast_morphology.pyx,sha256=XOQeGuj9sbSHSYwn1vXzYEwsHLVdfXuIy2m1qW0XfI4,5445
|
|
25
|
-
imops/src/_fast_numeric.cp36-win32.pyd,sha256=khpae71_4xJJsCBWS1JYUdcZJLv-pGdB1HnF2i_jyCw,209920
|
|
26
|
-
imops/src/_fast_numeric.pyx,sha256=bXv4qBx_k6B6INNR0r49HU2a8UNnpt-mCS19TczcU38,1919
|
|
27
|
-
imops/src/_fast_radon.cp36-win32.pyd,sha256=gf_kL9hOhrcrc2J4PFV4-LGz0Tw07hTUO301KN9Z1Ts,195584
|
|
28
|
-
imops/src/_fast_radon.pyx,sha256=pu8EZplCjIDz9HqBcAit8nj2lDgXpmdhU61_4CfdGWI,2987
|
|
29
|
-
imops/src/_fast_zoom.cp36-win32.pyd,sha256=zvnM-07cm4KL1KoL6yScsxD4r-SE41RW-rGtw8bh5WA,297984
|
|
30
|
-
imops/src/_fast_zoom.pyx,sha256=IugHLr1lrPJYizbnQzxN8JjieQI75hx20vavjnIODw4,23075
|
|
31
|
-
imops/src/_measure.cp36-win32.pyd,sha256=4_tb_KAXCvW6VufKWsm96HQOlnxhtFNggm8TaYdrVaA,219136
|
|
32
|
-
imops/src/_measure.pyx,sha256=JzZ26PptkVT08OemSFaJakc4jf7xYocPqV8jfrYi_wA,2737
|
|
33
|
-
imops/src/_morphology.cp36-win32.pyd,sha256=9mmnPHyC9GNlXLwd2GwUQCwpO3JaU-lrvEogJD1DXyI,126976
|
|
34
|
-
imops/src/_morphology.pyx,sha256=XOQeGuj9sbSHSYwn1vXzYEwsHLVdfXuIy2m1qW0XfI4,5445
|
|
35
|
-
imops/src/_numba_zoom.py,sha256=OmMj7mCFkV2P0FaWVXFuYpfzMBQ3Ks60YiHQURes5wQ,16857
|
|
36
|
-
imops/src/_numeric.cp36-win32.pyd,sha256=v0w9mpXkLAztKZqo2xx_KMtdE2BGOfsFTh40CWN2xgQ,209920
|
|
37
|
-
imops/src/_numeric.pyx,sha256=bXv4qBx_k6B6INNR0r49HU2a8UNnpt-mCS19TczcU38,1919
|
|
38
|
-
imops/src/_radon.cp36-win32.pyd,sha256=wBq-5To840InLWqTHVTtrVS1SWJGwngVkSFFmYWOeDI,195584
|
|
39
|
-
imops/src/_radon.pyx,sha256=pu8EZplCjIDz9HqBcAit8nj2lDgXpmdhU61_4CfdGWI,2987
|
|
40
|
-
imops/src/_zoom.cp36-win32.pyd,sha256=fNpF-ukDIxi9AR8jNxDrU7T5Uc8nmDMnDUJ-YMbRUKI,297472
|
|
41
|
-
imops/src/_zoom.pyx,sha256=IugHLr1lrPJYizbnQzxN8JjieQI75hx20vavjnIODw4,23075
|
|
42
|
-
imops-0.8.1.dist-info/LICENSE,sha256=x7oyYZPKDTt8KoTitcNJLBWhueke5YEOopdr0XjyvBc,1085
|
|
43
|
-
imops-0.8.1.dist-info/METADATA,sha256=ZvoX9UpLYY6mMGQwjk98R2WvAa6N4mrI0mytDeyLZfw,5678
|
|
44
|
-
imops-0.8.1.dist-info/WHEEL,sha256=ZX-iFFGFiHZRWPwXowAnONYwAL2TBxDHVbhC1HaSV9Q,97
|
|
45
|
-
imops-0.8.1.dist-info/top_level.txt,sha256=kEVHvrc8A4lkLQP8xew2pWdYcyQAMvAwqnlZXtoWwnc,6
|
|
46
|
-
imops-0.8.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|