ESCAPE

C++ / Python toolkit for X-ray and neutron scattering simulation and fitting.

Build models in Jupyter notebooks for reflectivity, HRXRD, SAS, and related applications. Free for non-commercial use. See our publication.

Install ESCAPE » Example notebooks » API docs »

SAXS 2D pattern — superball form factor

Why?

A complete cross-platform toolkit for scattering problems in science and metrology — from simulation to multi-dataset fitting.

How?

C++17 core (GCC, MSVC, Clang on Linux, Windows, and macOS) with Cython bindings for Jupyter notebooks and custom Python apps.

Who?

Built for scattering specialists: instrument scientists and lab leads. Shared notebooks also help less experienced users adopt working models.


What you can extract

From scattered intensity versus angle, energy, and polarization — at subnanometer resolution:

  • interface diffusion and interface roughness
  • layer thicknesses and scattering density profiles
  • crystal lattice structure of each layer
  • alloy concentrations and layer-by-layer magnetization

Core Modules

Define models with parameters and functors, fit several intensity models at once, and use stochastic or gradient optimizers plus a neural regressor for fast batch parameter estimates.

Core notebooks »

Neural network regressor

Scattering Modules

Materials, samples, and ready functors for specular reflectivity, polarized neutron reflectivity, high-resolution X-ray diffraction, small-angle scattering, and more.

Scattering notebooks »

SAXS 2D pattern — stacked disks form factor

Integrations

Jupyter notebooks are the default format for sharing and publishing models in our notebook repository. The same Python API also embeds into custom applications and environments.

Browse examples »

ESCAPE notebook integrations