Skip to main content

laue_index

The Python orchestration for LaueMatching, packaged as typed pipeline stages around the C/CUDA indexer (REFACTOR_PLAN). Mirrors the in-repo laue_torch conventions (curated __init__, single-responsibility modules, typed records) but stays independent of the paper-tied packages (laue_torch / laue_jax / jax_cpfem) — shared pure math is duplicated with # TODO(unify-after-publish).

Modules

Module Responsibility
records.py Solution typed record + parse_solutions(source, fmt) + SolutionFormat column maps (runimage / stream) — replaces positional column "magic numbers".
geometry.py Pure CSL/disorientation helpers (disorientation_deg_axis, is_csl_related, cubic ops, CSL table).
filtering.py calculate_unique_spots, filter_orientations, filter_orientations_robust + OrientationFilter strategies (LegacyUniqueSpotFilter, RobustCSLAwareFilter). Single source of truth.
thresholds.py ThresholdStrategy classes (NoiseFloorThreshold/adaptive, Percentile, Otsu, Fixed) + apply_threshold dispatch.
preprocess.py Image pipeline (background → threshold → components → blur) + Preprocessor.
indexer.py Thin wrapper around the C indexing binary (run_indexer).
postprocess.py PostProcessor: unique-spots → sort → filter → spot-filter.
output.py HDF5 result writer.
config_schema.py One declarative SCHEMA table driving config parse + write.
cli.py laue-index console entry: parse (summarise a solutions table) and filter (re-run post-processing on existing C output, no re-indexing).

Relationship to scripts/

The legacy scripts/laue_stream_utils.py is now a thin shim that re-exports from this package, so RunImage.py, laue_postprocess.py, and laue_image_server.py keep working unchanged while the implementation lives here. RunImage.py is the orchestrator wiring the stages together.

Testing

pytest (from the repo root) runs the unit suite — golden-anchored characterization tests pin behaviour through the refactor. The full end-to-end test (tests/test_char_e2e.py) is opt-in: set LAUE_E2E=1 with the orientation DB, the built C binary, and a prebuilt forward cache present; otherwise it skips, so CI is safe with SKIP_DOWNLOAD=1 (no 6.7 GB database needed for units).

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

laue_index-0.1.0.tar.gz (72.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

laue_index-0.1.0-py3-none-any.whl (43.6 kB view details)

Uploaded Python 3

File details

Details for the file laue_index-0.1.0.tar.gz.

File metadata

  • Download URL: laue_index-0.1.0.tar.gz
  • Upload date:
  • Size: 72.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for laue_index-0.1.0.tar.gz
Algorithm Hash digest
SHA256 667bbf9e5a0f2d2786f125edfa7c2631b1ebfc3a75725afafa52ad649d7eac55
MD5 c4493417ac264006004787e647bff5f7
BLAKE2b-256 d4f6b0909f6db2eb49928ab1a4b4257d0078ef94e8033de17f699864c9da57a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for laue_index-0.1.0.tar.gz:

Publisher: python-packages.yml on AdvancedPhotonSource/LaueMatching

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file laue_index-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: laue_index-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 43.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for laue_index-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 89d7e01404620e66d7f8da49a60b1d9609d61db4402db20b8cf364bab554fb80
MD5 ae4de244a7d756fe2070e7ba22534e91
BLAKE2b-256 a691c57bb63bf362f6eb5878ae64a0cca2eba28cee40d14651e13b00f679007f

See more details on using hashes here.

Provenance

The following attestation bundles were made for laue_index-0.1.0-py3-none-any.whl:

Publisher: python-packages.yml on AdvancedPhotonSource/LaueMatching

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.7.1

1 file

0.7.0

1 file

0.6.1

1 file

0.6.0

1 file

0.5.0

1 file

0.4.0

1 file

0.3.3

1 file

0.3.2

1 file

0.3.1

1 file

0.3.0

1 file

0.2.0

1 file

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page