easyreflectometry 1.3.1a0__tar.gz → 1.3.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.
Files changed (53) hide show
  1. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/PKG-INFO +1 -1
  2. easyreflectometry-1.3.2/src/easyreflectometry/__version__.py +1 -0
  3. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/data/measurement.py +39 -4
  4. easyreflectometry-1.3.1a0/src/easyreflectometry/__version__.py +0 -1
  5. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/.gitignore +0 -0
  6. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/AUTHORS.rst +0 -0
  7. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/LICENSE +0 -0
  8. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/README.md +0 -0
  9. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/pyproject.toml +0 -0
  10. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/__init__.py +0 -0
  11. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/calculators/__init__.py +0 -0
  12. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/calculators/bornagain/calculator.py +0 -0
  13. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/calculators/bornagain/wrapper.py +0 -0
  14. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/calculators/calculator_base.py +0 -0
  15. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/calculators/factory.py +0 -0
  16. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/calculators/refl1d/calculator.py +0 -0
  17. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/calculators/refl1d/wrapper.py +0 -0
  18. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/calculators/refnx/calculator.py +0 -0
  19. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/calculators/refnx/wrapper.py +0 -0
  20. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/calculators/wrapper_base.py +0 -0
  21. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/data/__init__.py +0 -0
  22. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/data/data_store.py +0 -0
  23. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/fitting.py +0 -0
  24. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/main.py +0 -0
  25. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/model/__init__.py +0 -0
  26. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/model/model.py +0 -0
  27. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/model/model_collection.py +0 -0
  28. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/model/resolution_functions.py +0 -0
  29. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/plot.py +0 -0
  30. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/project.py +0 -0
  31. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/sample/__init__.py +0 -0
  32. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/sample/assemblies/base_assembly.py +0 -0
  33. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/sample/assemblies/gradient_layer.py +0 -0
  34. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/sample/assemblies/multilayer.py +0 -0
  35. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/sample/assemblies/repeating_multilayer.py +0 -0
  36. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/sample/assemblies/surfactant_layer.py +0 -0
  37. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/sample/base_core.py +0 -0
  38. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/sample/collections/base_collection.py +0 -0
  39. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/sample/collections/layer_collection.py +0 -0
  40. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/sample/collections/material_collection.py +0 -0
  41. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/sample/collections/sample.py +0 -0
  42. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/sample/elements/layers/layer.py +0 -0
  43. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/sample/elements/layers/layer_area_per_molecule.py +0 -0
  44. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/sample/elements/materials/material.py +0 -0
  45. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/sample/elements/materials/material_density.py +0 -0
  46. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/sample/elements/materials/material_mixture.py +0 -0
  47. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/sample/elements/materials/material_solvated.py +0 -0
  48. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/special/calculations.py +0 -0
  49. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/special/parsing.py +0 -0
  50. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/summary/__init__.py +0 -0
  51. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/summary/html_templates.py +0 -0
  52. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/summary/summary.py +0 -0
  53. {easyreflectometry-1.3.1a0 → easyreflectometry-1.3.2}/src/easyreflectometry/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: easyreflectometry
3
- Version: 1.3.1a0
3
+ Version: 1.3.2
4
4
  Summary: A reflectometry python package built on the EasyScience framework.
5
5
  Project-URL: homepage, https://docs.easyreflectometry.org
6
6
  Project-URL: documentation, https://docs.easyreflectometry.org
@@ -0,0 +1 @@
1
+ __version__ = '1.3.2'
@@ -74,13 +74,48 @@ def _load_txt(fname: Union[TextIO, str]) -> sc.DataGroup:
74
74
 
75
75
  :param fname: The path for the file to be read.
76
76
  """
77
- f_data = np.loadtxt(fname)
78
- data = {'R_0': sc.array(dims=['Qz_0'], values=f_data[:, 1], variances=np.square(f_data[:, 2]))}
77
+ # fname can have either a space or a comma as delimiter
78
+ # Determine the delimiter used in the file
79
+ delimiter = None
80
+ with open(fname, 'r') as f:
81
+ # find first non-comment and non-empty line
82
+ for line in f:
83
+ if line.strip() and not line.startswith('#'):
84
+ break
85
+ first_line = line
86
+ if ',' in first_line:
87
+ delimiter = ','
88
+
89
+ try:
90
+ # First load only the data to check column count
91
+ data = np.loadtxt(fname, delimiter=delimiter, comments='#')
92
+ if data.ndim == 1:
93
+ # Handle single row case
94
+ num_columns = len(data)
95
+ else:
96
+ num_columns = data.shape[1]
97
+
98
+ # Verify minimum column requirement
99
+ if num_columns < 3:
100
+ raise ValueError(f"File must contain at least 3 columns (found {num_columns})")
101
+
102
+ # Now unpack the data based on column count
103
+ if num_columns >= 4:
104
+ x, y, e, xe = np.loadtxt(fname, delimiter=delimiter, comments='#', unpack=True)
105
+ else: # 3 columns
106
+ x, y, e = np.loadtxt(fname, delimiter=delimiter, comments='#', unpack=True)
107
+ xe = np.zeros_like(x)
108
+
109
+ except (ValueError, IOError) as error:
110
+ # Re-raise with more descriptive message
111
+ raise ValueError(f"Failed to load data from {fname}: {str(error)}") from error
112
+
113
+ data = {'R_0': sc.array(dims=['Qz_0'], values=y, variances=np.square(e))}
79
114
  coords = {
80
115
  data['R_0'].dims[0]: sc.array(
81
116
  dims=['Qz_0'],
82
- values=f_data[:, 0],
83
- variances=np.square(f_data[:, 3]),
117
+ values=x,
118
+ variances=np.square(xe),
84
119
  unit=sc.Unit('1/angstrom'),
85
120
  )
86
121
  }
@@ -1 +0,0 @@
1
- __version__ = '1.3.1a'