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 CHANGED
@@ -6,5 +6,5 @@ __author__ = 'Steven J. Gomez Alvarado'
6
6
  __email__ = 'stevenjgomez@ucsb.edu'
7
7
  __copyright__ = f"2023, {__author__}"
8
8
  __license__ = 'MIT'
9
- __version__= '0.0.37'
9
+ __version__ = '0.0.39'
10
10
  __repo_url__ = 'https://github.com/stevenjgomez/nxs_analysis_tools'
@@ -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
- print('Symmetrizing ' + self.plane1 + ' planes...')
437
- for k, value in enumerate(q3):
438
- print(f'Symmetrizing {q3.nxname}={value:.02f}...', end='\r')
439
- data_symmetrized = self.plane1symmetrizer.symmetrize_2d(data[:, :, k])
440
- out_array[:, :, k] = data_symmetrized[data.signal].nxdata
441
- print('\nSymmetrized ' + self.plane1 + ' planes.')
442
-
443
- print('Symmetrizing ' + self.plane2 + ' planes...')
444
- for j, value in enumerate(q2):
445
- print(f'Symmetrizing {q2.nxname}={value:.02f}...', end='\r')
446
- data_symmetrized = self.plane2symmetrizer.symmetrize_2d(
447
- NXdata(NXfield(out_array[:, j, :], name=data.signal), (q1, q3))
448
- )
449
- out_array[:, j, :] = data_symmetrized[data.signal].nxdata
450
- print('\nSymmetrized ' + self.plane2 + ' planes.')
451
-
452
- print('Symmetrizing ' + self.plane3 + ' planes...')
453
- for i, value in enumerate(q1):
454
- print(f'Symmetrizing {q1.nxname}={value:.02f}...', end='\r')
455
- data_symmetrized = self.plane3symmetrizer.symmetrize_2d(
456
- NXdata(NXfield(out_array[i, :, :], name=data.signal), (q2, q3))
457
- )
458
- out_array[i, :, :] = data_symmetrized[data.signal].nxdata
459
- print('\nSymmetrized ' + self.plane3 + ' planes.')
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[1]), name='z'),
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.37
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.10.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,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (74.0.0)
2
+ Generator: setuptools (74.1.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -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,,