nxs-analysis-tools 0.0.37__py3-none-any.whl → 0.0.39__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.
Potentially problematic release.
This version of nxs-analysis-tools might be problematic. Click here for more details.
- _meta/__init__.py +1 -1
- nxs_analysis_tools/pairdistribution.py +39 -32
- {nxs_analysis_tools-0.0.37.dist-info → nxs_analysis_tools-0.0.39.dist-info}/METADATA +2 -2
- nxs_analysis_tools-0.0.39.dist-info/RECORD +11 -0
- {nxs_analysis_tools-0.0.37.dist-info → nxs_analysis_tools-0.0.39.dist-info}/WHEEL +1 -1
- nxs_analysis_tools-0.0.37.dist-info/RECORD +0 -11
- {nxs_analysis_tools-0.0.37.dist-info → nxs_analysis_tools-0.0.39.dist-info}/LICENSE +0 -0
- {nxs_analysis_tools-0.0.37.dist-info → nxs_analysis_tools-0.0.39.dist-info}/top_level.txt +0 -0
_meta/__init__.py
CHANGED
|
@@ -433,30 +433,33 @@ class Symmetrizer3D:
|
|
|
433
433
|
q1, q2, q3 = self.q1, self.q2, self.q3
|
|
434
434
|
out_array = np.zeros(data[data.signal].shape)
|
|
435
435
|
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
print(
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
436
|
+
if self.plane1symmetrizer.theta_max:
|
|
437
|
+
print('Symmetrizing ' + self.plane1 + ' planes...')
|
|
438
|
+
for k, value in enumerate(q3):
|
|
439
|
+
print(f'Symmetrizing {q3.nxname}={value:.02f}...', end='\r')
|
|
440
|
+
data_symmetrized = self.plane1symmetrizer.symmetrize_2d(data[:, :, k])
|
|
441
|
+
out_array[:, :, k] = data_symmetrized[data.signal].nxdata
|
|
442
|
+
print('\nSymmetrized ' + self.plane1 + ' planes.')
|
|
443
|
+
|
|
444
|
+
if self.plane2symmetrizer.theta_max:
|
|
445
|
+
print('Symmetrizing ' + self.plane2 + ' planes...')
|
|
446
|
+
for j, value in enumerate(q2):
|
|
447
|
+
print(f'Symmetrizing {q2.nxname}={value:.02f}...', end='\r')
|
|
448
|
+
data_symmetrized = self.plane2symmetrizer.symmetrize_2d(
|
|
449
|
+
NXdata(NXfield(out_array[:, j, :], name=data.signal), (q1, q3))
|
|
450
|
+
)
|
|
451
|
+
out_array[:, j, :] = data_symmetrized[data.signal].nxdata
|
|
452
|
+
print('\nSymmetrized ' + self.plane2 + ' planes.')
|
|
453
|
+
|
|
454
|
+
if self.plane3symmetrizer.theta_max:
|
|
455
|
+
print('Symmetrizing ' + self.plane3 + ' planes...')
|
|
456
|
+
for i, value in enumerate(q1):
|
|
457
|
+
print(f'Symmetrizing {q1.nxname}={value:.02f}...', end='\r')
|
|
458
|
+
data_symmetrized = self.plane3symmetrizer.symmetrize_2d(
|
|
459
|
+
NXdata(NXfield(out_array[i, :, :], name=data.signal), (q2, q3))
|
|
460
|
+
)
|
|
461
|
+
out_array[i, :, :] = data_symmetrized[data.signal].nxdata
|
|
462
|
+
print('\nSymmetrized ' + self.plane3 + ' planes.')
|
|
460
463
|
|
|
461
464
|
out_array[out_array < 0] = 0
|
|
462
465
|
|
|
@@ -1028,11 +1031,11 @@ class Interpolator:
|
|
|
1028
1031
|
"""
|
|
1029
1032
|
data = self.data
|
|
1030
1033
|
tukey_H = np.tile(
|
|
1031
|
-
scipy.signal.tukey(len(data[data.axes[0]]), alpha=tukey_alphas[0])[:, None, None],
|
|
1034
|
+
scipy.signal.windows.tukey(len(data[data.axes[0]]), alpha=tukey_alphas[0])[:, None, None],
|
|
1032
1035
|
(1, len(data[data.axes[1]]), len(data[data.axes[2]]))
|
|
1033
1036
|
)
|
|
1034
1037
|
tukey_K = np.tile(
|
|
1035
|
-
scipy.signal.tukey(len(data[data.axes[1]]), alpha=tukey_alphas[1])[None, :, None],
|
|
1038
|
+
scipy.signal.windows.tukey(len(data[data.axes[1]]), alpha=tukey_alphas[1])[None, :, None],
|
|
1036
1039
|
(len(data[data.axes[0]]), 1, len(data[data.axes[2]]))
|
|
1037
1040
|
)
|
|
1038
1041
|
window = tukey_H * tukey_K
|
|
@@ -1041,7 +1044,7 @@ class Interpolator:
|
|
|
1041
1044
|
gc.collect()
|
|
1042
1045
|
|
|
1043
1046
|
tukey_L = np.tile(
|
|
1044
|
-
scipy.signal.tukey(len(data[data.axes[2]]), alpha=tukey_alphas[2])[None, None, :],
|
|
1047
|
+
scipy.signal.windows.tukey(len(data[data.axes[2]]), alpha=tukey_alphas[2])[None, None, :],
|
|
1045
1048
|
(len(data[data.axes[0]]), len(data[data.axes[1]]), 1))
|
|
1046
1049
|
window = window * tukey_L
|
|
1047
1050
|
|
|
@@ -1070,11 +1073,11 @@ class Interpolator:
|
|
|
1070
1073
|
L_ = data[data.axes[2]]
|
|
1071
1074
|
|
|
1072
1075
|
tukey_H = np.tile(
|
|
1073
|
-
scipy.signal.tukey(len(data[data.axes[0]]), alpha=tukey_alphas[0])[:, None, None],
|
|
1076
|
+
scipy.signal.windows.tukey(len(data[data.axes[0]]), alpha=tukey_alphas[0])[:, None, None],
|
|
1074
1077
|
(1, len(data[data.axes[1]]), len(data[data.axes[2]]))
|
|
1075
1078
|
)
|
|
1076
1079
|
tukey_K = np.tile(
|
|
1077
|
-
scipy.signal.tukey(len(data[data.axes[1]]), alpha=tukey_alphas[1])[None, :, None],
|
|
1080
|
+
scipy.signal.windows.tukey(len(data[data.axes[1]]), alpha=tukey_alphas[1])[None, :, None],
|
|
1078
1081
|
(len(data[data.axes[0]]), 1, len(data[data.axes[2]]))
|
|
1079
1082
|
)
|
|
1080
1083
|
window = tukey_H * tukey_K
|
|
@@ -1088,7 +1091,7 @@ class Interpolator:
|
|
|
1088
1091
|
np.tile(
|
|
1089
1092
|
np.concatenate(
|
|
1090
1093
|
(np.zeros(truncation)[:, None, None],
|
|
1091
|
-
scipy.signal.tukey(len(H_) - 2 * truncation,
|
|
1094
|
+
scipy.signal.windows.tukey(len(H_) - 2 * truncation,
|
|
1092
1095
|
alpha=tukey_alphas[2])[:, None, None],
|
|
1093
1096
|
np.zeros(truncation)[:, None, None])),
|
|
1094
1097
|
(1, len(K_), len(L_))
|
|
@@ -1102,7 +1105,7 @@ class Interpolator:
|
|
|
1102
1105
|
gc.collect()
|
|
1103
1106
|
|
|
1104
1107
|
tukey_L = np.tile(
|
|
1105
|
-
scipy.signal.tukey(len(data[data.axes[2]]), alpha=tukey_alphas[3])[None, None, :],
|
|
1108
|
+
scipy.signal.windows.tukey(len(data[data.axes[2]]), alpha=tukey_alphas[3])[None, None, :],
|
|
1106
1109
|
(len(data[data.axes[0]]), len(data[data.axes[1]]), 1)
|
|
1107
1110
|
)
|
|
1108
1111
|
window = window * tukey_L
|
|
@@ -1210,7 +1213,7 @@ def fourier_transform_nxdata(data):
|
|
|
1210
1213
|
fft = NXdata(NXfield(fft_array, name='dPDF'),
|
|
1211
1214
|
(NXfield(np.linspace(-0.5 / H_step, 0.5 / H_step, padded.shape[0]), name='x'),
|
|
1212
1215
|
NXfield(np.linspace(-0.5 / K_step, 0.5 / K_step, padded.shape[1]), name='y'),
|
|
1213
|
-
NXfield(np.linspace(-0.5 / L_step, 0.5 / L_step, padded.shape[
|
|
1216
|
+
NXfield(np.linspace(-0.5 / L_step, 0.5 / L_step, padded.shape[2]), name='z'),
|
|
1214
1217
|
)
|
|
1215
1218
|
)
|
|
1216
1219
|
return fft
|
|
@@ -1289,6 +1292,10 @@ class DeltaPDF:
|
|
|
1289
1292
|
self.data = data
|
|
1290
1293
|
self.puncher.set_data(data)
|
|
1291
1294
|
self.interpolator.set_data(data)
|
|
1295
|
+
self.tapered = data
|
|
1296
|
+
self.padded = data
|
|
1297
|
+
self.interpolated = data
|
|
1298
|
+
self.punched = data
|
|
1292
1299
|
|
|
1293
1300
|
def set_lattice_params(self, lattice_params):
|
|
1294
1301
|
"""
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: nxs-analysis-tools
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.39
|
|
4
4
|
Summary: Reduce and transform nexus format (.nxs) scattering data.
|
|
5
5
|
Author-email: "Steven J. Gomez Alvarado" <stevenjgomez@ucsb.edu>
|
|
6
6
|
License: MIT License
|
|
@@ -50,7 +50,7 @@ Requires-Dist: nexusformat>=1.0.1
|
|
|
50
50
|
Requires-Dist: lmfit>=1.2.1
|
|
51
51
|
Requires-Dist: astropy>=5.3.4
|
|
52
52
|
Requires-Dist: pyfftw>=0.13.1
|
|
53
|
-
Requires-Dist: scipy>=1.
|
|
53
|
+
Requires-Dist: scipy>=1.14.1
|
|
54
54
|
Provides-Extra: dev
|
|
55
55
|
Requires-Dist: build>=0.8.0; extra == "dev"
|
|
56
56
|
Requires-Dist: furo>=2022.6.21; extra == "dev"
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
_meta/__init__.py,sha256=dCtE47jAbdBWpjNKN_CjDYSYI-hSlE17bPC-eOua6bE,352
|
|
2
|
+
nxs_analysis_tools/__init__.py,sha256=bxbTLpIcKasH3fuRZOvJ9zeu7IBBju82mOTgUV4ZqHE,530
|
|
3
|
+
nxs_analysis_tools/chess.py,sha256=GUW08BcDUGD88MPZCl4yJTQp4hwd9tVNTJN_afNSUUo,24339
|
|
4
|
+
nxs_analysis_tools/datareduction.py,sha256=e__mBGZIpJ-_-Dr6-T9hJURJazFnBy3PoWfwRxOra4U,41848
|
|
5
|
+
nxs_analysis_tools/fitting.py,sha256=vPx75lKvm5pWOGBtRtff8k6J5dA6kRk3EJyzxCH5Tyk,8809
|
|
6
|
+
nxs_analysis_tools/pairdistribution.py,sha256=2Pp9_50JhteGp2vGSZWnt7cbVHRsaHANj56zgWdnzJI,57939
|
|
7
|
+
nxs_analysis_tools-0.0.39.dist-info/LICENSE,sha256=tdnoYVH1-ogW_5-gGs9bK-IkCamH1ATJqrdL37kWTHk,1102
|
|
8
|
+
nxs_analysis_tools-0.0.39.dist-info/METADATA,sha256=UCKCYGt2XwKCRedk4UFGeHl8tWuHpBf0b2oWdHXzoIo,3895
|
|
9
|
+
nxs_analysis_tools-0.0.39.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
|
|
10
|
+
nxs_analysis_tools-0.0.39.dist-info/top_level.txt,sha256=8U000GNPzo6T6pOMjRdgOSO5heMzLMGjkxa1CDtyMHM,25
|
|
11
|
+
nxs_analysis_tools-0.0.39.dist-info/RECORD,,
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
_meta/__init__.py,sha256=uNldaTslIy-elGWjLbMXnzV9xexcZq-jipe84Z40WOQ,351
|
|
2
|
-
nxs_analysis_tools/__init__.py,sha256=bxbTLpIcKasH3fuRZOvJ9zeu7IBBju82mOTgUV4ZqHE,530
|
|
3
|
-
nxs_analysis_tools/chess.py,sha256=GUW08BcDUGD88MPZCl4yJTQp4hwd9tVNTJN_afNSUUo,24339
|
|
4
|
-
nxs_analysis_tools/datareduction.py,sha256=e__mBGZIpJ-_-Dr6-T9hJURJazFnBy3PoWfwRxOra4U,41848
|
|
5
|
-
nxs_analysis_tools/fitting.py,sha256=vPx75lKvm5pWOGBtRtff8k6J5dA6kRk3EJyzxCH5Tyk,8809
|
|
6
|
-
nxs_analysis_tools/pairdistribution.py,sha256=9Vim6LPqlcx70KLxRSIquoXg9peXNJEdvjgzHkJOVI0,57537
|
|
7
|
-
nxs_analysis_tools-0.0.37.dist-info/LICENSE,sha256=tdnoYVH1-ogW_5-gGs9bK-IkCamH1ATJqrdL37kWTHk,1102
|
|
8
|
-
nxs_analysis_tools-0.0.37.dist-info/METADATA,sha256=2ftQxthot1mnEhNmVMI7UKwGlKuBiLR7ZEcvsfw4lu0,3895
|
|
9
|
-
nxs_analysis_tools-0.0.37.dist-info/WHEEL,sha256=UvcQYKBHoFqaQd6LKyqHw9fxEolWLQnlzP0h_LgJAfI,91
|
|
10
|
-
nxs_analysis_tools-0.0.37.dist-info/top_level.txt,sha256=8U000GNPzo6T6pOMjRdgOSO5heMzLMGjkxa1CDtyMHM,25
|
|
11
|
-
nxs_analysis_tools-0.0.37.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|