imops 0.8.1__cp36-cp36m-win_amd64.whl → 0.8.3__cp36-cp36m-win_amd64.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.

@@ -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-win_amd64.pyd,sha256=HNG2VQUaD2iPasTXPgWBIfc7a64VyQei2M_0pkygWtQ,201728
18
+ imops/src/_backprojection.pyx,sha256=xngEJtJ6czjoBRBKL6tu5S7nt6ZgcsE82xDGdCIfagE,2724
19
+ imops/src/_fast_backprojection.cp36-win_amd64.pyd,sha256=DyEjPzw02s8SV26d3F_TZJJNCnh8ciQSsXwVa4zmngc,202240
20
+ imops/src/_fast_backprojection.pyx,sha256=xngEJtJ6czjoBRBKL6tu5S7nt6ZgcsE82xDGdCIfagE,2724
21
+ imops/src/_fast_measure.cp36-win_amd64.pyd,sha256=Ag5_AIu2QXKQtNGkpNR2qAKilGhhhymOhmaFOqRFnb0,287232
22
+ imops/src/_fast_measure.pyx,sha256=JzZ26PptkVT08OemSFaJakc4jf7xYocPqV8jfrYi_wA,2737
23
+ imops/src/_fast_morphology.cp36-win_amd64.pyd,sha256=YhshBSh0Ye1ZVWam8-huQdW4-XB13kl2BTpjc2I_ddk,166912
24
+ imops/src/_fast_morphology.pyx,sha256=QwFrPQ6M-bJDVQNCCtKK7FR3KOr5cZSx_CBvxh9THXM,9538
25
+ imops/src/_fast_numeric.cp36-win_amd64.pyd,sha256=539bAjIIMyJkfusdzMGbFABd6x0s6M-CYXerz5_eE7c,442368
26
+ imops/src/_fast_numeric.pyx,sha256=c8q3KlL8mDe0wsz72ooeqhffk1iqvA0Org7NWW5RbYo,8221
27
+ imops/src/_fast_radon.cp36-win_amd64.pyd,sha256=rFBg4yNnAnzlHnyxH4zg60VTut3m57fAe_1SAUqDLuU,262144
28
+ imops/src/_fast_radon.pyx,sha256=pu8EZplCjIDz9HqBcAit8nj2lDgXpmdhU61_4CfdGWI,2987
29
+ imops/src/_fast_zoom.cp36-win_amd64.pyd,sha256=dBeT60BPxg3yIAM8gCEqySs7VDAXR3X_Zwg5ZdvPQr0,434176
30
+ imops/src/_fast_zoom.pyx,sha256=Dd5MDelALAh4-3QhnzfzKTB5Gmi2lVERrbyYj-q8kVQ,23091
31
+ imops/src/_measure.cp36-win_amd64.pyd,sha256=MD9Zws61g25ThKdTP-XgLQsC7njEux_ygAzACyB9pu0,287232
32
+ imops/src/_measure.pyx,sha256=JzZ26PptkVT08OemSFaJakc4jf7xYocPqV8jfrYi_wA,2737
33
+ imops/src/_morphology.cp36-win_amd64.pyd,sha256=mVWTXwOB61zxpot5Le9gx1IdNqpbujdd098qduOGFKM,166912
34
+ imops/src/_morphology.pyx,sha256=QwFrPQ6M-bJDVQNCCtKK7FR3KOr5cZSx_CBvxh9THXM,9538
35
+ imops/src/_numba_zoom.py,sha256=OmMj7mCFkV2P0FaWVXFuYpfzMBQ3Ks60YiHQURes5wQ,16857
36
+ imops/src/_numeric.cp36-win_amd64.pyd,sha256=TdgcWhO66G5SurxT-ePOEkhHbWsNK9Jxlu5CGQ3MR9w,441856
37
+ imops/src/_numeric.pyx,sha256=c8q3KlL8mDe0wsz72ooeqhffk1iqvA0Org7NWW5RbYo,8221
38
+ imops/src/_radon.cp36-win_amd64.pyd,sha256=DemVCyMcSi1PSM_IVzLx3-L79I_eRVEheZk-QkjTys8,262144
39
+ imops/src/_radon.pyx,sha256=pu8EZplCjIDz9HqBcAit8nj2lDgXpmdhU61_4CfdGWI,2987
40
+ imops/src/_zoom.cp36-win_amd64.pyd,sha256=HDXDNtTrpxg2X3QbnCMZG5PT6-XXf92rKl-jLKnqGeo,434176
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=zukbZftcRdNfJ55Q_RYV9JZ3uVyqWKyq-wDJbmszs_U,101
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
@@ -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-win_amd64.pyd,sha256=Ucb3jWkuWDCgyP_lz3tNDk6TgiGAmO62pgvfTbXI1sM,198144
18
- imops/src/_backprojection.pyx,sha256=xngEJtJ6czjoBRBKL6tu5S7nt6ZgcsE82xDGdCIfagE,2724
19
- imops/src/_fast_backprojection.cp36-win_amd64.pyd,sha256=gqnruyct_RgyNkz16R7ALty4Fji4c-j2G8NWnaQdAaM,198144
20
- imops/src/_fast_backprojection.pyx,sha256=xngEJtJ6czjoBRBKL6tu5S7nt6ZgcsE82xDGdCIfagE,2724
21
- imops/src/_fast_measure.cp36-win_amd64.pyd,sha256=4dtdwE-M5zFL9S2eY3viJX0BlwI4zLr5s1GGGZXP26Q,285184
22
- imops/src/_fast_measure.pyx,sha256=JzZ26PptkVT08OemSFaJakc4jf7xYocPqV8jfrYi_wA,2737
23
- imops/src/_fast_morphology.cp36-win_amd64.pyd,sha256=UiAgtNpICi0WNRhpDnxYIcjnG_gjOzbQIijnZXrDlWw,162816
24
- imops/src/_fast_morphology.pyx,sha256=XOQeGuj9sbSHSYwn1vXzYEwsHLVdfXuIy2m1qW0XfI4,5445
25
- imops/src/_fast_numeric.cp36-win_amd64.pyd,sha256=4sKu4m5pTMeoK1y022ri5Q60H9evu7k2yecUQHmahEQ,271360
26
- imops/src/_fast_numeric.pyx,sha256=bXv4qBx_k6B6INNR0r49HU2a8UNnpt-mCS19TczcU38,1919
27
- imops/src/_fast_radon.cp36-win_amd64.pyd,sha256=9vtiB3rKrHhfOa0JpR8j74jEZZc9RkcUThrbkYpk_Dw,252416
28
- imops/src/_fast_radon.pyx,sha256=pu8EZplCjIDz9HqBcAit8nj2lDgXpmdhU61_4CfdGWI,2987
29
- imops/src/_fast_zoom.cp36-win_amd64.pyd,sha256=e2J570MWtUyRzY5uKPZHTN5A8wZKNFpcKd5zsaEuw0A,386560
30
- imops/src/_fast_zoom.pyx,sha256=IugHLr1lrPJYizbnQzxN8JjieQI75hx20vavjnIODw4,23075
31
- imops/src/_measure.cp36-win_amd64.pyd,sha256=4y_rT__FRYu5mpkRH_CfE8CZvTGcV7hv4El19svoWMw,285184
32
- imops/src/_measure.pyx,sha256=JzZ26PptkVT08OemSFaJakc4jf7xYocPqV8jfrYi_wA,2737
33
- imops/src/_morphology.cp36-win_amd64.pyd,sha256=OrBZLZ4xBDR-btZ-ISXWqC_7eTBUhqIXOww6s7aSUAA,162816
34
- imops/src/_morphology.pyx,sha256=XOQeGuj9sbSHSYwn1vXzYEwsHLVdfXuIy2m1qW0XfI4,5445
35
- imops/src/_numba_zoom.py,sha256=OmMj7mCFkV2P0FaWVXFuYpfzMBQ3Ks60YiHQURes5wQ,16857
36
- imops/src/_numeric.cp36-win_amd64.pyd,sha256=fxh_AilFHqnDGjSrd8dPu3n71gRB3CfnyBalzwccZNc,271360
37
- imops/src/_numeric.pyx,sha256=bXv4qBx_k6B6INNR0r49HU2a8UNnpt-mCS19TczcU38,1919
38
- imops/src/_radon.cp36-win_amd64.pyd,sha256=gKynXOIuLlBJXWuoPgUBchoEZTwxEJLy2PT_3IqExiQ,252416
39
- imops/src/_radon.pyx,sha256=pu8EZplCjIDz9HqBcAit8nj2lDgXpmdhU61_4CfdGWI,2987
40
- imops/src/_zoom.cp36-win_amd64.pyd,sha256=WocOJsBjl4KeL_tUTTzmWKdSq47rQR4LHf6bvYg_PMs,386560
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=zukbZftcRdNfJ55Q_RYV9JZ3uVyqWKyq-wDJbmszs_U,101
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