Issue
Sector 4 specific — reproduced at Sector 4 with specific detector/camera configurations. Not yet tested in post-processing workbench.
The Area Detector live view displays visual artifacts that vary by camera. Two known forms:
- Squares — blocky rectangular artifacts tiled across the image
- Parallel lines — horizontal or vertical banding overlaid on the data
The artifacts appear to be an artifact of how the raw PVA frame is reshaped into a 2D image — the pixel ordering (C vs Fortran) or shape assumptions may not match the actual camera output layout.
Files:
src/dashpva/utils/pva_reader.py:411 — image.reshape(self.shape, order=self.pixel_ordering) — if pixel_ordering doesn't match the camera's actual row layout, the entire frame is misinterpreted, producing tile or banding patterns
src/dashpva/viewer/area_det/area_det_viewer.py:1555 — np.transpose / np.rot90 applied after reshape; a non-contiguous array at this point could compound the artifact
Fixes
src/dashpva/utils/pva_reader.py:411 — investigate whether Sector 4 cameras require a different pixel_ordering; add np.ascontiguousarray() after reshape to eliminate stride-based rendering issues
- Cross-check the camera's reported
dims attribute against the assumed self.shape to catch shape mismatches before they reach setImage
Acceptance Criteria
- Connect to a Sector 4 camera that previously showed square artifacts in live view — image renders cleanly with no tiling
- Connect to a Sector 4 camera that previously showed parallel line artifacts — image renders cleanly
- Other cameras/detectors at other sectors are unaffected
Issue
The Area Detector live view displays visual artifacts that vary by camera. Two known forms:
The artifacts appear to be an artifact of how the raw PVA frame is reshaped into a 2D image — the pixel ordering (
CvsFortran) or shape assumptions may not match the actual camera output layout.Files:
src/dashpva/utils/pva_reader.py:411—image.reshape(self.shape, order=self.pixel_ordering)— ifpixel_orderingdoesn't match the camera's actual row layout, the entire frame is misinterpreted, producing tile or banding patternssrc/dashpva/viewer/area_det/area_det_viewer.py:1555—np.transpose/np.rot90applied after reshape; a non-contiguous array at this point could compound the artifactFixes
src/dashpva/utils/pva_reader.py:411— investigate whether Sector 4 cameras require a differentpixel_ordering; addnp.ascontiguousarray()after reshape to eliminate stride-based rendering issuesdimsattribute against the assumedself.shapeto catch shape mismatches before they reachsetImageAcceptance Criteria