zebsdsolve
EBSD pattern-centre fitting and indexing on the GPU, in the browser or from Python.
Open the web app: it runs on your GPU inside the page (Chrome or Edge 137+). Scans are read in place, in pieces, so a 100 GB file is neither uploaded nor loaded into memory. Click Example for a small nickel scan, or Make toy scan to simulate one from a master pattern.
What it does
- Indexes by spherical cross-correlation over all orientations, refined on the detector: about 23 000 patterns per second on a desktop GPU, 67 000 in two sweeps. Dictionary indexing is there too.
- Fits the geometry: the pattern centre by a vote of a few patterns, then the detector's whole pose (position, rotation and, optionally, pixel size) together with the patterns' orientations.
- Prepares patterns: binning, neighbour averaging (NLPAR), static and dynamic background, CLAHE, band pass, mask.
- Handles several phases, and writes
.angand.ctf. - Reads h5ebsd (kikuchipy, Bruker, EDAX, Oxford
.h5oina), EDAX.up1/.up2, Oxford.ebsp, NORDIFPattern.dat. Master patterns: ebsdsim.npzand EMsoft.h5.
One engine (Zig and WGSL) runs natively through wgpu-native and as WebAssembly on WebGPU, so the app and the Python package do the same thing.
Python
pip install zebsdsolve
python -m zebsdsolve # the same app, served locally
import zebsdsolve as ze
res = ze.index("scan.h5", ["Ni.npz"], fit="pose") # vote, pose fit, then index
res.quaternions, res.ncc, res.phase # per map cell
res.geometry # what the fits found
Every option is a keyword (src/settings.zig); ze.Solver drives the steps one at a time. Two tutorials are in examples/.
More
- How it works, and what was measured: each method, the numbers behind the defaults, and what is not verified.
- CONTRIBUTING.md: building, testing, conventions.
MIT (LICENSE). The wheels bundle wgpu-native (MIT / Apache-2.0); the example scan is kikuchipy's nickel_ebsd_large, CC BY 4.0 (sources).
Metadata
Release files for zebsdsolve 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| zebsdsolve-0.1.0-py3-none-win_arm64.whl | Python 3 | none | Windows ARM64 | Details |
| zebsdsolve-0.1.0-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| zebsdsolve-0.1.0-py3-none-manylinux_2_28_x86_64.whl | Python 3 | none | Linux glibc 2.28+ x86-64 | Details |
| zebsdsolve-0.1.0-py3-none-manylinux_2_28_aarch64.whl | Python 3 | none | Linux glibc 2.28+ ARM64 | Details |
| zebsdsolve-0.1.0-py3-none-macosx_11_0_x86_64.whl | Python 3 | none | macOS 11.0+ x86-64 | Details |
| zebsdsolve-0.1.0-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
Total release size: 23.2 MB
Release files / zebsdsolve-0.1.0-py3-none-win_arm64.whl
| Download URL | zebsdsolve-0.1.0-py3-none-win_arm64.whl |
|---|---|
| Size | 3.9 MB |
| Tags | Python 3 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
4ed1b5301a51daa6e41d212cfe7fa8d95e70d3b5a27f50b5b0aa2bcb4c354f5f
|
|
BLAKE2b-256 checksum How to use checksums |
7c4c5580b5851be045973ec6788eb630ff654dfde9b7a05d27a5881c45bbea40
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.
Transparency logRelease files / zebsdsolve-0.1.0-py3-none-win_amd64.whl
| Download URL | zebsdsolve-0.1.0-py3-none-win_amd64.whl |
|---|---|
| Size | 4.1 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
800c7ac6840f35b069afd10f43beb41118ac3972a0e0ac776424f64b1a7c50f7
|
|
BLAKE2b-256 checksum How to use checksums |
032197187d538fcfab2e519164ed54b41a7de33001fc0d950c55fc2ebcdef031
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.
Transparency logRelease files / zebsdsolve-0.1.0-py3-none-manylinux_2_28_x86_64.whl
| Download URL | zebsdsolve-0.1.0-py3-none-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 4.1 MB |
| Tags | Linux glibc 2.28+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
811da353b2788591f54662b51fc3cd41cfe92500a0adb9f38db36221d628b8cc
|
|
BLAKE2b-256 checksum How to use checksums |
a04cbe651c62fe55fbd19dc26337eb13e12e60a210bc9329667549902d44ca72
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.
Transparency logRelease files / zebsdsolve-0.1.0-py3-none-manylinux_2_28_aarch64.whl
| Download URL | zebsdsolve-0.1.0-py3-none-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 4.1 MB |
| Tags | Linux glibc 2.28+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
cd336e415fa93cbe7475713d24ffa0433d694fbad41e218fde988b6e7f47b0e4
|
|
BLAKE2b-256 checksum How to use checksums |
a165dce98093b7208258046cfcc8447c4ec67260aa2d26f8a8cdc7e754afd0fc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.
Transparency logRelease files / zebsdsolve-0.1.0-py3-none-macosx_11_0_x86_64.whl
| Download URL | zebsdsolve-0.1.0-py3-none-macosx_11_0_x86_64.whl |
|---|---|
| Size | 3.6 MB |
| Tags | Python 3 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
ff1a15b3a9c88dffa5c719c3050e3460ddb40cd250b47df02a5f9aca8450c655
|
|
BLAKE2b-256 checksum How to use checksums |
c64e306122258aa6747da777af41dbd21d13b05f61bb93fd9b42349f2f93d859
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.
Transparency logRelease files / zebsdsolve-0.1.0-py3-none-macosx_11_0_arm64.whl
| Download URL | zebsdsolve-0.1.0-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 3.4 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8966dd03958704460da644717aa689901463b0823705092b382529729854ad16
|
|
BLAKE2b-256 checksum How to use checksums |
db4512d366240f44fba4e9d0f4f15d293274a3e56e21f3db6884f0c538f94923
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.
Transparency log