Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

IAnton adds these thoughts)

Is that bad pixel masks are not necessarily a constant.  They can change from frame to frame. 

For example with the AGIPD (admittedly an EuXFEL problem) we found that the bad pixel mask depended on memory cell and gain setting.  And then possibly if signal was in one of the regimes near gain switching where calibration was unreliable.
In other words, bad pixel mask changed per shot - first due to which memory cell, then how much signal was on the pixel.  
This makes it not a ‘det.calibconst’.  
My suggestion was to have space for a ‘bad pixels in this event’ rather than a constant mask applied for all events. 

Although sometimes there may of course be a constant masks, for example for truly dead pixels.

Reply from Aaron Brewster

Hi Chris, in addition to Anton's comments which I echo (namely that the mask is dynamic per-image depending on gain switching), we also use the psana1 interfaces to read LCLS geometry files:

  • PSCalib.SegGeometryStore.sgs
  • Detector.pyda.geoaccess


(example usage in DIALS)

We use these interfaces to construct the set of vectors that describe a multi-panel detector, using the values recorded in the calib directory in the geometry subfolder.  This gives us an initial model that we refine and store in the DIALS format.