lauelab#
lauelab provides Python interfaces for processing Laue diffraction data at APS beamline 34-ID-E. It indexes crystal orientations, reconstructs wire scans into depth-resolved images, predicts detector reflections, and prepares maps, pole figures, detector overlays, and tables. Visualization functions accept current indexing results or LaueGo XML.
Note
lauelab is alpha software under active development. The documented indexing, reconstruction, and visualization APIs are the supported interfaces, but behavior can change before a stable release. The current source build targets Linux and requires native C build tools and scientific libraries.
Start here#
Install the package from source, then follow one frame through indexing, visualization, and optional reflection simulation.
The in-process API accepts a two-dimensional numpy.uint16 frame or a supported 34-ID-E HDF5 file. It returns a FrameResult containing detected peaks, scattering vectors, candidate crystal patterns, timing, and provenance.
Understand indexing#
The indexing pipeline explains the three processing stages and the data passed between them. The algorithm pages provide more detail without interrupting the first-use path.
Understand reconstruction#
A wire scan records frames while a wire crosses the diffracted beams. Wire-scan reconstruction explains how the frame differences are mapped to sample depths, and Depth reconstruction gives the transformations and binning. Reconstructor runs the calculation in-process and returns a ReconstructionResult with depth coordinates, intensity totals, and optional images.
Configure a workflow#
Use the task-oriented guides when you need to select a detector, define a crystal, prepare frame data, tune parameters, process a sequence, or reconstruct wire-scan points.
The API reference contains the exact supported signatures and result fields. The guides explain when to use them and which conventions affect the result.
Existing code#
The subprocess-based lauego function remains available for existing workflows. New code should use index_frame() or Indexer. See LaueGo interfaces for the behavioral differences.