Analysis

Basic analysis functions for X-ray optical properties.

Simplified analysis functionality focused on core scientific calculations.

class xraylabtool.analysis.MaterialComparator[source]

Bases: object

Compare X-ray properties between multiple materials.

__init__()[source]
compare_materials(formulas, densities, energies, properties=None)[source]

Compare X-ray properties across multiple materials.

Parameters:
  • formulas (list[str]) – List of chemical formulas

  • densities (list[float]) – List of material densities in g/cm³

  • energies (list[float]) – List of X-ray energies in keV

  • properties (list[str] | None) – Properties to compare (uses defaults if None)

Return type:

ComparisonResult

Returns:

ComparisonResult with comparison data

create_comparison_table(result)[source]

Create a pandas DataFrame from comparison results.

Parameters:

result (ComparisonResult) – ComparisonResult object

Return type:

DataFrame

Returns:

DataFrame with comparison data

generate_comparison_report(result)[source]

Generate a detailed text report from comparison results.

Parameters:

result (ComparisonResult) – ComparisonResult object

Return type:

str

Returns:

Formatted text report

xraylabtool.analysis.compare_materials(results, property_name='critical_angle_degrees')[source]

Simple material comparison for a given property.

Parameters:
  • results (list[XRayResult]) – list of XRayResult objects to compare

  • property_name (str) – Property to compare across materials

Return type:

dict

Returns:

Dictionary with basic statistics

xraylabtool.analysis.find_absorption_edges(energies, f2_values, threshold=0.1)[source]

Simple absorption edge detection using f2 derivative.

Parameters:
  • energies (ndarray) – Energy array in keV

  • f2_values (ndarray) – Imaginary scattering factor values

  • threshold (float) – Minimum derivative threshold for edge detection

Return type:

list[tuple[float, float]]

Returns:

list of (energy, derivative_magnitude) tuples for detected edges

Material Comparator

Material comparison functionality for X-ray properties analysis.

class xraylabtool.analysis.comparator.ComparisonResult(materials, energies, properties, data, summary_stats, recommendations)[source]

Bases: object

Result container for material comparisons.

Parameters:
materials: list[str]
energies: list[float]
properties: list[str]
data: dict[str, Any]
summary_stats: dict[str, dict[str, float]]
recommendations: list[str]
__init__(materials, energies, properties, data, summary_stats, recommendations)
Parameters:
Return type:

None

class xraylabtool.analysis.comparator.MaterialComparator[source]

Bases: object

Compare X-ray properties between multiple materials.

__init__()[source]
compare_materials(formulas, densities, energies, properties=None)[source]

Compare X-ray properties across multiple materials.

Parameters:
  • formulas (list[str]) – List of chemical formulas

  • densities (list[float]) – List of material densities in g/cm³

  • energies (list[float]) – List of X-ray energies in keV

  • properties (list[str] | None) – Properties to compare (uses defaults if None)

Return type:

ComparisonResult

Returns:

ComparisonResult with comparison data

create_comparison_table(result)[source]

Create a pandas DataFrame from comparison results.

Parameters:

result (ComparisonResult) – ComparisonResult object

Return type:

DataFrame

Returns:

DataFrame with comparison data

generate_comparison_report(result)[source]

Generate a detailed text report from comparison results.

Parameters:

result (ComparisonResult) – ComparisonResult object

Return type:

str

Returns:

Formatted text report