1 / 9

(Experimental) Image Server

(Experimental) Image Server. Yuri Malitsky Brown University, RI Nikolay Malitsky BNL, NY. EPICS Collaboration Meeting Oct. 7–14, 2010, BNL, NY, USA. Outline. areaDetector-based Application Image Models PvImage PvImage Plugin (server side) Java Clients News from PCaPAC’10

lloydloyd
Download Presentation

(Experimental) Image Server

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. (Experimental) Image Server Yuri Malitsky Brown University, RI Nikolay Malitsky BNL, NY EPICS Collaboration Meeting Oct. 7–14, 2010, BNL, NY, USA

  2. Outline • areaDetector-based Application • Image Models • PvImage • PvImage Plugin (server side) • Java Clients • News from PCaPAC’10 • Compression

  3. areaDetector-based Application • PvImage structure • 30 fps, 1024x768, RGB Task: ImageJ ImagePlus Java Buffered Image SWT Image Data Viewers Qt QVideoFrame PvImage CA3 + PvData IOC areaDetector-based IOC Sources simDetector Prosilica

  4. Image Models • Server side • Programming Interface for Prosilica’s GigE and Firewire cameras (PvAPI) • EPICS areaDetector NDArray • TINE Image Format • Client side • Java BufferedImage, etc • SWT ImageData • QT QVideoFrame

  5. PvRGBAImage data PvRGBAImage PvByteArray id timeStamp width: int height: int x: int // start of readout region (left) y: int // start of readout region (top) pixelSize: int // bits per pixel nmasks: int // number of pixel components masks[nmasks] // rgba isDirect: boolean values: byte[]

  6. PvImagePlugin (server side) asyn asynPortDriver areaDetector implements the asynGenericPointer functions for NDArray objects asynNDArrayDriver NDPluginDriver ADDriver application PvImagePlugin simDetector simDetector PvImagePlugin asynInt8ArrayWfIn simTask computeImage processCallbacks(NDArray *pArray) createPvImageData interruptCallbackInput (…, epicsInt8* pData, int size) copy

  7. Java Clients • BufferedImage: introduced as part of Java 2D API with JDK 1.2 • used in theTINE Video System • VolatileImage: introduced in JDK 1.4 for supporting hardware-accelerated offscreen images • thoroughly discussed in www.javagaming.org, etc. • must be compatible with the hardware • drawn in the application thread • Both approaches require ~ 4 ms for drawing one frame 1024x768, RGB • The client-server application was comfortable with 20 fps.

  8. News From PCaPAC 2010Oct. 5-8, Saskatoon, Canada First, thanks to Elder Matias for a wonderful workshop!!! • S. Weisse, D. Melkumyan, P. Duval (DESY) Status, Applications and Perspective of • TINE-powered Video System, Release 3 • J. Bobnar, I.Kriznar, T.Kusterie (Cosylab), D.Melkumyan, S.Weisse, P. Duval, G.Kube, • J.Wilgen (DESY) TINE/ACOP state-of-the-art Video Controls at Petra III • …

  9. Next Step: Compression Common Approach: M-JPEG lossy intraframe compression EPICS areaDetector plug-ins • Tom Cobb, Diamond • mjpgServer (depricated) based on the jpeglib library • ffmpegServerbased on the ffmpeg libraries TINE Video System S. Weisse, DESY JPEG compression based on the jpeglib library

More Related