pymodaq_data 5.0.26__tar.gz → 5.1.2__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.
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/.gitignore +4 -2
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/PKG-INFO +25 -19
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/README.rst +22 -16
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/pyproject.toml +7 -9
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/src/pymodaq_data/data.py +32 -0
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/src/pymodaq_data/numpy_func.py +37 -0
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/src/pymodaq_data/plotting/plotter/plotter.py +4 -3
- pymodaq_data-5.0.26/_version.py +0 -34
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/LICENSE +0 -0
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/src/pymodaq_data/__init__.py +0 -0
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/src/pymodaq_data/h5modules/__init__.py +0 -0
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/src/pymodaq_data/h5modules/backends.py +0 -0
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/src/pymodaq_data/h5modules/browsing.py +0 -0
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/src/pymodaq_data/h5modules/data_saving.py +0 -0
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/src/pymodaq_data/h5modules/exporter.py +0 -0
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/src/pymodaq_data/h5modules/exporters/__init__.py +0 -0
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/src/pymodaq_data/h5modules/exporters/base.py +0 -0
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/src/pymodaq_data/h5modules/exporters/flimj.py +0 -0
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/src/pymodaq_data/h5modules/exporters/hyperspy.py +0 -0
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/src/pymodaq_data/h5modules/saving.py +0 -0
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/src/pymodaq_data/h5modules/utils.py +0 -0
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/src/pymodaq_data/icon.ico +0 -0
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/src/pymodaq_data/plotting/__init__.py +0 -0
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/src/pymodaq_data/plotting/plotter/plotters/__init__.py +0 -0
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/src/pymodaq_data/plotting/plotter/plotters/matplotlib_plotters.py +0 -0
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/src/pymodaq_data/post_treatment/__init__.py +0 -0
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/src/pymodaq_data/post_treatment/process_to_scalar.py +0 -0
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/src/pymodaq_data/slicing.py +0 -0
- {pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/src/pymodaq_data/splash.png +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pymodaq_data
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.1.2
|
|
4
4
|
Summary: Modular Data Acquisition with Python
|
|
5
5
|
Project-URL: Homepage, http://pymodaq.cnrs.fr
|
|
6
|
-
Project-URL: Source, https://github.com/PyMoDAQ/
|
|
7
|
-
Project-URL: Tracker, https://github.com/PyMoDAQ/
|
|
6
|
+
Project-URL: Source, https://github.com/PyMoDAQ/PyMoDAQ
|
|
7
|
+
Project-URL: Tracker, https://github.com/PyMoDAQ/PyMoDAQ/issues
|
|
8
8
|
Author-email: Sébastien Weber <sebastien.weber@cemes.fr>
|
|
9
9
|
License: The MIT License (MIT)
|
|
10
10
|
|
|
@@ -62,6 +62,12 @@ Requires-Dist: pytest-cov; extra == 'dev'
|
|
|
62
62
|
Requires-Dist: pytest-xdist; extra == 'dev'
|
|
63
63
|
Description-Content-Type: text/x-rst
|
|
64
64
|
|
|
65
|
+
.. ############################################################
|
|
66
|
+
.. WARNING: This file is AUTO-GENERATED from README.rst.tpl.
|
|
67
|
+
.. ⚠️ DO NOT EDIT MANUALLY ⚠️
|
|
68
|
+
.. ############################################################
|
|
69
|
+
|
|
70
|
+
|
|
65
71
|
PyMoDAQ Data
|
|
66
72
|
############
|
|
67
73
|
|
|
@@ -91,29 +97,29 @@ PyMoDAQ Data
|
|
|
91
97
|
|
|
92
98
|
|
|
93
99
|
|
|
94
|
-
.. |39-linux| image:: https://raw.githubusercontent.com/PyMoDAQ/
|
|
95
|
-
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests.yml
|
|
100
|
+
.. |39-linux| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq_data/dev/tests_Linux_3.9.svg
|
|
101
|
+
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests-data.yml
|
|
96
102
|
|
|
97
|
-
.. |310-linux| image:: https://raw.githubusercontent.com/PyMoDAQ/
|
|
98
|
-
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests.yml
|
|
103
|
+
.. |310-linux| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq_data/dev/tests_Linux_3.10.svg
|
|
104
|
+
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests-data.yml
|
|
99
105
|
|
|
100
|
-
.. |311-linux| image:: https://raw.githubusercontent.com/PyMoDAQ/
|
|
101
|
-
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests.yml
|
|
106
|
+
.. |311-linux| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq_data/dev/tests_Linux_3.11.svg
|
|
107
|
+
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests-data.yml
|
|
102
108
|
|
|
103
|
-
.. |312-linux| image:: https://raw.githubusercontent.com/PyMoDAQ/
|
|
104
|
-
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests.yml
|
|
109
|
+
.. |312-linux| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq_data/dev/tests_Linux_3.12.svg
|
|
110
|
+
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests-data.yml
|
|
105
111
|
|
|
106
|
-
.. |39-windows| image:: https://raw.githubusercontent.com/PyMoDAQ/
|
|
107
|
-
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests.yml
|
|
112
|
+
.. |39-windows| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq_data/dev/tests_Windows_3.9.svg
|
|
113
|
+
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests-data.yml
|
|
108
114
|
|
|
109
|
-
.. |310-windows| image:: https://raw.githubusercontent.com/PyMoDAQ/
|
|
110
|
-
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests.yml
|
|
115
|
+
.. |310-windows| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq_data/dev/tests_Windows_3.10.svg
|
|
116
|
+
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests-data.yml
|
|
111
117
|
|
|
112
|
-
.. |311-windows| image:: https://raw.githubusercontent.com/PyMoDAQ/
|
|
113
|
-
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests.yml
|
|
118
|
+
.. |311-windows| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq_data/dev/tests_Windows_3.11.svg
|
|
119
|
+
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests-data.yml
|
|
114
120
|
|
|
115
|
-
.. |312-windows| image:: https://raw.githubusercontent.com/PyMoDAQ/
|
|
116
|
-
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests.yml
|
|
121
|
+
.. |312-windows| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq_data/dev/tests_Windows_3.12.svg
|
|
122
|
+
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests-data.yml
|
|
117
123
|
|
|
118
124
|
|
|
119
125
|
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
.. ############################################################
|
|
2
|
+
.. WARNING: This file is AUTO-GENERATED from README.rst.tpl.
|
|
3
|
+
.. ⚠️ DO NOT EDIT MANUALLY ⚠️
|
|
4
|
+
.. ############################################################
|
|
5
|
+
|
|
6
|
+
|
|
1
7
|
PyMoDAQ Data
|
|
2
8
|
############
|
|
3
9
|
|
|
@@ -27,29 +33,29 @@ PyMoDAQ Data
|
|
|
27
33
|
|
|
28
34
|
|
|
29
35
|
|
|
30
|
-
.. |39-linux| image:: https://raw.githubusercontent.com/PyMoDAQ/
|
|
31
|
-
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests.yml
|
|
36
|
+
.. |39-linux| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq_data/dev/tests_Linux_3.9.svg
|
|
37
|
+
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests-data.yml
|
|
32
38
|
|
|
33
|
-
.. |310-linux| image:: https://raw.githubusercontent.com/PyMoDAQ/
|
|
34
|
-
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests.yml
|
|
39
|
+
.. |310-linux| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq_data/dev/tests_Linux_3.10.svg
|
|
40
|
+
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests-data.yml
|
|
35
41
|
|
|
36
|
-
.. |311-linux| image:: https://raw.githubusercontent.com/PyMoDAQ/
|
|
37
|
-
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests.yml
|
|
42
|
+
.. |311-linux| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq_data/dev/tests_Linux_3.11.svg
|
|
43
|
+
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests-data.yml
|
|
38
44
|
|
|
39
|
-
.. |312-linux| image:: https://raw.githubusercontent.com/PyMoDAQ/
|
|
40
|
-
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests.yml
|
|
45
|
+
.. |312-linux| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq_data/dev/tests_Linux_3.12.svg
|
|
46
|
+
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests-data.yml
|
|
41
47
|
|
|
42
|
-
.. |39-windows| image:: https://raw.githubusercontent.com/PyMoDAQ/
|
|
43
|
-
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests.yml
|
|
48
|
+
.. |39-windows| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq_data/dev/tests_Windows_3.9.svg
|
|
49
|
+
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests-data.yml
|
|
44
50
|
|
|
45
|
-
.. |310-windows| image:: https://raw.githubusercontent.com/PyMoDAQ/
|
|
46
|
-
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests.yml
|
|
51
|
+
.. |310-windows| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq_data/dev/tests_Windows_3.10.svg
|
|
52
|
+
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests-data.yml
|
|
47
53
|
|
|
48
|
-
.. |311-windows| image:: https://raw.githubusercontent.com/PyMoDAQ/
|
|
49
|
-
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests.yml
|
|
54
|
+
.. |311-windows| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq_data/dev/tests_Windows_3.11.svg
|
|
55
|
+
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests-data.yml
|
|
50
56
|
|
|
51
|
-
.. |312-windows| image:: https://raw.githubusercontent.com/PyMoDAQ/
|
|
52
|
-
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests.yml
|
|
57
|
+
.. |312-windows| image:: https://raw.githubusercontent.com/PyMoDAQ/PyMoDAQ/badges/pymodaq_data/dev/tests_Windows_3.12.svg
|
|
58
|
+
:target: https://github.com/PyMoDAQ/pymodaq_data/actions/workflows/tests-data.yml
|
|
53
59
|
|
|
54
60
|
|
|
55
61
|
|
|
@@ -43,8 +43,6 @@ dependencies = [
|
|
|
43
43
|
"tables<3.9; python_version<\"3.10\"", # issue with some version of required package blosc2>=2.2.8
|
|
44
44
|
]
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
|
|
48
46
|
[project.optional-dependencies]
|
|
49
47
|
dev = [
|
|
50
48
|
"hatch",
|
|
@@ -55,20 +53,20 @@ dev = [
|
|
|
55
53
|
"pytest-xdist",
|
|
56
54
|
]
|
|
57
55
|
|
|
58
|
-
|
|
59
56
|
[project.urls]
|
|
60
57
|
Homepage = "http://pymodaq.cnrs.fr"
|
|
61
|
-
Source = "https://github.com/PyMoDAQ/
|
|
62
|
-
Tracker = "https://github.com/PyMoDAQ/
|
|
58
|
+
Source = "https://github.com/PyMoDAQ/PyMoDAQ"
|
|
59
|
+
Tracker = "https://github.com/PyMoDAQ/PyMoDAQ/issues"
|
|
60
|
+
|
|
61
|
+
[tool.hatch.version.raw-options]
|
|
62
|
+
search_parent_directories = true
|
|
63
|
+
fallback_version = "5.1.0"
|
|
64
|
+
git_describe_command = '''sh -c '(git describe --contains --tags $(git rev-list -1 HEAD -- packages/pymodaq_data) || git describe --tags $(git rev-list -1 HEAD -- packages/pymodaq_data)) | cut -d"~" -f1 ' '''
|
|
63
65
|
|
|
64
66
|
[tool.hatch.version]
|
|
65
67
|
source = "vcs"
|
|
66
|
-
fallback-version = "5.0.12"
|
|
67
68
|
|
|
68
69
|
[tool.hatch.build.targets.sdist]
|
|
69
70
|
include = [
|
|
70
71
|
"/src",
|
|
71
72
|
]
|
|
72
|
-
|
|
73
|
-
[tool.hatch.build.hooks.vcs]
|
|
74
|
-
version-file = "_version.py"
|
|
@@ -8,6 +8,8 @@ from __future__ import annotations
|
|
|
8
8
|
|
|
9
9
|
from abc import ABCMeta, abstractmethod, abstractproperty
|
|
10
10
|
import numbers
|
|
11
|
+
from copy import deepcopy
|
|
12
|
+
|
|
11
13
|
import numpy as np
|
|
12
14
|
from numpy.lib.mixins import NDArrayOperatorsMixin
|
|
13
15
|
from typing import List, Tuple, Union, Any, Callable
|
|
@@ -1081,6 +1083,7 @@ class DataBase(DataLowLevel, NDArrayOperatorsMixin):
|
|
|
1081
1083
|
new_data.data = [np.fliplr(dat) for dat in new_data]
|
|
1082
1084
|
return new_data
|
|
1083
1085
|
|
|
1086
|
+
|
|
1084
1087
|
def append(self, data: DataWithAxes):
|
|
1085
1088
|
"""Append data content if the underlying arrays have the same shape and compatible units"""
|
|
1086
1089
|
for dat in data:
|
|
@@ -2272,6 +2275,16 @@ class DataWithAxes(DataBase, SerializableBase):
|
|
|
2272
2275
|
labels=self.labels)
|
|
2273
2276
|
return new_data
|
|
2274
2277
|
|
|
2278
|
+
def pad(self, pad_width: Union[int, Tuple[int, int], Iterable[Tuple[int, int]]], **kwargs):
|
|
2279
|
+
""" Pad the data arrays using the numpy pad function
|
|
2280
|
+
|
|
2281
|
+
The accepted pad_witdh type is the same than the numpy pad function
|
|
2282
|
+
|
|
2283
|
+
|
|
2284
|
+
see numpy.pad method for the signature and possible named arguments
|
|
2285
|
+
"""
|
|
2286
|
+
return np.pad(self, pad_width, **kwargs)
|
|
2287
|
+
|
|
2275
2288
|
def ft(self, axis: int = 0, axis_label: str = None,
|
|
2276
2289
|
axis_units: str = None, labels: List[str] = None) -> DataWithAxes:
|
|
2277
2290
|
"""Process the Fourier Transform of the data on the specified axis and returns the new data
|
|
@@ -2557,6 +2570,25 @@ class DataWithAxes(DataBase, SerializableBase):
|
|
|
2557
2570
|
axes.append(ax)
|
|
2558
2571
|
self.axes = axes
|
|
2559
2572
|
|
|
2573
|
+
def rot90(self, k=1, axes=(0, 1)):
|
|
2574
|
+
""" Rotate an array by 90 degrees in the plane specified by axes.
|
|
2575
|
+
|
|
2576
|
+
Valid only for 2D data
|
|
2577
|
+
"""
|
|
2578
|
+
if self.dim == DataDim.Data2D:
|
|
2579
|
+
new_data: DataWithAxes = copy.copy(self)
|
|
2580
|
+
new_data.data = [np.rot90(dat, k, axes) for dat in new_data]
|
|
2581
|
+
new_axes = []
|
|
2582
|
+
axis = new_data.get_axis_from_index(0)[0]
|
|
2583
|
+
axis.index = 1
|
|
2584
|
+
new_axes.append(axis)
|
|
2585
|
+
axis = new_data.get_axis_from_index(1)[0]
|
|
2586
|
+
axis.index = 0
|
|
2587
|
+
new_data.axes = new_axes
|
|
2588
|
+
return new_data
|
|
2589
|
+
else:
|
|
2590
|
+
return self
|
|
2591
|
+
|
|
2560
2592
|
def _compute_slices(self, slices, is_navigation=True, is_index=True):
|
|
2561
2593
|
"""Compute the total slice to apply to the data
|
|
2562
2594
|
|
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
from typing import Union, List, TYPE_CHECKING, Iterable, Optional, Callable
|
|
2
2
|
import numbers
|
|
3
|
+
from copy import deepcopy
|
|
3
4
|
|
|
4
5
|
import numpy as np
|
|
5
6
|
from pint.facets.numpy.numpy_func import HANDLED_UFUNCS # imported by the data module
|
|
6
7
|
from pymodaq_data import Q_
|
|
7
8
|
from pymodaq_data import data as data_mod
|
|
8
9
|
|
|
10
|
+
from pymodaq_utils.logger import set_logger, get_module_name
|
|
11
|
+
|
|
9
12
|
if TYPE_CHECKING:
|
|
10
13
|
from pymodaq_data.data import DataBase, DataWithAxes
|
|
11
14
|
|
|
12
15
|
HANDLED_FUNCTIONS = {}
|
|
13
16
|
|
|
17
|
+
logger = set_logger(get_module_name(__file__))
|
|
18
|
+
|
|
14
19
|
|
|
15
20
|
def process_arguments_for_ufuncs(input: 'DataBase',
|
|
16
21
|
inputs: List[Union[numbers.Number, Q_, np.ndarray, 'DataBase']]):
|
|
@@ -161,6 +166,38 @@ def _roll(dwa: 'DataWithAxes', *args, **kwargs):
|
|
|
161
166
|
dwa_func.name += f"_{'roll'}"
|
|
162
167
|
return dwa_func
|
|
163
168
|
|
|
169
|
+
|
|
170
|
+
@implements('pad')
|
|
171
|
+
def _pad(dwa: 'DataWithAxes', pad_width, mode = 'constant', **kwargs):
|
|
172
|
+
dwa.create_missing_axes()
|
|
173
|
+
for axis in dwa.axes:
|
|
174
|
+
if not axis.is_axis_linear():
|
|
175
|
+
raise TypeError('Could not pad data with non linear axes')
|
|
176
|
+
if isinstance(pad_width, int):
|
|
177
|
+
pad_width = [(pad_width, pad_width) for _ in range(len(dwa.shape))]
|
|
178
|
+
elif len(pad_width) == 1:
|
|
179
|
+
if hasattr(pad_width[0], '__len__') and len(pad_width[0]) == 2:
|
|
180
|
+
pad_width = [pad_width[0] for _ in range(len(dwa.shape))]
|
|
181
|
+
else:
|
|
182
|
+
pad_width = pad_width[0]
|
|
183
|
+
pad_width = [(pad_width, pad_width) for _ in range(len(dwa.shape))]
|
|
184
|
+
elif len(pad_width) == 2 and not hasattr(pad_width[0], '__len__'):
|
|
185
|
+
pad_width = [pad_width for _ in range(len(dwa.shape))]
|
|
186
|
+
elif len(pad_width) == len(dwa.shape):
|
|
187
|
+
if not hasattr(pad_width[0], '__len__'):
|
|
188
|
+
raise TypeError('Could not pad data with the given argument')
|
|
189
|
+
else:
|
|
190
|
+
raise TypeError(f'Could not pad data with the given arguments: {pad_width}')
|
|
191
|
+
dwa_func = dwa.deepcopy_with_new_data(data=[np.pad(array, pad_width, mode, **kwargs) for array in dwa])
|
|
192
|
+
dwa_func.axes = []
|
|
193
|
+
for axis in deepcopy(dwa.axes):
|
|
194
|
+
axis.offset -= pad_width[axis.index][0] * axis.scaling
|
|
195
|
+
axis.size += pad_width[axis.index][0] + pad_width[axis.index][1]
|
|
196
|
+
dwa_func.axes.append(axis)
|
|
197
|
+
dwa_func.name += f"_{'pad'}"
|
|
198
|
+
return dwa_func
|
|
199
|
+
|
|
200
|
+
|
|
164
201
|
# ******** functions that return booleans ***********
|
|
165
202
|
@implements('all')
|
|
166
203
|
def _all(dwa: 'DataWithAxes', *args, axis: Optional[Union[int, Iterable[int]]] = None, **kwargs):
|
|
@@ -83,13 +83,14 @@ class PlotterFactory(ObjectFactory):
|
|
|
83
83
|
def create(cls, key, **kwargs) -> PlotterBase:
|
|
84
84
|
builder = cls._builders[cls.__name__].get(key)
|
|
85
85
|
if not builder:
|
|
86
|
-
raise ValueError(key)
|
|
86
|
+
raise ValueError(f'{key} is not a valid plotter: {cls.backends()}')
|
|
87
87
|
return builder(**kwargs)
|
|
88
88
|
|
|
89
89
|
def get(self, backend: str, **kwargs):
|
|
90
90
|
return self.create(backend, **kwargs)
|
|
91
91
|
|
|
92
|
-
|
|
92
|
+
@classmethod
|
|
93
|
+
def backends(cls) -> List[str]:
|
|
93
94
|
"""Returns the list of plotter backends, main identifier of a given plotter"""
|
|
94
|
-
return sorted(list(
|
|
95
|
+
return sorted(list(cls._builders[cls.__name__].keys()))
|
|
95
96
|
|
pymodaq_data-5.0.26/_version.py
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# file generated by setuptools-scm
|
|
2
|
-
# don't change, don't track in version control
|
|
3
|
-
|
|
4
|
-
__all__ = [
|
|
5
|
-
"__version__",
|
|
6
|
-
"__version_tuple__",
|
|
7
|
-
"version",
|
|
8
|
-
"version_tuple",
|
|
9
|
-
"__commit_id__",
|
|
10
|
-
"commit_id",
|
|
11
|
-
]
|
|
12
|
-
|
|
13
|
-
TYPE_CHECKING = False
|
|
14
|
-
if TYPE_CHECKING:
|
|
15
|
-
from typing import Tuple
|
|
16
|
-
from typing import Union
|
|
17
|
-
|
|
18
|
-
VERSION_TUPLE = Tuple[Union[int, str], ...]
|
|
19
|
-
COMMIT_ID = Union[str, None]
|
|
20
|
-
else:
|
|
21
|
-
VERSION_TUPLE = object
|
|
22
|
-
COMMIT_ID = object
|
|
23
|
-
|
|
24
|
-
version: str
|
|
25
|
-
__version__: str
|
|
26
|
-
__version_tuple__: VERSION_TUPLE
|
|
27
|
-
version_tuple: VERSION_TUPLE
|
|
28
|
-
commit_id: COMMIT_ID
|
|
29
|
-
__commit_id__: COMMIT_ID
|
|
30
|
-
|
|
31
|
-
__version__ = version = '5.0.26'
|
|
32
|
-
__version_tuple__ = version_tuple = (5, 0, 26)
|
|
33
|
-
|
|
34
|
-
__commit_id__ = commit_id = None
|
|
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
|
{pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/src/pymodaq_data/plotting/plotter/plotters/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pymodaq_data-5.0.26 → pymodaq_data-5.1.2}/src/pymodaq_data/post_treatment/process_to_scalar.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|