DataObjects.SecSaxsData#

DataObjects.SecSacsData.py

Copyright (c) 2024-2025, SAXS Team, KEK-PF

class SecSaxsData(folder=None, object_list=None, uv_only=False, xr_only=False, trimmed=False, remove_bubbles=False, beamline_info=None, mapping=None, time_initialized=None, datafiles=None, debug=False)#

Bases: object

A class to represent a SEC-SAXS data object.

ssd = SecSacsData(data_folder)

Creates a SEC-SAXS data object.

Parameters:
  • folder (str, optional) – Specifies the folder path where the data are stored. It is required if the data_list parameter is ommitted.

  • object_list (list, optional) – A list which includes [xr_data, uv_data] in this order to be used as corresponding data items. It is required if the folder parameter is ommitted.

  • uv_only (bool, optional) – If it is True, only UV data will be loaded to suppress unnecessary data access.

  • xr_only (bool, optional) – If it is True, only XR data will be loaded to suppress unnecessary data access.

  • trimmed (bool, optional) – If it is True, the data will be treated as trimmed.

  • remove_bubbles (bool, optional) – If it is True, bubbles will be removed from the data.

  • beamline_info (BeamlineInfo, optional) – If specified, the beamline information will be used.

  • mapping (MappingInfo, optional) – If specified, the mapping information will be used.

Examples

>>> ssd = SecSacsData('the_data_folder')
>>> uv_only_ssd = SecSacsData('the_data_folder', uv_only=True)
plot_3d(view_init=None)#

Plots a pair of 3D figures of UV and XR data.

Parameters:
  • view_init (dict, optional) – A dictionary which specifies the view_init parameters. The default is dict(elev=30, azim=-60) as of matplotlib 3.10.

  • view_arrows (bool, optional) – If it is True, the 2D view arrows are drawn on the 3D plot. One of the arrows shows the elutional view, while the other shows the spectral view. The default is False.

  • Rturns

  • -------

  • result (PlotResult) –

    A PlotResult object which contains the following attributes.

    fig: Figure axes: Axes

plot_compact()#

Plots a pair of compact figures of UV and XR data.

Parameters:

None

Returns:

result – A PlotResult object which contains the following attributes.

fig: Figure axes: Axes

Return type:

PlotResult

make_trimming(xr_qr=None, xr_mt=None, uv_wr=None, uv_mt=None, uv_fc=None)#

Returns a pair of indeces which should be used as a slice for the spectral axis to trim away unusable UV data regions.

Parameters:
  • xr_qr

  • xr_mt

  • uv_wr

  • uv_mt

  • uv_fc

See also

ssd.copy

Examples

>>> trim = ssd.make_trimming()
plot_trimming(trim)#

Plots a set of trimmming info.

Parameters:
  • trim (TrimmingInfo or dict, optional) – The trimming information to be used for the plot.

  • baseline (bool, optional) – If it is True, the baseline will be plotted.

  • title (str, optional) – If specified, add a super title to the plot.

  • return_fig (bool, optional) – If it is True, returns the figure object.

Returns:

result – A PlotResult object which contains the following attributes.

fig: Figure axes: Axes trimming : TrimmingInfo

Return type:

PlotResult

copy(xr_slices=None, uv_slices=None)#

Returns a deep copy of this object.

Parameters:
  • xr_slices ((xr_islice, xr_jslice), optional.) – If specified, the returned copy contains the deep copies of elements xrM[xr_islice:xr_jslice] and qv[xr_islice]. Otherwise, the returned copy contains the deep copies of elements xrM and qv.

  • uv_slices ((uv_islice, uv_jslice), optional.) – If specified, the returned copy contains the deep copies of elements uvM[uv_islice:uv_jslice] and wv[uv_islice]. Otherwise, the returned copy contains the deep copies of elements uvM and wv.

Examples

>>> copied_ssd = ssd.copy()
>>> trimming = ssd.make_trimming()
>>> trimmed_ssd = ssd.copy(xr_slices=trimming.xr_slices, uv_slices=trimming.uv_slices)
trimmed_copy(trimming=None, jranges=None, mapping=None)#
Parameters:
  • trimming (TrimmingInfo, optional) – If specified, the trimming information will be used for the copy.

  • jranges (tuple of (double, double), optional) – The ranges to apply for trimming in the form of [(start1, end1), (start2, end2)].

  • mapping (MappingInfo, optional) – If specified, the mapping information will be used for the copy. It must be provided if jranges is specified.

Returns:

A trimmed copy of the SSD object with the specified trimming specification applied.

Return type:

SecSaxsData

set_baseline_method(method)#

Sets the baseline method to be used for the baseline correction.

Parameters:

method (str or (str, str)) – Specifies the baseline method to be used. If it is a string, it will be used for both XR and UV data. If it is a tuple of two strings, the first string will be used for XR data and the second string will be used for UV data.

Return type:

None

get_baseline_method()#

Returns the baseline method used for the baseline correction.

Parameters:

None

Returns:

method – A tuple of two strings which contains the baseline methods used for XR and UV data. If the baseline method is the same for both XR and UV data, it returns a single string instead of a tuple.

Return type:

(str, str)

corrected_copy()#

Returns a deep copy of this object which has been corrected subtracting the baseline from the original data.

Parameters:

debug (bool, optional) – If True, enables debug mode for more verbose output.

estimate_mapping(debug=False)#
get_mapping()#

Returns the mapping information object.

Parameters:

None

Returns:

mapping – A MappingInfo object which contains the mapping information. If the mapping information is not available, returns None.

Return type:

MappingInfo

get_concfactor()#
quick_decomposition()#

Returns a lowrank information object.

Parameters:
  • num_components (int, optional) – Specifies the number of components which also implies the SVD rank used to denoise the matrix data.

  • curve_model (str, optional) – Specifies the elution model to be used. The default is ‘egh’.

inspect_ip_effect()#
Parameters:

None

get_uv_device_id()#
get_beamline_name()#
export(folder, prefix=None)#

Exports the data to a file.

Parameters:
  • folder (str) – Specifies the folder path where the data will be exported.

  • prefix (str, optional) – Specifies the filename prefix to be used for the exported data. If it is None, “PREFIX_” will be used.

  • fmt (str, optional) – Specifies the format to be used for the exported data. The default is ‘%.18e’.

  • xr_only (bool, optional) – If True, only export XR data.

  • uv_only (bool, optional) – If True, only export UV data.

Returns:

filepath – The full path of the exported file.

Return type:

str