Spectra normalizer

Jose Pizarro requested to merge 1506-spectra-normalizer into develop

List of changes #1506 (closed):

  • Changed ParticleHoleExcitations to XS workflow name.
  • Added methodology in ElectronicStructureProvenance.
  • Added intensities_units for Spectra.
  • Added SpectraNormalizer.
    • Added provenance for spectra pointing to the specific method.photon section.
    • Added provenance for spectra in case of being in an XS workflow pointing to method.bse section of each corresponding task.
  • New result class for results.properties.spectroscopic.Spectra. This contains:
    • type to identify the type of spectra obtained.
    • label to differentiate between experiment or computation.
    • n_energies, energies, intensities, intensities_units as the axes of the data.
    • provenance pointing to SpectraProvenance(ProvenanceTracker). This contains two sub sections, eels, electronic_structure. The idea would be to extend this.
  • Moved certain definitions and normalization from the EELSDB parser to here (https://github.com/nomad-coe/nomad-parser-eelsdb/pull/7).
  • Added resolve_spectra and xs_workflow_properties in ResultsNormalizer.
  • Modified the visualization side to get the new results.properties.spectroscopic.spectra data. Also modified names from EELS to Spectroscopic.

This MR is dependent on the merge of !1261 (merged).

The current SpectraNormalizer looks a bit empty right now, but my plan is to extend it soon. Should I move the EELSDB normalization to there? In any case, let me know what you think; maybe there is a better / more convenient solution for this.


  • Fix testing and clean up.
  • Define a normalization similar to the plot for DOS.
  • Move label inside provenance. No, provenance.label contains other information that cannot be overwritten.
  • Use label to identify each line or plot: comp. 1 or exp. 1.
  • Use type to title each plot.
  • Populate results.properties.X where X=electronic, vibrational, structural according to the type of spectra (e.g., XAS should be repeated in electronic, XRD in structural, etc.). This is something I talked with Luca. TODO in another merge request.
  • Define FilterMenu Spectroscopic and move EELS below it. Spectroscopic will be clickable and contain label inside. I need some feedback here. TODO in another merge request.
  • Develop ref for plot labels pointing to the specific provenance of the property (if available). TODO in another merge request.
Edited by Jose Pizarro

Merge request reports