agilent: For Agilent chromatograms

Extractors for data files generated by various proprietary Agilent software.

yadg.extractors.agilent.ch module

Extractor of Agilent OpenLab binary signal trace files (.ch and .it). Currently supports version “179” of the files. Version information is defined in the magic_values (parameters & metadata) and data_dtypes (data) dictionaries.

Adapted from ImportAgilent.m and aston.

Usage

Available since yadg-4.0.

pydantic model dgbowl_schemas.yadg.dataschema_6_0.filetype.Agilent_ch
Config:
  • extra: str = forbid

Validators:

field filetype: Literal['agilent.ch'] [Required]

Schema

xarray.DataTree:
  {{ detector_name }}:
    coords:
      uts:            !!float               # Unix timestamp
      elution_time:   !!float               # Elution time
    data_vars:
      signal:         (uts, elution_time)   # Signal data

Metadata

The following metadata is extracted:

  • sampleid: Sample name.

  • username: User name used to generate the file.

  • method: Name of the chromatographic method.

  • version: Version of the CH file (only “179” is currently supported.)

Notes on file structure

The following magic values are used: .. code

0x0000 "version magic"
0x0108 "data offset"
0x011a "x-axis minimum (ms)"
0x011e "x-axis maximum (ms)"
0x035a "sample ID"
0x0559 "description"
0x0758 "username"
0x0957 "timestamp"
0x09e5 "instrument name"
0x09bc "inlet"
0x0a0e "method"
0x104c "y-axis unit"
0x1075 "detector name"
0x1274 "y-axis intercept"
0x127c "y-axis slope"

Data is stored in a consecutive set of <f8, starting at the offset (calculated as offset = ("data offset" - 1) * 512) until the end of the file.

Uncertainties

Uncertainty in signal is the y-axis slope.

Uncertainty in elution_time is the x-axis step size.

Code author: Peter Kraus

yadg.extractors.agilent.ch.extract(*, fn: str, timezone: str, **kwargs: dict) DataTree

yadg.extractors.agilent.csv module

Extractor of Agilent Chemstation Chromtab tabulated data files. This file format may include multiple timesteps consisting of several traces each in a single CSV file. It contains a header section for each timestep, followed by a detector name, and a sequence of “X, Y” datapoints, which are stored as elution_time and signal.

Warning

It is not guaranteed that the X-axis of the chromatogram (i.e. elution_time) is consistent between the timesteps of the same trace. The traces are expanded to the length of the longest trace, and the shorter traces are padded with NaNs.

Usage

Available since yadg-4.0.

pydantic model dgbowl_schemas.yadg.dataschema_6_0.filetype.Agilent_csv
Config:
  • extra: str = forbid

Validators:

field filetype: Literal['agilent.csv'] [Required]

Schema

xarray.DataTree:
  {{ detector_name }}:
    coords:
      uts:            !!float               # Unix timestamp
      elution_time:   !!float               # Elution time
    data_vars:
      signal:         (uts, elution_time)   # Signal data

Metadata

The following metadata is extracted:

  • sampleid: Sample name.

  • datafile: Original path of the data file.

Uncertainties

All uncertainties are derived from the string representation of the floats.

Code author: Peter Kraus

yadg.extractors.agilent.csv.extract(*, fn: str, encoding: str, timezone: str, **kwargs: dict) DataTree

yadg.extractors.agilent.dx module

Extractor of Agilent OpenLab DX archives. This is a wrapper parser which unzips the provided DX file, and then uses the yadg.extractors.agilent.ch extractor to parse every CH file present in the archive. The IT files in the archive are currently ignored.

Note

Currently the timesteps from multiple CH files (if present) are appended in the timesteps array without any further sorting.

Usage

Available since yadg-4.0.

pydantic model dgbowl_schemas.yadg.dataschema_6_0.filetype.Agilent_dx
Config:
  • extra: str = forbid

Validators:

field filetype: Literal['agilent.dx'] [Required]

Schema

xarray.DataTree:
  {{ detector_name }}:
    coords:
      uts:            !!float               # Unix timestamp
      elution_time:   !!float               # Elution time
    data_vars:
      signal:         (uts, elution_time)   # Signal data

Metadata

The following metadata is extracted:

  • sampleid: Sample name.

  • username: User name used to generate the file.

  • method: Name of the chromatographic method.

  • version: Version of the CH file (only “179” is currently supported.)

Code author: Peter Kraus

yadg.extractors.agilent.dx.extract(*, fn: str, timezone: str, **kwargs: dict) DataTree