Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

X environment


Published on

X-Environment presentation at HDRI Meeting in DESY

Published in: Software
  • Be the first to comment

  • Be the first to like this

X environment

  1. 1. Igor Khokhriakov Integrated Control System Environment for High-Throughput Tomography. Status report.
  2. 2. X-Environment
  3. 3. PreExperiment Data Collector FEATURES: • Customizable on-the-fly view forms defined in YAML • Different policies are applicable to the view forms: web, web-readonly, tango • Supports different validations: number, double, string, text, required • Provides tango access to data • Offline clients
  4. 4. Status Server FEATURES: • Forms continuous timeline of the experiment • Simple configuration, defined in XML • Values can be obtained through event or polling mechanism • Different interpolation strategies: last, nearest and linear
  5. 5. Mobile Status Server Client • Monitor the ongoing experiment from a mobile device • Review experiment when device is offline • Configure easily for a variety of different instruments Idea: Goals:
  6. 6. X-Environment
  7. 7. DataFormatServer NXComposer: YAML NeXus definition:
  8. 8. Integrating everything together
  9. 9. X-Environment
  10. 10. OpenCL real-time reconstruction server A Tango server that performs a reconstruction in parallel to the experiment. FEAUTURES: •Based on KIT’s UFO project. •Main goal: to give users close to real time reconstruction •Deal with up to 1000 frames/s (1 frame = 2K x 2K)
  11. 11. Thank you! Questions?
  12. 12. Thank you! Questions?
  13. 13. ezTangORB Consider the following example: DeviceProxy proxy = new DeviceProxy("some-device"); DeviceAttribute attribute = proxy.read_attribute("some-attribute"); if(result.hasFailed()){ throw new Exception("Can not read attribute."); } int dataFormat = result.getDataFormat() int dataType = result.getType() double result; switch(dataType){ case Tango_DEV_Double: switch(dataFormat){ case _SCALAR: result = attribute.extractDouble() ... } ... } ... Using the API the same result can be achieved with the following code: TangoProxyWrapper proxy = new TangoProxyWrapper("some-device"); double result = proxy.<Double>readAttribute("some-attribute"); ... This library will be a part of the Tango distribution since version 9.
  14. 14. Control Server [IDL Scripts]
  15. 15. Miscelanious • WebCam Tango Server (published in Tango repository) • DataMatrixDecoder Tango Server (published in Tango repository) • PXICI 2.0 CL Frame Grabber Tango Server (not yet published) • Android control application for Fischertechnics on DESY open days 2013
  16. 16. Tango meeting in München Acquaintance with Andy Gotz→ mobile Tango meeting in Barcelona Have a talk Regular Lund meetings Every time new poster San Diego SPIE conference Poster and publication presenting our system Oslo JavaZone conference Acquaintance with JetBrains company (makes professional software development) → workshop for Tango meeting in Krakow