Skip to main content
`Ctrl`+`K`

# Quadstar (SAC, SBC)

RosettaSciIO can read Balzers/Pfeiffer Quadstar binary files from Quadstar software (version 4.x and later):

- `.sac` (Scan Analog): one or more analog traces over time.

- `.sbc` (Scan Bargraph): peak/bargraph cycles with mass labels and intensities.

For `.sac` files, each trace is returned as a separate signal dictionary. For `.sbc` files, a single signal dictionary is returned.

In both cases, the signal axis corresponds to mass-to-charge ratio (`m/z`), and the navigation axis corresponds to measurement cycles/time when multiple cycles are present.

Note

Lazy loading is currently not supported for Quadstar files.

## API functions

rsciio.quadstar.file_reader(filename, lazy=False, use_uniform_signal_axis=True)

  Read mass spectrometry data from a Balzers/Pfeiffer Quadstar SAC or SBC file.

  For SAC files, each trace (channel) is returned as a separate signal dictionary. For SBC files, a single signal dictionary is returned containing the scan bargraph intensities.

  The signal axis corresponds to the mass-to-charge ratio (M/Z) and the navigation axis represents sequential measurement cycles (timesteps). When only a single timestep is present the data is returned as a 1-D spectrum.

  Parameters:
    filename `python:str`, `pathlib.Path`

      Filename of the file to read or corresponding pathlib.Path.

    lazy bool, default=False

      Lazy loading is not supported.

    use_uniform_signal_axis bool, default=True

      If True, the time navigation axis is returned as a uniform axis (offset + scale). If False, the time navigation axis is returned as an explicit non-uniform axis array using per-cycle timestamps.

  Returns:
    `python:list` of `python:dict`

      List of dictionaries containing the following fields:

      - ‘data’ – multidimensional `numpy.ndarray` or `dask.array.Array`

      - ‘axes’ – list of dictionaries describing the axes containing the fields ‘name’, ‘units’, ‘index_in_array’, and either ‘size’, ‘offset’, and ‘scale’ or a numpy array ‘axis’ containing the full axes vector

      - ‘metadata’ – dictionary containing the parsed metadata

      - ‘original_metadata’ – dictionary containing the full metadata tree from the input file

      When the file contains several datasets, each dataset will be loaded as separate dictionary.