darfix 4.3.1__py3-none-any.whl → 4.3.2__py3-none-any.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.
- darfix/gui/dimensions_widget.py +2 -2
- darfix/gui/noise_removal/noise_removal_widget.py +1 -1
- darfix/gui/rocking_curves/rocking_curves_plot.py +1 -1
- darfix/processing/rocking_curves.py +34 -15
- darfix/tasks/rocking_curves.py +19 -9
- darfix/tests/tasks/test_rocking_curves.py +15 -4
- {darfix-4.3.1.dist-info → darfix-4.3.2.dist-info}/METADATA +1 -1
- {darfix-4.3.1.dist-info → darfix-4.3.2.dist-info}/RECORD +14 -14
- {darfix-4.3.1.dist-info → darfix-4.3.2.dist-info}/WHEEL +1 -1
- orangecontrib/darfix/widgets/dimensions.py +2 -2
- orangecontrib/darfix/widgets/rockingcurves.py +1 -0
- {darfix-4.3.1.dist-info → darfix-4.3.2.dist-info}/entry_points.txt +0 -0
- {darfix-4.3.1.dist-info → darfix-4.3.2.dist-info}/licenses/LICENSE +0 -0
- {darfix-4.3.1.dist-info → darfix-4.3.2.dist-info}/top_level.txt +0 -0
darfix/gui/dimensions_widget.py
CHANGED
|
@@ -83,8 +83,6 @@ class DimensionTable(qt.QTableWidget):
|
|
|
83
83
|
assert isinstance(dim, Dimension)
|
|
84
84
|
self._addDim(axis, dim, decimals)
|
|
85
85
|
|
|
86
|
-
self.sigUpdateDims.emit()
|
|
87
|
-
|
|
88
86
|
def onRemoveDim(self, iRow: int):
|
|
89
87
|
"""
|
|
90
88
|
Remove dimension.
|
|
@@ -298,11 +296,13 @@ class DimensionItem(qt.QWidget):
|
|
|
298
296
|
# start
|
|
299
297
|
self._startWidget = qt.QDoubleSpinBox(self)
|
|
300
298
|
self._startWidget.setMinimum(float("-inf"))
|
|
299
|
+
self._startWidget.setMaximum(float("+inf"))
|
|
301
300
|
self._startWidget.setDecimals(5)
|
|
302
301
|
self._startWidget.valueChanged.connect(self.sigDimChanged)
|
|
303
302
|
# end
|
|
304
303
|
self._stopWidget = qt.QDoubleSpinBox(self)
|
|
305
304
|
self._stopWidget.setMinimum(float("-inf"))
|
|
305
|
+
self._stopWidget.setMaximum(float("+inf"))
|
|
306
306
|
self._stopWidget.setDecimals(5)
|
|
307
307
|
self._stopWidget.valueChanged.connect(self.sigDimChanged)
|
|
308
308
|
# rm button
|
|
@@ -138,7 +138,7 @@ class NoiseRemovalWidget(qt.QWidget):
|
|
|
138
138
|
self._dataset = dataset
|
|
139
139
|
|
|
140
140
|
if self._imgDataset.title != "":
|
|
141
|
-
self._plot.
|
|
141
|
+
self._plot.setGraphTitle(self._imgDataset.title)
|
|
142
142
|
|
|
143
143
|
self._initPlot()
|
|
144
144
|
|
|
@@ -245,7 +245,7 @@ class RockingCurvesPlot(qt.QWidget):
|
|
|
245
245
|
y_gauss = bivariate_gaussian(x_values, *pars)
|
|
246
246
|
|
|
247
247
|
except (TypeError, RuntimeError):
|
|
248
|
-
_logger.
|
|
248
|
+
_logger.error("Cannot fit", exc_info=True)
|
|
249
249
|
y_gauss = numpy.full_like(rocking_curve, numpy.nan)
|
|
250
250
|
else:
|
|
251
251
|
self._lastFitParamsLabel.setText(
|
|
@@ -17,9 +17,6 @@ from ..math import trivariate_gaussian
|
|
|
17
17
|
|
|
18
18
|
FitMethod = Literal["trf", "lm", "dogbox"]
|
|
19
19
|
|
|
20
|
-
_ZERO_SUM_RELATIVE_TOLERANCE = 1e-3
|
|
21
|
-
""" Relative tolerance used to check if the sum of values equals 0. Skips fit if it is the case."""
|
|
22
|
-
|
|
23
20
|
_BOUNDS_TOLERANCE = 1e-3
|
|
24
21
|
""" Absolute tolerance for to set bounds of fit parameters. The bounds will be set to (min - tol, max + tol) whenever possible."""
|
|
25
22
|
|
|
@@ -246,6 +243,24 @@ def _gaussian_p0(com: list[float], fwhm: list[float], ptp_y: float):
|
|
|
246
243
|
]
|
|
247
244
|
|
|
248
245
|
|
|
246
|
+
def _filter_contiguous_zeros(arr) -> numpy.ndarray:
|
|
247
|
+
"""
|
|
248
|
+
Mask is FALSE if value == 0 AND its left neighbor == 0 AND its right neighbor == 0.
|
|
249
|
+
|
|
250
|
+
:param arr: 1D array
|
|
251
|
+
|
|
252
|
+
:return: 1D mask
|
|
253
|
+
"""
|
|
254
|
+
is_zero = arr == 0
|
|
255
|
+
|
|
256
|
+
left_neighbor_zero = numpy.concatenate(([True], is_zero[:-1]))
|
|
257
|
+
|
|
258
|
+
right_neighbor_zero = numpy.concatenate((is_zero[1:], [True]))
|
|
259
|
+
|
|
260
|
+
mask = is_zero & left_neighbor_zero & right_neighbor_zero
|
|
261
|
+
return ~mask
|
|
262
|
+
|
|
263
|
+
|
|
249
264
|
def _fit_xd_rocking_curve(
|
|
250
265
|
len_maps: int,
|
|
251
266
|
gaussian_function: Callable,
|
|
@@ -273,38 +288,42 @@ def _fit_xd_rocking_curve(
|
|
|
273
288
|
if thresh is None:
|
|
274
289
|
thresh = 15.0
|
|
275
290
|
|
|
276
|
-
com, fwhm = compute_com_fwhm(x_values, y_values)
|
|
277
|
-
|
|
278
291
|
ptp_y = numpy.ptp(y_values)
|
|
279
292
|
|
|
293
|
+
y_not_zero_mask = _filter_contiguous_zeros(y_values)
|
|
294
|
+
x_not_zero_values = x_values[:, y_not_zero_mask]
|
|
295
|
+
y_not_zero_values = y_values[y_not_zero_mask]
|
|
280
296
|
y_zeros = numpy.zeros_like(y_values)
|
|
281
297
|
|
|
298
|
+
com, fwhm = compute_com_fwhm(x_not_zero_values, y_not_zero_values)
|
|
299
|
+
|
|
282
300
|
if ptp_y <= thresh:
|
|
283
301
|
# Ptp under threshold
|
|
284
302
|
return y_zeros, numpy.full(len_maps, numpy.nan)
|
|
285
303
|
|
|
286
|
-
if len(y_values) < len_maps:
|
|
287
|
-
return y_zeros, numpy.full(len_maps, numpy.nan)
|
|
288
|
-
|
|
289
304
|
p0 = p0_function(com, fwhm, ptp_y)
|
|
290
305
|
|
|
306
|
+
if x_not_zero_values.shape[1] < len_maps:
|
|
307
|
+
# Cannot fit if there is less points than the number of parameters.
|
|
308
|
+
# Return `p0` for gaussian parameters is enough when there only a few points.
|
|
309
|
+
y_fitted = y_zeros
|
|
310
|
+
y_fitted[y_not_zero_mask] = gaussian_function(x_not_zero_values, *p0)
|
|
311
|
+
return y_fitted, p0
|
|
312
|
+
|
|
291
313
|
vmax = max(y_values.max(), ptp_y)
|
|
292
314
|
|
|
293
315
|
bounds = bounds_function(
|
|
294
316
|
method,
|
|
295
|
-
|
|
317
|
+
x_not_zero_values,
|
|
296
318
|
min_y=thresh,
|
|
297
319
|
max_y=vmax,
|
|
298
320
|
)
|
|
299
321
|
|
|
300
|
-
y_not_zero_mask = y_values > 0
|
|
301
|
-
x_values_masked = x_values[:, y_not_zero_mask]
|
|
302
|
-
|
|
303
322
|
try:
|
|
304
323
|
fit_params, cov = curve_fit(
|
|
305
324
|
f=gaussian_function,
|
|
306
|
-
xdata=
|
|
307
|
-
ydata=
|
|
325
|
+
xdata=x_not_zero_values,
|
|
326
|
+
ydata=y_not_zero_values,
|
|
308
327
|
p0=p0,
|
|
309
328
|
method=method,
|
|
310
329
|
bounds=bounds,
|
|
@@ -317,7 +336,7 @@ def _fit_xd_rocking_curve(
|
|
|
317
336
|
return y_zeros, numpy.full(len_maps, numpy.nan)
|
|
318
337
|
|
|
319
338
|
y_fitted = y_zeros
|
|
320
|
-
y_fitted[y_not_zero_mask] = gaussian_function(
|
|
339
|
+
y_fitted[y_not_zero_mask] = gaussian_function(x_not_zero_values, *fit_params)
|
|
321
340
|
|
|
322
341
|
return y_fitted, fit_params
|
|
323
342
|
|
darfix/tasks/rocking_curves.py
CHANGED
|
@@ -25,6 +25,8 @@ class Inputs(BaseInputModel):
|
|
|
25
25
|
"""Method to use for the rocking curves fit"""
|
|
26
26
|
output_filename: str | Path | None = None
|
|
27
27
|
"""Output filename to save the rocking curves results. Results are not saved if not provided"""
|
|
28
|
+
save_maps: bool = True
|
|
29
|
+
"""Whether to save the maps to file. Default is True."""
|
|
28
30
|
|
|
29
31
|
|
|
30
32
|
class RockingCurves(Task, input_model=Inputs, output_names=["dataset", "maps"]):
|
|
@@ -38,13 +40,6 @@ class RockingCurves(Task, input_model=Inputs, output_names=["dataset", "maps"]):
|
|
|
38
40
|
|
|
39
41
|
inputs = Inputs(**self.get_input_values())
|
|
40
42
|
|
|
41
|
-
output_filename = inputs.output_filename
|
|
42
|
-
if output_filename and os.path.isfile(output_filename):
|
|
43
|
-
raise FileExistsError(
|
|
44
|
-
f"""Cannot launch rocking curves fit: saving destination {output_filename} already exists.
|
|
45
|
-
Change the `output_filename` input or set it to None to disable saving."""
|
|
46
|
-
)
|
|
47
|
-
|
|
48
43
|
dataset = inputs.dataset.dataset
|
|
49
44
|
new_image_dataset, maps = dataset.apply_fit(
|
|
50
45
|
int_thresh=inputs.int_thresh,
|
|
@@ -52,13 +47,14 @@ class RockingCurves(Task, input_model=Inputs, output_names=["dataset", "maps"]):
|
|
|
52
47
|
abort_event=self.cancelEvent,
|
|
53
48
|
)
|
|
54
49
|
|
|
55
|
-
if
|
|
50
|
+
if inputs.save_maps:
|
|
51
|
+
|
|
56
52
|
nxdict = generate_rocking_curves_nxdict(
|
|
57
53
|
new_image_dataset,
|
|
58
54
|
maps,
|
|
59
55
|
residuals=compute_residuals(new_image_dataset, dataset),
|
|
60
56
|
)
|
|
61
|
-
dicttonx(nxdict, output_filename)
|
|
57
|
+
dicttonx(nxdict, _get_output_path(inputs.output_filename, dataset.dir))
|
|
62
58
|
|
|
63
59
|
self.outputs.dataset = Dataset(
|
|
64
60
|
dataset=new_image_dataset,
|
|
@@ -68,3 +64,17 @@ class RockingCurves(Task, input_model=Inputs, output_names=["dataset", "maps"]):
|
|
|
68
64
|
|
|
69
65
|
def cancel(self):
|
|
70
66
|
self.cancelEvent.set()
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
def _get_output_path(output_path: str | None, output_directory: str) -> str:
|
|
70
|
+
"""
|
|
71
|
+
:return: Default output path or output path specified by user.
|
|
72
|
+
"""
|
|
73
|
+
if output_path is None:
|
|
74
|
+
output_path = str(Path(output_directory) / "rocking_curve_maps.h5")
|
|
75
|
+
if os.path.isfile(output_path):
|
|
76
|
+
raise FileExistsError(
|
|
77
|
+
f"""Cannot launch rocking curves fit: saving destination {output_path} already exists.
|
|
78
|
+
Change the `output_filename` input or set `save_maps` input to False to disable saving."""
|
|
79
|
+
)
|
|
80
|
+
return output_path
|
|
@@ -2,7 +2,9 @@ import warnings
|
|
|
2
2
|
from pathlib import Path
|
|
3
3
|
|
|
4
4
|
import h5py
|
|
5
|
+
import hdf5plugin # noqa: F401
|
|
5
6
|
import numpy
|
|
7
|
+
import pytest
|
|
6
8
|
from scipy.optimize import OptimizeWarning
|
|
7
9
|
|
|
8
10
|
from darfix.core.rocking_curves_map import Maps_2D
|
|
@@ -10,8 +12,16 @@ from darfix.dtypes import Dataset
|
|
|
10
12
|
from darfix.tasks.rocking_curves import RockingCurves
|
|
11
13
|
|
|
12
14
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
+
@pytest.mark.parametrize("test_default_value", (True, False))
|
|
16
|
+
def test_rocking_curves(input_dataset, tmp_path, test_default_value):
|
|
17
|
+
|
|
18
|
+
if test_default_value:
|
|
19
|
+
output_filename = None
|
|
20
|
+
expected_output_filename = tmp_path / "rocking_curve_maps.h5"
|
|
21
|
+
else:
|
|
22
|
+
output_filename = tmp_path / "file_name_defined_by_user.h5"
|
|
23
|
+
expected_output_filename = output_filename
|
|
24
|
+
|
|
15
25
|
input_dataset.find_dimensions()
|
|
16
26
|
input_dataset.reshape_data()
|
|
17
27
|
task = RockingCurves(
|
|
@@ -22,6 +32,7 @@ def test_rocking_curves(input_dataset, tmp_path):
|
|
|
22
32
|
"int_thresh": 15,
|
|
23
33
|
}
|
|
24
34
|
)
|
|
35
|
+
|
|
25
36
|
with warnings.catch_warnings():
|
|
26
37
|
warnings.simplefilter("always", RuntimeWarning)
|
|
27
38
|
warnings.simplefilter("always", OptimizeWarning)
|
|
@@ -29,8 +40,8 @@ def test_rocking_curves(input_dataset, tmp_path):
|
|
|
29
40
|
|
|
30
41
|
assert isinstance(task.get_output_value("maps"), numpy.ndarray)
|
|
31
42
|
assert isinstance(task.get_output_value("dataset"), Dataset)
|
|
32
|
-
assert
|
|
33
|
-
with h5py.File(
|
|
43
|
+
assert expected_output_filename.is_file()
|
|
44
|
+
with h5py.File(expected_output_filename, "r") as output_file:
|
|
34
45
|
output_entry = output_file["entry"]
|
|
35
46
|
for map_type in Maps_2D:
|
|
36
47
|
assert map_type.value in output_entry
|
|
@@ -42,7 +42,7 @@ darfix/gui/binning_widget.py,sha256=dYg9RT6VFaKdM6nB7P6O0f5KecRQuE--YVbv6F4BHjU,
|
|
|
42
42
|
darfix/gui/blind_source_separation_widget.py,sha256=tPGLwfwBf5epS2-F-DtcnXlfoX1w2dyna-P8ej38fdY,6217
|
|
43
43
|
darfix/gui/choose_dimensions.py,sha256=mZUW_6XNICu5Bu3cKd4A4XOszcRTXeWi4BTaBudZxJ0,8591
|
|
44
44
|
darfix/gui/concatenate_scans.py,sha256=aGGC2zQySESmLtP9-wLn1d2Q7Hyl9B8uYoH2fcPcKEk,13140
|
|
45
|
-
darfix/gui/dimensions_widget.py,sha256
|
|
45
|
+
darfix/gui/dimensions_widget.py,sha256=-uPM9YLe-gqr1pcW_RF18SBsj1WLBXdp2t0sEo5zzRw,12417
|
|
46
46
|
darfix/gui/display_components_widget.py,sha256=ToA0M-h8djzDpIy-eC4CGqjcMYxO36iOjU3AmCZtJzg,12916
|
|
47
47
|
darfix/gui/filter_by_dimension.py,sha256=RWK1YVvwGLPkSR3qTDOzyrzTjZCa3xGwW9q3wmyGOuM,3050
|
|
48
48
|
darfix/gui/magnification_widget.py,sha256=DwVf6qvjbZI_wFQ7iTfF8EYcgF0MzTfe6H4jO_yOxV4,5052
|
|
@@ -73,13 +73,13 @@ darfix/gui/grain_plot/grain_plot_widget.py,sha256=nUbd1rSnTUsAAiLJ5kQ7BlMJ46uBPW
|
|
|
73
73
|
darfix/gui/grain_plot/mosaicity_widget.py,sha256=N4-M2k8xGftO8m4-xg7wFIbBJaDW1lwIpReJLWh6IZc,13639
|
|
74
74
|
darfix/gui/grain_plot/oridist_toolbar.py,sha256=WGw1mekpDMNsuTOvj3TBoVOfJRyhB0aqGBgO_9NXrQ4,2925
|
|
75
75
|
darfix/gui/grain_plot/utils.py,sha256=pwMrxdeyWqDiukCJPZW3__5lXxX5yLQz19UBPCo32bQ,1014
|
|
76
|
-
darfix/gui/noise_removal/noise_removal_widget.py,sha256=
|
|
76
|
+
darfix/gui/noise_removal/noise_removal_widget.py,sha256=6Ag_OQaT3gAU2DeocB4zpw6_jjdweYTYNjvHnnxutfM,12126
|
|
77
77
|
darfix/gui/noise_removal/operation_list_widget.py,sha256=7jZDqoVPdLEXTwo7AUD5cT2CpmRHCvH6niDg5xLtvIE,2432
|
|
78
78
|
darfix/gui/noise_removal/parameters_widget.py,sha256=Cz909i-TxV9tcqAxr5tXM_BHkIl5-XXx0R8khlZlwmM,5072
|
|
79
79
|
darfix/gui/parallel/operation_process.py,sha256=2twAOVhPZfLFgQVNo65fl5e5bmyFtpOWm-4cu6GL1Kk,1535
|
|
80
80
|
darfix/gui/parallel/operation_thread.py,sha256=_munmXiu7m2KF7x2N0PtOLEag2KzSHvis60vanRub0U,716
|
|
81
81
|
darfix/gui/rocking_curves/fit_combobox.py,sha256=6omySgaBJvLbMzfGIfmQdlSk8zWp6NeMU5aCeMJG9v8,954
|
|
82
|
-
darfix/gui/rocking_curves/rocking_curves_plot.py,sha256=
|
|
82
|
+
darfix/gui/rocking_curves/rocking_curves_plot.py,sha256=_xxMlatrw3AARJymnNiI1OYINN7bjeXoKThy-auJFco,11023
|
|
83
83
|
darfix/gui/rocking_curves/rocking_curves_widget.py,sha256=EDljD8tjKWRLhUQ5_maGP3qKmihsV39p3oP5cg826es,7728
|
|
84
84
|
darfix/gui/rocking_curves/utils.py,sha256=piLRGF3UhtqSFKY5vs2N2YuhECroKxGo_6r7qwcq52g,328
|
|
85
85
|
darfix/gui/shift_correction/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -104,7 +104,7 @@ darfix/io/utils.py,sha256=dskeyn0sUGVQNkESFzBOP5yB7oiMpuZHAQnJZZz7kdc,10912
|
|
|
104
104
|
darfix/processing/__init__.py,sha256=b4W05nIjqNXNRPf8ZeDVK23CnTKkDtl0WRE71pnbKdw,78
|
|
105
105
|
darfix/processing/dimension_detection.py,sha256=Z_ifqd7Nrcde4Qj-YOxwN3wjoIoI_U_s2WwOnkygNa8,1520
|
|
106
106
|
darfix/processing/image_operations.py,sha256=AFSNwipyTNzH03ILm9K8KNLoIQKFTeVpwuIGGuXMvXM,3424
|
|
107
|
-
darfix/processing/rocking_curves.py,sha256=
|
|
107
|
+
darfix/processing/rocking_curves.py,sha256=KGdDMt6-zpPjmBfoqwsPyxSkivRat1ca0pgtcVRSPD8,11398
|
|
108
108
|
darfix/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
109
109
|
darfix/resources/gui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
110
110
|
darfix/resources/gui/icons/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -148,7 +148,7 @@ darfix/tasks/noise_removal.py,sha256=JYqk5wyzQFOSQmIE9uSpVLl2JzPF9QSIQionOp8EWIw
|
|
|
148
148
|
darfix/tasks/noiseremoval.py,sha256=L_rGkpuL1efn7UT9oc9V0uNvPoNG2O6Zx_cB-VypizA,286
|
|
149
149
|
darfix/tasks/pca.py,sha256=9AuDvTB41LJl49xUlRagQeRLzccVfjg0-mPb-0APsPY,1504
|
|
150
150
|
darfix/tasks/projection.py,sha256=QXfiwRfqi51pwYLuQs9CCa8KCL8DViuSVGdfG9L3GcI,1170
|
|
151
|
-
darfix/tasks/rocking_curves.py,sha256=
|
|
151
|
+
darfix/tasks/rocking_curves.py,sha256=gI5yGHVs36xfm-CRlkUpNsw1VQ3owNHE_oIJ1Dtzga8,2864
|
|
152
152
|
darfix/tasks/roi.py,sha256=LpqRL7Bay9YyVKU5RtV3w_Y6H11hpSSWtxFr3ugRnfk,2185
|
|
153
153
|
darfix/tasks/rsm_histogram.py,sha256=tB_8w_oW-SYYq5w39MUPEjru4AN9DyKX0r6tGl41Dco,2443
|
|
154
154
|
darfix/tasks/shift_correction.py,sha256=8YNpq93Pcnl94rWPWLqwuH83lMdr4VG5ehDy3SdXlhY,1477
|
|
@@ -208,9 +208,9 @@ darfix/tests/tasks/test_data_copy.py,sha256=9-35CFsugV4LAPmjY9w14iH5UUrzWa77MQrF
|
|
|
208
208
|
darfix/tests/tasks/test_dimension_definition.py,sha256=RarT4IAOHi0p_LxrUeqKN4Tm21FqTCpPwa6ZKT5JqhM,1427
|
|
209
209
|
darfix/tests/tasks/test_hdf5_data_selection.py,sha256=NYlp0dwAIidR9XZc3zCKfEPSPw1UoFS2u4_Z1muc05g,2436
|
|
210
210
|
darfix/tests/tasks/test_hdf5_scans_concatenation.py,sha256=tiyMrcnOqrSp5ZwWSprIdb0MnBviOEAcRqs2ENAfKl8,6720
|
|
211
|
-
darfix/tests/tasks/test_rocking_curves.py,sha256=
|
|
211
|
+
darfix/tests/tasks/test_rocking_curves.py,sha256=Vsvbg629sEqyYffwWSDDEbLK03pCKo3cEHHUKyrRqSQ,2289
|
|
212
212
|
darfix/tests/tasks/test_weak_beam.py,sha256=9kBIY0Ak6Y9h7SsdOhaCZtYvN6uEWDG4218bWut7108,289
|
|
213
|
-
darfix-4.3.
|
|
213
|
+
darfix-4.3.2.dist-info/licenses/LICENSE,sha256=ls2LRs5fu3tWZ-jmhAP4_BAGP2jgVX58-UzQwJuLiT4,1214
|
|
214
214
|
orangecontrib/darfix/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
215
215
|
orangecontrib/darfix/tutorials/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
216
216
|
orangecontrib/darfix/tutorials/darfix_example1.ows,sha256=QwTYzaRrDMvyd1Qdg5J10kaYqVymRYtkQubwnedulDc,3323
|
|
@@ -226,7 +226,7 @@ orangecontrib/darfix/widgets/concatenateHDF5.py,sha256=mLqhhrjoS_glOZyvpz_gh-fzb
|
|
|
226
226
|
orangecontrib/darfix/widgets/datacopy.py,sha256=GR1V3zIjZVYnXOjoGc5_E4uFYpLpRv9MV1vvs5LIC4c,357
|
|
227
227
|
orangecontrib/darfix/widgets/datapartition.py,sha256=F9ODpTHF_Hdk30V1rc43S_W5zXbmW1NYIBVHIwwzUgA,1125
|
|
228
228
|
orangecontrib/darfix/widgets/dataset_widget_base.py,sha256=UxGKwpmMvseL6z-UNuAMM0_2d4OIWzliXlYLzV5uzLs,2969
|
|
229
|
-
orangecontrib/darfix/widgets/dimensions.py,sha256=
|
|
229
|
+
orangecontrib/darfix/widgets/dimensions.py,sha256=2tAKdZJ_n42oGRrc4uCKnLu_7Y8fqkpVlSG8G9cvSug,8983
|
|
230
230
|
orangecontrib/darfix/widgets/grainplot.py,sha256=VJZWMYHiGgaydRXDbytr5MNCDvJ6tOdOyHe6oDx9-4Y,2059
|
|
231
231
|
orangecontrib/darfix/widgets/hdf5dataselection.py,sha256=R6YYkyE0BhE9Dc0d5Fy4OltKO2MLYxMvIFijO2jqQOw,6773
|
|
232
232
|
orangecontrib/darfix/widgets/metadata.py,sha256=7sVyFGV9ASEdooYXctopqjh6wlAKukeAMceTNI2uReU,1073
|
|
@@ -234,7 +234,7 @@ orangecontrib/darfix/widgets/noiseremoval.py,sha256=7378oWN4OeS7GBZZAQ6rnwYID_Fo
|
|
|
234
234
|
orangecontrib/darfix/widgets/operation_widget_base.py,sha256=ktMlgy5I1ycfOCxjg4EQFTYFPFziK3oO7dLADyzdoO8,5541
|
|
235
235
|
orangecontrib/darfix/widgets/pca.py,sha256=clsyEHmMAInVrxbk2vwxpABrcbYQVE4QrBMVWBKz6Jk,1181
|
|
236
236
|
orangecontrib/darfix/widgets/projection.py,sha256=csyaGHI3ORfUQn0O-d3MWEdRlBb7sM4GlwAzmXThDtQ,2013
|
|
237
|
-
orangecontrib/darfix/widgets/rockingcurves.py,sha256=
|
|
237
|
+
orangecontrib/darfix/widgets/rockingcurves.py,sha256=J4dzImg_T-rqQJA2undX87uZ10NN8n-zqZ8-pMOa1m8,2245
|
|
238
238
|
orangecontrib/darfix/widgets/roiselection.py,sha256=I1hnxUSHBnEi9PwcvZuBbGT_0lP87ONdL-EVmj2lKfk,2244
|
|
239
239
|
orangecontrib/darfix/widgets/rsmhistogram.py,sha256=6wjhmIRKV8T7FgqR1ydvYl9NTOKFWq86ZwpNX4j-plg,3137
|
|
240
240
|
orangecontrib/darfix/widgets/shiftcorrection.py,sha256=SYN37b_gN8hVKniLVs06FB-1B_5P9WryTgLwhBVOUVY,1629
|
|
@@ -280,8 +280,8 @@ orangecontrib/darfix/widgets/icons/shift_correction.svg,sha256=Li6T-znhmuVRUgWxv
|
|
|
280
280
|
orangecontrib/darfix/widgets/icons/upload_edf.svg,sha256=qQM5ih6BMcxjwuIkifOkUPfccCPPCXYjfpm1jJWXTpk,6074
|
|
281
281
|
orangecontrib/darfix/widgets/icons/upload_hdf5.svg,sha256=P0DZcI2UhKyZbvMdSDbs0eQPZ5GfMmLq-wTmNe3l2Vk,6775
|
|
282
282
|
orangecontrib/darfix/widgets/icons/zsum.svg,sha256=GvpoosUjuYBX2hmPlzshWuV6M99qPCsy6Z39bT_HMCE,2853
|
|
283
|
-
darfix-4.3.
|
|
284
|
-
darfix-4.3.
|
|
285
|
-
darfix-4.3.
|
|
286
|
-
darfix-4.3.
|
|
287
|
-
darfix-4.3.
|
|
283
|
+
darfix-4.3.2.dist-info/METADATA,sha256=rj7SxcXqBduUcQdEfQZdv546JqHvKk-jN3_wchrhsLk,4568
|
|
284
|
+
darfix-4.3.2.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
285
|
+
darfix-4.3.2.dist-info/entry_points.txt,sha256=AhLc89kdVbo4CrOAF4_BqNHQG4QIl9SwrWeTZK-EnQA,348
|
|
286
|
+
darfix-4.3.2.dist-info/top_level.txt,sha256=-WsaAwUn9nIZn0GI71dBy6866rRgdJIs06crtWlPcH8,21
|
|
287
|
+
darfix-4.3.2.dist-info/RECORD,,
|
|
@@ -108,6 +108,7 @@ class DimensionWidgetOW(DatasetWidgetBase, ewokstaskclass=DimensionDefinition):
|
|
|
108
108
|
)
|
|
109
109
|
# Disable inputs only when the dim rows are added
|
|
110
110
|
self._widget.setEnableInputs(False)
|
|
111
|
+
self.buttons.button(qt.QDialogButtonBox.Ok).setEnabled(True)
|
|
111
112
|
else:
|
|
112
113
|
self._widget.setEnableInputs(True)
|
|
113
114
|
_logger.error(
|
|
@@ -142,8 +143,7 @@ class DimensionWidgetOW(DatasetWidgetBase, ewokstaskclass=DimensionDefinition):
|
|
|
142
143
|
raw_dims = self.get_task_input_value("dims")
|
|
143
144
|
if not is_missing_data(raw_dims):
|
|
144
145
|
dims = convert_dim_from_dict_to_Dimension(raw_dims)
|
|
145
|
-
|
|
146
|
-
self._widget.setDims(dims)
|
|
146
|
+
self._widget.setDims(dims)
|
|
147
147
|
self._widget.setZigzagMode(self.get_task_input_value("is_zigzag", False))
|
|
148
148
|
self._widget.setEnableInputs(False)
|
|
149
149
|
except ValueError as e:
|
|
@@ -52,6 +52,7 @@ class RockingCurvesWidgetOW(DatasetWidgetBase, ewokstaskclass=RockingCurves):
|
|
|
52
52
|
self._widget.updateDataset(dataset.dataset, maps)
|
|
53
53
|
|
|
54
54
|
def _launch_fit(self):
|
|
55
|
+
self.set_dynamic_input("save_maps", False)
|
|
55
56
|
self.set_default_input("int_thresh", self._widget.getIntensityThreshold())
|
|
56
57
|
self.set_default_input("method", self._widget.getFitMethod())
|
|
57
58
|
self.execute_ewoks_task()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|