class ewoksfluo.xrffit.buffers.pymca.PyMcaOutputBuffer(output_uri, diagnostics=False, figuresofmerit=False, **open_options)[source]

Bases: OutputBuffer

This is the output buffer of PyMca with an internal output handler.

  • output_uri (str)

  • diagnostics (bool)

  • figuresofmerit (bool)

Context(save=True, update=False)

Either saveContext or bufferContext. By default update=False: try overwriting (exception when not allowed)

allocateMemory(label, group=None, memtype='ram', **kwargs)
  • label (str)

  • group (str) – group name of this dataset (in hdf5 this is the nxdata name)

  • memtype (str) – ram or hdf5

  • **kwargs

    see _allocateRam or _allocateHdf5

property already_existed: bool

Prepare output buffers (HDF5: create file, NXentry and NXprocess)


update (bool) – True: update existing NXprocess False: overwrite or raise an exception


RuntimeError – NXprocess exists and overwrite==False

property cfg
clear() None.  Remove all items from D.
property csv
property dat
property diagnostics
property edf
property extensions
property fileEntry
property fileProcess
filename(ext, suffix=None)
property fit_results_uri: str | None
get(k[, d]) D[k] if k in D, else d.  d defaults to None.
items() a set-like object providing a view on D's items
keys() a set-like object providing a view on D's keys
labelFormat(group, prefix)

For single-page edf/tif file names

labels(group, labeltype=None)
  • group (str)

  • labeltype (str) – ‘hdf5’: dataset names used in h5 ‘filename’: file names ‘title’: titles used in edf/dat/csv/tif else: join with space-separator

Returns list:

strings or tuples

property nosave
property outputDirLegacy
property outputRoot
property overwrite
pop(k[, d]) v, remove specified key and return the corresponding value.

If key is not found, d is returned if given, otherwise KeyError is raised.

popitem() (k, v), remove and return some (key, value) pair

as a 2-tuple; but raise KeyError if D is empty.


Save result of XRF batch fitting. Preferrable use saveContext instead. HDF5 NXprocess will be updated, not overwritten.


Same as bufferContext but with save when leaving the context. By default update=False: try overwriting (exception when not allowed)

property saveData
property saveDataDiagnostics
property saveFOM
property saveFit
property saveResiduals
setdefault(k[, d]) D.get(k,d), also set D[k]=d if k not in D
property tif
update([E, ]**F) None.  Update D from mapping/iterable E and F.

If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v

values() an object providing a view on D's values