Skip to main content
`Ctrl`+`K`

# Delmic HDF5

RosettaScIO can read cathodoluminescence `.h5` datasets from Delmic containing one or multiple acquisition streams. The supported CL data formats currently include:

- intensity

- hyperspectral

- angle-resolved

- time-resolved decay trace

- time-resolved g(2) curve

- time-resolved spectrum

- energy-momentum (angle-resolved spectrum)

The photoluminescence is not yet implemented in the metadata structure.

Note

To read the cathodoluminescence .h5 datasets in HyperSpy, use the `reader` argument to define the correct file plugin as the `.h5` extension is not unique to this reader:

    >>> import hyperspy.api as hs
    >>> hs.load("filename.h5", reader="Delmic")

Typically, Delmic CL data acquisitions contain three dataset types, but by default, only the cathodoluminescence datasets found in the acquisition files are opened with RosettaSciIO. Usually, this is a single dataset, but if the acquisition has multiple streams, then a list of datasets is returned.

Note

To load the various types of datasets in the file, use the `signal` argument with “cl”, “se”, “survey”, or “anchor”, to load respectively the cathodoluminescence, secondary electron concurrent, secondary electron survey, drift anchor region. The special value “all” can be used to load all datasets in the file.

    >>> import hyperspy.api as hs
    >>> hs.load("filename.h5", reader="Delmic", signal="cl")

## API functions

rsciio.delmic.file_reader(filename: str, signal: str = 'cl', lazy: bool = False) → List[Dict[str, Any]]

  Read a Delmic HDF5 hyperspectral image.

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

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

    signal `python:str`, default=”cl”

      Specifies the type of data to load. Can be “cl” (cathodoluminescence signal), “se” (concurrent SEM signal), “survey” (SEM image of the whole field of view), “anchor” (drift correction region over time), or “all” to obtain all the data in the file. Convenient, as typically in Odemis, every CL acquisition automatically stores also the survey and concurrent SEM data.

    lazy bool, default=False

      Lazy loading is not supported.

  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.