Skip to content

Add optional NDStatsProfiles for Phoebus row/column plots - #600

Open
kgofron wants to merge 2 commits into
areaDetector:masterfrom
kgofron:feat/stats-profiles-example
Open

Add optional NDStatsProfiles for Phoebus row/column plots#600
kgofron wants to merge 2 commits into
areaDetector:masterfrom
kgofron:feat/stats-profiles-example

Conversation

@kgofron

@kgofron kgofron commented Jul 25, 2026

Copy link
Copy Markdown
Member

Summary

  • Add NDStatsProfiles.template with pixel/scaled axis waveforms and StatsProfInit_ under $(P)$(R) (unique per camera / Stats instance).
  • Add EXAMPLE_stats_profiles.cmd to load that template after commonPlugins.cmd (requires synApps calc / acalcout).
  • Point to the optional include from EXAMPLE_commonPlugins.cmd; document in NDPluginStats and common_plugins; note in RELEASE.md.

Motivation

NDPluginStats already computes ProfileAverageX/Y. Phoebus image+profile screens need matching axis arrays and a one-shot enable of ComputeProfiles. That helper DB previously lived only in facility bob trees.

Related

Addresses areaDetector/areaDetector#93
(index / calibration axis waveforms for Phoebus profile plots).

This PR puts that support in ADCore as optional NDStatsProfiles.template

  • EXAMPLE_stats_profiles.cmd. Record names use $(P)$(R) (e.g. Stats1:Cal:…)
    so multiple cameras under one PREFIX stay unique; Create V4 plugin and driver #93’s sketch used $(P)Cal:….

Test plan

  • make installs NDStatsProfiles.template under ADCore db/
  • IOC loads template with XNELM/YNELM = XSIZE/YSIZE after commonPlugins.cmd
  • StatsProfInit_ enables ComputeProfiles (and related flags)
  • Phoebus row/column profiles display correctly (validated with MediPix3 / SNS ADet screens updated for $(P)$(R)Cal:...)

Add NDStatsProfiles.template and EXAMPLE_stats_profiles.cmd so IOCs can
load pixel/scaled axis waveforms under _(P)_(R) after commonPlugins.
Document usage in NDPluginStats/common_plugins and note in RELEASE.md.
@kgofron

kgofron commented Jul 25, 2026

Copy link
Copy Markdown
Member Author

Example Phoebus display with NDStats row/column profiles (MediPix3),
using NDStatsProfiles.template axis PVs under $(P)$(R) (e.g. Stats1:Cal:…)
together with ProfileAverageX/Y (or cursor profiles) from NDPluginStats.

image

@kgofron
kgofron requested review from MarkRivers and jwlodek July 26, 2026 14:23
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.

1 participant