Energy-Dispersive X-ray Spectroscopy (EDX)¶
Energy-Dispersive X-ray Spectroscopy is an elemental analysis technique typically coupled with electron microscopy (SEM/TEM). EDX identifies elements and their spatial distribution through characteristic X-ray emission.
Overview¶
This schema package defines:
- EDXMeasurement - EDX measurements with elemental composition, spatial mapping, and quantification
EDX measurements extend BaseMeasurement, providing:
- Links to measured samples and instrument
- Electron beam parameters (voltage, current, spot size)
- Detector configuration and acquisition settings
- Elemental composition (atomic and weight percentages)
- Spatial mapping data (element distribution)
Typical Usage¶
- Select samples: Reference samples or libraries to analyze
- Set beam conditions: Accelerating voltage (typically 10-20 kV), current, spot size
- Acquire spectrum: Collect X-ray counts vs. energy
- Identify elements: Peak identification and deconvolution
- Quantification: Calculate composition from peak intensities
- Mapping (optional): Scan beam to create elemental distribution maps
What EDX Tells You¶
- Elemental composition: What elements are present and their concentrations
- Spatial distribution: Element maps showing composition variations
- Composition gradients: In combinatorial libraries, map composition space
- Layer thickness: From cross-section analysis
- Contamination: Identify unexpected elements
- Stoichiometry: Compare to target compositions
EDX in Combinatorial Screening¶
For combinatorial libraries created by multi-target sputtering:
- Map intact library: Before cleaving, measure composition at multiple points
- Create gradient map: Interpolate composition across library
- Guide cleaving: Choose where to divide library for optimal sampling
- Verify samples: After cleaving, confirm compositions match predictions
Key Parameters¶
- Accelerating voltage: Determines X-ray generation depth (higher V = deeper)
- Beam current: Signal intensity vs. beam damage trade-off
- Spot size: Spatial resolution vs. signal
- Acquisition time: Counting statistics vs. measurement time
- Working distance: Affects collection efficiency
EDX Limitations¶
- Light elements: Poor sensitivity for Z < 11 (B, C, N, O challenging)
- Spatial resolution: Typically 1-2 μm (limited by electron interaction volume)
- Depth information: Averages over interaction depth (~1 μm)
- Quantification accuracy: ±1-2 at% typical, depends on standards
EDX vs. XPS¶
- EDX: Bulk analysis (~1 μm deep), better for heavy elements, spatial mapping
- XPS: Surface analysis (~10 nm), better for light elements, chemical states
Related Schemas¶
- Measured samples: Samples and Libraries from Sputtering
- Instrument: DTUInstrument (SEM with EDX detector)
- Complementary: XPS for surface composition, XRD for phases
- Analysis: Jupyter Analysis for composition mapping, gradient fitting
Schema Documentation¶
EDXQuantification¶
inherits from: nomad.datamodel.data.ArchiveSection
properties:
| name | type | |
|---|---|---|
| element | ['Ac', 'Ag', 'Al', 'Am', 'Ar', 'As', 'At', 'Au', 'B', 'Ba', 'Be', 'Bh', 'Bi', 'Bk', 'Br', 'C', 'Ca', 'Cd', 'Ce', 'Cf', 'Cl', 'Cm', 'Cn', 'Co', 'Cr', 'Cs', 'Cu', 'Db', 'Ds', 'Dy', 'Er', 'Es', 'Eu', 'F', 'Fe', 'Fl', 'Fm', 'Fr', 'Ga', 'Gd', 'Ge', 'H', 'He', 'Hf', 'Hg', 'Ho', 'Hs', 'I', 'In', 'Ir', 'K', 'Kr', 'La', 'Li', 'Lr', 'Lu', 'Lv', 'Mc', 'Md', 'Mg', 'Mn', 'Mo', 'Mt', 'N', 'Na', 'Nb', 'Nd', 'Ne', 'Nh', 'Ni', 'No', 'Np', 'O', 'Og', 'Os', 'P', 'Pa', 'Pb', 'Pd', 'Pm', 'Po', 'Pr', 'Pt', 'Pu', 'Ra', 'Rb', 'Re', 'Rf', 'Rg', 'Rh', 'Rn', 'Ru', 'S', 'Sb', 'Sc', 'Se', 'Sg', 'Si', 'Sm', 'Sn', 'Sr', 'Ta', 'Tb', 'Tc', 'Te', 'Th', 'Ti', 'Tl', 'Tm', 'Ts', 'U', 'V', 'W', 'Xe', 'Y', 'Yb', 'Zn', 'Zr'] |
The symbol of the element, e.g. 'Pb'. |
| atomic_fraction | float64 |
The atomic fraction of the element. |
EDXResult¶
inherits from: nomad_measurements.mapping.schema.MappingResult
properties:
| name | type | |
|---|---|---|
| layer_thickness | float64 |
The layer thickness from the EDX measurement. unit= meter |
| assumed_material_density | float64 |
The assumed material density for the thickness determination. unit= kilogram / meter ** 3 |
| electron_image | str |
|
| quantifications | EDXQuantification |
sub-section, repeats |
normalization:
The normalizer for the EDXResult class.
Args: archive (EntryArchive): The archive containing the section that is being normalized. logger (BoundLogger): A structlog logger.
DTUSampleAlignment¶
inherits from: nomad_measurements.mapping.schema.RectangularSampleAlignment
properties:
| name | type | |
|---|---|---|
| width | float64 |
The width of the sample. unit= meter, default=0.04 |
| height | float64 |
The height of the sample. unit= meter, default=0.04 |
normalization:
The normalizer for the RectangularSampleAlignment class.
Will calculate the affine transformation from the sample alignment.
Args: archive (EntryArchive): The archive containing the section that is being normalized. logger (BoundLogger): A structlog logger.
EDXMeasurement¶
inherits from: nomad_dtu_nanolab_plugin.schema_packages.basesections.DtuNanolabMeasurement, nomad.datamodel.metainfo.plot.PlotSection, nomad.datamodel.data.EntryData
properties:
| name | type | |
|---|---|---|
| edx_data_file | str |
The csv file containing the analysis of the EDX measurement using the LayerProbe software. Contains quantification results and alignment data. |
| electron_image_files | str |
Data files containing the electron images. Images are automatically mapped to their respective spectra by extracting numbers from image filenames and matching them with the spectrum numbers from the 'Spectrum Label' column in the EDX data file (e.g., 'SE Image 1.png' matches 'Spectrum 1'). shape= ['*'] |
| native_file_zip | str |
A zip archive containing the native data files from the EDX measurement. |
| avg_layer_thickness | float64 |
The average layer thickness from the EDX measurement unit= meter |
| avg_density | float64 |
The assumed material density for the thickness determination unit= kilogram / meter ** 3 |
| results | EDXResult |
The result of the measurement. sub-section, repeats |
| sample_alignment | DTUSampleAlignment |
The alignment of the sample. sub-section |
normalization:
The normalizer for the EDXMeasurement class.
Args: archive (EntryArchive): The archive containing the section that is being normalized. logger (BoundLogger): A structlog logger.