03814b1425
Persist regions of interest so an acquisition's ROI layout can be recovered from the master (_master.h5 / _process.h5): - /entry/roi/roi_map: uint16 per-pixel bitmask (bit i == ROI i). - /entry/roi/<name>: logical definition (type + geometry params, incl. azimuthal phi sector) plus bit_index tying it to the bitmap plane. The bitmap rides along in the StartMessage (CBOR, mirroring az_int_map) and is filled both online (JFJochReceiver::SendStartMessage) and offline (jfjoch_process). Definitions come from the already-transmitted rois. Both are dataset-wide metadata, so they are written by the NXmx master writer (new NXmx::ROI), not the per-image data-file plugin. Documented the /entry/roi layout in docs/HDF5.md and the master-vs-data writer convention in CLAUDE.md; added a CBOR roi_map round-trip test. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>