Versions Compared

Key

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

...

Hi everyone,

Here is a short summary of what I heard today for how we should start
with the pnCCD.

For pnCCD algorithms:
common-mode, pedestals, hot-pixels, quadrant rotations, hit-finders,
support in mikhail's calibManager

For pnCCD online displays: (using matplotlib for now)
shot by shot raw data
shot by shot calibrated data
projections of the above
region-of-interest
strip-charts of interesting quantities
(also display calibration values like noise-map,pedestal-map)

After this we will work on the acqiris as well (acqiris
constant-fraction algos already exist in psana).

Attached below is a 12 line python program that plots a real pnCCD
image and an x-projection (amoc0113 also has pnccd data we can look
at).  You can run it on a psana node by saving it to pnccd.py and
doing "sit_setup" and then "ipython pnccd.py".  This sort of code
should work online too (although we may have to change matplotlib
settings) as well as with calibrated images.

Display group (dan, mikhail, me) meets Thursday at 10:30.  Analysis
group (sebastian, ankush(?), phil, mikhail, me) meets Friday at 1.

See you then...

chris

 

...

Script form Chris

Use interactive psana framework ~cpo/ipsana/shm.py:

Code Block
from psana import *

events = DataSource('exp=AMO/amos0113:run=1shmem=1_1_XCS.0').events()
evtsrc = events.next()

#to see what data types one can request from the event
#print evt.keys()

src = Source('DetInfo(Camp.0:pnCCD.0)')
 Source('DetInfo(XcsBeamline.1:Tm6740.5)')
import matplotlib.pyplot as plt

plt.ion()
fig = plt.figure('pulnix')
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])  # x0, y0, h, w

for i in range(100):

    evt = events.next()
    frame = evt.get(PNCCDCamera.FullFrameV1FrameV1, src)

import  matplotlib.pyplot as plt
pltax.figurecla('PNCCD')
plt    ax.imshow(frame.datadata16())
plt.show    fig.canvas.draw()

CASS Heritage

Online monitor

...