Repository navigation
Add Perkin Elmer PE1/PE2 as continuous-acquisition detectors - #6
Merged
Anthony Sligar (sligara7) merged 2 commits intoOct 23, 2026
Conversation
pe1c/pe2c are ContAcqDetectors summing in Proc1 and writing TIFF to J:\proposals, as in pdf-profile-collection 80-areadetector2. ContAcqDetector proc_suffix (ophyd-async #1329) and NSLS2PathProvider base_write_dir (nslsii #231) are unreleased, so both come from the git commits hextools uses. #1329 renamed trigger_info_from_num_images to trigger_info_from_driver (XSP driver updated); nslsii main needs BEAMLINE_ACRONYM, now defaulted to PDF. Assisted-by: copilot:claude-opus-5-5
There was a problem hiding this comment.
🟡 Changes recommended
Incorrect PE resource paths prevent data access, and direct Git dependencies block the existing PyPI release path.
2 open issues
What changed in this PR
Adds Perkin Elmer PE1 and PE2 to the collection profile as continuous-acquisition detectors, using Proc1 frame summing and TIFF output on the Windows proposals share.
Changes:
- Configures both detectors and their Windows write-path provider.
- Pins dependencies to commits supporting the required APIs and updates the Lambda driver.
- Adds mock acquisition coverage and extends profile startup checks.
| File | Description |
|---|---|
tests/test_utils.py |
Checks that both PE detectors initialize in mock mode. |
tests/test_detectors.py/test_perkin_elmer.py |
Tests mock PE acquisition, filtering, TIFF paths, and metadata. |
src/pdftools/profiles/collection.py |
Adds PE detectors, Windows write paths, and the beamline acronym default. |
src/pdftools/detectors/xspd.py |
Adapts the Lambda driver to the renamed trigger helper. |
pyproject.toml |
Pins ophyd-async and nslsii to required Git commits. |
pixi.toml |
Aligns environment dependencies with those Git pins. |
Review effort: Balanced
With a PureWindowsPath write root, nslsii defaults the YMD separator to a backslash for both write and read paths, so resource URIs ended in 2026\10\23/. The PE test now checks the complete dated URI. Assisted-by: copilot:claude-opus-5-5
Anthony Sligar (sligara7)
merged commit Oct 23, 2026
3ecce11
into
NSLS2:pdf-profile-conversion
4 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Adds
pe1c(XF:28ID1-ES{Det:PE1}) andpe2c(XF:28ID1-ES{Det:PE2}) asContAcqDetectors withproc_suffix="Proc1:", writing TIFF toJ:\\proposalsvia a WindowsNSLS2PathProvider— the hextools PE setup, with PDF's current file format and share.ContAcqDetector(proc_suffix=...)(ophyd-async #1329) andNSLS2PathProvider(base_write_dir=...)(nslsii #231) are not in a release yet. Switch back to release pins once they are.trigger_info_from_num_images→trigger_info_from_driver; the XSP (Lambda) driver is updated.BEAMLINE_ACRONYM/ENDSTATION_ACRONYM; the profile now defaultsBEAMLINE_ACRONYM=PDF.CB1:,Proc1:andHDF1:plugins (checked withcainfo2026-10-23).Verified: mock tests only — a mock PE count with Proc filtering and TIFF on the Windows share (
tests/test_detectors.py/test_perkin_elmer.py), and the profile booting in mock mode withpe1c/pe2cinitialised. Not yet run on the TST or real beamline.