Dataset structure

The dataset is an essential concept of the ASpecD framework, as it abstracts the different vendor formats and combines both, numerical data and metadata, in an easily accessible way. Even more, the general structure of a dataset allows to compare data of entirely different origin (read: spectroscopic method), as long as their axes are compatible.

Developers of both, the ASpecD framework and even more of packages built upon the ASpecD framework, frequently need to get an overview of the structure of the dataset and its different subclasses, namely the ExperimentalDataset and CalculatedDataset. Whereas the API documentation of each class, aspecd.dataset.ExperimentalDataset and aspecd.dataset.CalculatedDataset, provides a lot of information, a simple and accessible presentation of the dataset structure is often what is needed.

Therefore, the structure of each of the dataset classes is provided below in YAML format, automatically generated from the actual source code.

Basic dataset

data:
  calculated: false
  data:
    type: numpy.ndarray
    dtype: float64
    array: []
  axes:
  - quantity: ''
    symbol: ''
    unit: ''
    label: ''
    values:
      type: numpy.ndarray
      dtype: float64
      array: []
    index: []
  - quantity: ''
    symbol: ''
    unit: ''
    label: ''
    values:
      type: numpy.ndarray
      dtype: float64
      array: []
    index: []
_origdata:
  calculated: false
  data:
    type: numpy.ndarray
    dtype: float64
    array: []
  axes:
  - quantity: ''
    symbol: ''
    unit: ''
    label: ''
    values:
      type: numpy.ndarray
      dtype: float64
      array: []
    index: []
  - quantity: ''
    symbol: ''
    unit: ''
    label: ''
    values:
      type: numpy.ndarray
      dtype: float64
      array: []
    index: []
device_data: {}
metadata: {}
history: []
_history_pointer: -1
analyses: []
annotations: []
representations: []
id: ''
label: ''
references: []
tasks: []
_package_name: aspecd

Experimental dataset

While generally, the propery device_data is empty when creating a dataset object, here, the structure of the device_data is shown explicitly for one device named example. For more details regarding device data, see the documentation in the dataset module.

data:
  calculated: false
  data:
    type: numpy.ndarray
    dtype: float64
    array: []
  axes:
  - quantity: ''
    symbol: ''
    unit: ''
    label: ''
    values:
      type: numpy.ndarray
      dtype: float64
      array: []
    index: []
  - quantity: ''
    symbol: ''
    unit: ''
    label: ''
    values:
      type: numpy.ndarray
      dtype: float64
      array: []
    index: []
_origdata:
  calculated: false
  data:
    type: numpy.ndarray
    dtype: float64
    array: []
  axes:
  - quantity: ''
    symbol: ''
    unit: ''
    label: ''
    values:
      type: numpy.ndarray
      dtype: float64
      array: []
    index: []
  - quantity: ''
    symbol: ''
    unit: ''
    label: ''
    values:
      type: numpy.ndarray
      dtype: float64
      array: []
    index: []
device_data:
  example:
    calculated: false
    metadata:
      label: ''
    data:
      type: numpy.ndarray
      dtype: float64
      array: []
    axes:
    - quantity: ''
      symbol: ''
      unit: ''
      label: ''
      values:
        type: numpy.ndarray
        dtype: float64
        array: []
      index: []
    - quantity: ''
      symbol: ''
      unit: ''
      label: ''
      values:
        type: numpy.ndarray
        dtype: float64
        array: []
      index: []
metadata:
  measurement:
    start: null
    end: null
    purpose: ''
    operator: ''
    labbook_entry: ''
  sample:
    name: ''
    id: null
    loi: ''
  temperature_control:
    temperature:
      unit: ''
      dimension: ''
      name: ''
      value: 0.0
    controller: ''
history: []
_history_pointer: -1
analyses: []
annotations: []
representations: []
id: ''
label: ''
references: []
tasks: []
_package_name: aspecd

Calculated dataset

data:
  calculated: true
  data:
    type: numpy.ndarray
    dtype: float64
    array: []
  axes:
  - quantity: ''
    symbol: ''
    unit: ''
    label: ''
    values:
      type: numpy.ndarray
      dtype: float64
      array: []
    index: []
  - quantity: ''
    symbol: ''
    unit: ''
    label: ''
    values:
      type: numpy.ndarray
      dtype: float64
      array: []
    index: []
_origdata:
  calculated: true
  data:
    type: numpy.ndarray
    dtype: float64
    array: []
  axes:
  - quantity: ''
    symbol: ''
    unit: ''
    label: ''
    values:
      type: numpy.ndarray
      dtype: float64
      array: []
    index: []
  - quantity: ''
    symbol: ''
    unit: ''
    label: ''
    values:
      type: numpy.ndarray
      dtype: float64
      array: []
    index: []
device_data: {}
metadata:
  calculation:
    type: ''
    parameters: {}
history: []
_history_pointer: -1
analyses: []
annotations: []
representations: []
id: ''
label: ''
references: []
tasks: []
_package_name: aspecd