Versions Compared

Key

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

...

  • example: optionally enabling common mode
  • Mikhail's initial conceptual proposal: det.calib(evt,cmpars=[1,3,'stuff'],mask=['status','edges','user'])
  • more kwargs can be added in future, and they can be detector-specific
  • only kwargs can be used (not args) because ami needs the standard pattern of passing an "evt" argument to every detector interface method
  • the "red box" represents is key: it is the det.calib() method:
    • if we did it on the calib() method, would want to right-click on the red box (top-left of AMI)to see list of kwargs
    • kwargs must be explicitly specified for AMI to automatically discover the list.  it is not necessary to explicitly specify all kwargs (can be "wildcards") but then those are expert modes, and aren't automatically discovered by AMI.  AMI could have a box to input an arbitrary kwarg (for experts)
    • how would we enter the args/ kwargs? can we do type-checking? yes, using the standard python3 type annotations.  which could bring up appropriate QT widgets.
    • kwarg types should be "standard": no defining a custom type, except only numpy arrays (e.g. , lists, tuple, dicts, strings, int, floats)
  • can we drag in two calib boxes with different params?  ideally yes.  ami might not immediately support this.
  • ideally we would be able to change the parameters while ami is running, since psana supports changing kwargs