Skip to content

Add Perkin Elmer PE1/PE2 as continuous-acquisition detectors - #6

Merged
Anthony Sligar (sligara7) merged 2 commits into
NSLS2:pdf-profile-conversionfrom
sligara7:pdf-conv-03b-perkin-elmer
Oct 23, 2026
Merged

Anthony Sligar (sligara7) merged 2 commits into
NSLS2:pdf-profile-conversionfrom
sligara7:pdf-conv-03b-perkin-elmer

Conversation

@sligara7

Copy link
Copy Markdown

Adds pe1c (XF:28ID1-ES{Det:PE1}) and pe2c (XF:28ID1-ES{Det:PE2}) as ContAcqDetectors with proc_suffix="Proc1:", writing TIFF to J:\\proposals via a Windows NSLS2PathProvider — the hextools PE setup, with PDF's current file format and share.

  • ophyd-async and nslsii now come from the same git commits hextools locks: ContAcqDetector(proc_suffix=...) (ophyd-async #1329) and NSLS2PathProvider(base_write_dir=...) (nslsii #231) are not in a release yet. Switch back to release pins once they are.
  • #1329 renamed trigger_info_from_num_images → trigger_info_from_driver; the XSP (Lambda) driver is updated.
  • nslsii main requires BEAMLINE_ACRONYM/ENDSTATION_ACRONYM; the profile now defaults BEAMLINE_ACRONYM=PDF.
  • Both IOCs have CB1:, Proc1: and HDF1: plugins (checked with cainfo 2026-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 with pe1c/pe2c initialised. Not yet run on the TST or real beamline.

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
Copilot AI balanced review requested due to automatic review settings October 23, 2026 20:57

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 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

Comment thread pyproject.toml
Comment thread src/pdftools/profiles/collection.py Outdated
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
Copilot AI balanced review requested due to automatic review settings October 23, 2026 21:24

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Validation is limited to mocks; live detector acquisition and Windows-share TIFF writing still require human review.

No open issues 🎉

2 resolved since last review

Review effort: Balanced

@sligara7
Anthony Sligar (sligara7) merged commit 3ecce11 into NSLS2:pdf-profile-conversion Oct 23, 2026
4 checks passed
@sligara7
Anthony Sligar (sligara7) deleted the pdf-conv-03b-perkin-elmer branch October 23, 2026 21:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants