The 1274-line page becomes a landing page (quick start, the page map, where it fits) plus seven pages a reader can answer one question from: installing, what rugnux reads, running it, integration with other programs, the results report, advanced usage, and powder calibration. Content is moved, not rewritten - only the connective sentences at each page top are new. Every internal anchor is remapped to its new page and every inbound link (DEPLOYMENT, TOOLS, HDF5, CPU_DATA_ANALYSIS) updated; the built site has zero Sphinx warnings and an anchor check over the rendered HTML finds no dead link. index.rst leads with the rugnux group, then acquisition, FPGA, reference and project. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EFEJG6WBQv8th4UJFNe53N
35 lines
2.5 KiB
Markdown
35 lines
2.5 KiB
Markdown
# What rugnux reads
|
|
|
|
Which data `rugnux` opens, before anything is typed. The short answer: an HDF5 master (NXmx or
|
|
DECTRIS, from any facility) or a PILATUS miniCBF sweep — nothing else is read, so any other format
|
|
has to be converted to one of these two first.
|
|
|
|
**Input** is either an HDF5 master file or a directory of PILATUS miniCBF frames. One input is
|
|
**one sweep of one crystal** — rugnux does not combine sweeps or crystals in a run; process each
|
|
sweep to its own `_unmerged.mtz` and merge them downstream
|
|
(see [Taking the data onward](RUGNUX_INTEGRATION.md#taking-the-data-onward)).
|
|
|
|
* **HDF5 master (NXmx-based)** — a file written by [`jfjoch_writer`](JFJOCH_WRITER.md), a DECTRIS
|
|
EIGER master, or an NXmx master written by another facility's toolchain. Lengths are taken in the
|
|
unit the file declares, the image size from the image array's own shape, and each data file's
|
|
images at the path the master's own link names, so masters that state single values as one-element
|
|
arrays, compose their images as a virtual dataset over the master itself, or keep them somewhere
|
|
other than `/entry/data/data` all open. Where the NXmx spellings are absent the pre-NXmx ones are
|
|
tried, so a DECTRIS firmware 1.x master opens too — including its goniometer, which used to be
|
|
missed and the sweep read as stills. Images may be `bitshuffle`+LZ4/Zstd or the HDF Group's plain
|
|
LZ4 (filter 32004); any other filter is named in the error.
|
|
* **PILATUS miniCBF sweep** — one frame per file, read natively with no conversion and no libcbf.
|
|
Name **any frame of the sweep**, or the directory holding it, and the whole sweep is processed:
|
|
the frames are the ones matching that frame's template (prefix plus digit count), so a directory
|
|
holding two sweeps is not spliced into one crystal, and naming a directory takes the sweep with
|
|
the most frames in it. The geometry, the rotation axis and the detector mounting come from the
|
|
header, including the imgCIF axis table where the header carries one (see
|
|
[Detector geometry](DETECTOR_GEOMETRY.md)). A raw CBF carries no analysis results, so
|
|
`--mode scale` — which re-scales the reflections stored in a `_process.h5` — does not accept one.
|
|
|
|
Spots are always found by `rugnux` itself, including for the two-pass rotation first pass — the
|
|
spot lists a dataset may already carry were found online, at the acquisition's threshold and with
|
|
its ice-band spots already discarded, so reusing them would hide the spot-finding settings from
|
|
the lattice search.
|
|
|