Independent and future-proof: decoupling of hardware and software through image abstraction

Similar documents
Independent and future-proof: decoupling of hardware and software through image abstraction

Independent and future-proof: decoupling of hardware and software through image abstraction

Specim FX cameras Application Note

New approaches to pattern recognition and automated learning

Using Common Vision Blox on ARM 7 Ubuntu boards

EMBEDDED MACHINE VISION

INTERNAL USE ONLY (Set it to white if you do not need it)

/14/14 Fixed an issue with tm_waitnextframe when setting an exposure greater than 5 seconds.

C4 - Application Note. AutoStart. Rev 1.0. AT - Automation Technology GmbH

OPC UA A NEW COMMUNICATION FRAMEWORK FOR INDUSTRY 4.0 GERHARD HELFRICH, SOFTWARE DEVELOPER, STEMMER IMAGING

Basler. Fully Digital, Attractively Priced

OPC UA A NEW COMMUNICATION FRAMEWORK FOR INDUSTRY 4.0 GERHARD HELFRICH, SOFTWARE DEVELOPER, STEMMER IMAGING

Silicon Software Interface Library for NI LabVIEW. Installation and User Guide Version 2.0

DCAMAPI Library for LabVIEW

Software Installation Instructions. ISG LightWise IQ GigE Vision Cameras. VT ISG LightWise IQ

Industrial Vision Days 2010 C. Strampe: ATOM oder DSP? Embedded Lösungen im Vergleich

License, Rules, and Application Form

Scalable, intelligent image processing board for highest requirements on image acquisition and processing by new generation standard

MACHINE VISION 20 YEARS

Basler. Area Scan Cameras

NI Vision System HANS- PETTER HALVORSEN,

Implications of USB 3.0 Technology for Machine Vision. Sean Wood: OEM Sales Manager Stand Number: D02

Basler. Aegis Electronic Group. Fully Digital, Attractively Priced

APPLICATION NOTE Compatibility of Basler Cameras with Third-Party Software Libraries

Bandwidth under control with IDS GigE Vision cameras

GenICam What is New? Vision Stuttgart Nov Dr. Fritz Dierks. Director of Platform Development at Chair of the GenICam Standard Committee

Using USB3 Vision Cameras with National Instruments' Vision Acquisition Software

Runtime Software Version 5.5.1

SCD - Scorpion Camera Drivers Specification Documentation

Technical Resource. Genie Nano Camera Configuration

Karmin2 Stereo Camera

Integrating the Automation Technology C- series cameras

APPLICATION NOTE. Getting Started with pylon and OpenCV

3D Machine Vision made easy

NI-IMAQdx VI Reference Help

microenable 5 marathon ACL Product Profile of microenable 5 marathon ACL Datasheet microenable 5 marathon ACL

Basler pylon. APPLICATION NOTE How to use the Basler pylon GenTL Producers for Basler GigE and USB 3.0 Cameras with MathWorks MATLAB

NEW: sca VGA resolution at 120 frames. Versatile, Fully Digital, Attractively Priced

Select Your Sensor. Select Your Interface. Get The Perfect Fit

SVCam GigE. Release Notes. Software Kit. Version: Date:

GenICam Meeting Munich, July 11-13, 2005

Basler. New: 1 Megapixel Camera. Innovative, Slim Design, Extremely 60 Frames

microenable IV VD1-CL Product Profile of microenable IV VD1-CL Datasheet microenable IV VD1-CL

Sophisticated in Detail, Versatile and Proven Worldwide. Your benefits include:

GenICam GenTL Standard

Technical Note How to Deal with Frame Loss in GigE Vision Cameras

Electrically focus tunable lens EL Series. Operating instructions

Implementing Symmetric Multiprocessing in LispWorks

MutanT: A Modular and Generic Tool for Multi-Sensor Data Processing

microenable 5 VF8-PoCL

Dual 1200 MB/s F2 fiber optic 300 meter distance interface (SFP connectors)

USB components. Remote-Sensor Cameras Base unit and sensor boards. Camera Configuration. Available Sensor Board Designs. Options

Using USB3 Vision Cameras with HALCON 11 in Windows

Aegis Electronic Group NEW: sca Versatile, Fully Digital, Attractively Priced 1.2 megapixels at 32 frames


SCD - Scorpion Camera Drivers Documentation

CamCube product range. New products: CamCube m & CamCube 4.0 GPU

Release Notes Coaxlink Driver 3.2

Autonomous Driving From Fail-Safe to Fail-Operational Systems

Outline. COM overview. DCOM overview. Comparison DCOM and Corba

Sapera LT Programmer's Manual

LgCam Software v6.4.0

Basler aviator AREA SCAN CAMERAS

The CCD-S3600-D(-UV) is a

Video capture using GigE Vision with MIL. What is GigE Vision

Introduction. Features. Characteristics. USB3 Module for FLIR TAU2

Sophisticated in Detail, Versatile and Proven Worldwide. Your benefits include:

The Great Interface Debate: Are We Done Yet?

Sapera++ LT Programmer s Manual Edition 6.00

- Added support for GenICam for Camera Link (CLProtocol). Requires third party CLProtocol communication DLL supplied by the camera vendor.

Basler. CMOSIS models with Camera Link and up to 340 fps

GigE Area Scan Camera

NOTHING BEATS KNOWHOW HALCON DEMO HOW TO START. What is HALCON? How to start. Where to get information. A first example.

INTERNAL USE ONLY (Set it to white if you do not need it)

FPGA Programming Made Easy

Right first time for PCB assembly

Image processing software. Software packages offer developers numerous options for machine vision design

Baumer Vision Competence Center. Digital industrial cameras and vision sensors

ENGLISH VERSION. USB ueye SE. Your imagination is our challenge

IR Integration with Vic-Snap and Combining IR Data with Vic-3D. Procedure Guide

Komodo 10GiGE Vision Frame Grabber

C++ Threading. Tim Bailey

User Manual PCIE-1172/1174. Reference Manual

OpenMP and more Deadlock 2/16/18

Iceni infix pdf editor pro 4 30

MarshallSoft GPS Component. Library for Visual Basic. Programmer's Manual

CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 22: Remote Procedure Call (RPC)

ARTRAY Thermograph Camera. Software Developer Kit

Extensibility, Safety, and Performance in the Spin Operating System

GigE Module for FLIR TAU2

Sapera LT 8.10 Getting Started Manual For GigE Vision Cameras

Basler. CMOSIS models with Camera Link and up to 340 fps

Installing VisionPro. VisionPro PC Requirements. Minimum PC Requirements. Microsoft Visual Studio. Operating Systems

AT1000 Quick Start Guide V1.2

ishrt USB ishrt USBeX the Bluepack User Manual

Test Applet. User Documentation. FrameGrabberTest for microenable 5 AQ8-CXP6B

Machine Vision Camera Interfaces. Korean Vision Show April 2012

Test Applet. User Documentation. FrameGrabberTest for microenable 5 marathon AF2

Imagenation PX Series

AVT Vimba. AVT Vimba User Guide for Linux Jun-25 V1.2. Allied Vision Technologies GmbH Taschenweg 2a D Stadtroda / Germany

Transcription:

Independent and future-proof: decoupling of hardware and software through image abstraction Martin Kersting, Technical Director, Authorized Executive STEMMER IMAGING STEMMER IMAGING Technology Forum 2015, Unterschleißheim

THE CHALLENGE WHY HAVING SOFTWARE INTERFACES?

THE CHALLENGE BECAUSE OF FLEXIBILITY Components may become obsolete Different processors Different operating systems Different camera technology It all comes down to different application requirements

THE CHALLENGE BUT I M USING STANDARDS LIKE GIGE-VISION AND USB3-VISION These are hardware standards defining the transport media The GenICam standard defines the properties of the camera (XML file) and the transport interface of the data (Transport Layer) The GenICam Transport Layer has two ends The Consumer end and the Producer end The producer comes from a hard- or a software manufacture and may support only one hardware vendor

SOFTWARE INTERFACES SOFTWARE INTERFACES Software components that implement functionality without the need to gain knowledge of their internal implementation Compiler independent Dynamically loadable including lifetime management A component A can substitute component B if both implement the same interface Fully documented Well tested Designed with an awareness that the interface will be used by oblivious users An implementation is a black box defined by its interface

SOFTWARE INTERFACES SOFTWARE INTERFACES The functionality of a software interface behaves similar for all hardware drivers supporting the interface Switching between different hardware becomes very simple Load a different driver, check for the existence of the interface you want to use and call its methods New functionality based on new technology trends is implemented in new interfaces Existing interfaces will never change This will ensure backward compatibility and protect your development investments

THE COMPONENT OBJECT MODEL INTRODUCED BY MICROSOFT An instance of an interface implementation is a pointer to an array of pointers to methods of the interface The implementation can be instantiated at runtime An interface pointer will be used to access the methods All interfaces are immutable and identified by a Global Unique Identifier (GUID) WARNING: Changing the interface will break the backward compatibility Implementation can be done in C++, C or Delphi (Pascal) Only available under Windows

PSEUDO COM INTRODUCED IN COMMON VISION BLOX Pretty similar to COM, but: Thread safe Lifetime guarantee Lightweight Available for different OS and processors FOR SURE: No interface change since 1996 New functionality introduced by new interfaces

ACCESSING ACQUISITION HARDWARE THE HARDWARE ABSTRACTION LAYER OF CVB Grabbing images IGrabber IPingPong IGrab2 ILineScan Accessing the hardware IDeviceControl INodeMapHandle INodeMapHandle2 Trigger and I/O ISoftwareTrigger ITrigger IBasicDigIO Selecting the hardware IBoardSelect IBoardSelect2 ICameraSelect ICameraSelect2 INotify IPropertyChange IRegPort

HARDWARE INTERFACES Imaging Application Proprietary Algorithms CVB Tools Manto Minos Display OCX Display DLL Image OCX Image DLL Grabber OCX Driver DLL IImageVPA ITrigger IGrab2 IDeviceControl IBoardSelect ICameraSelect... CVB Image Object XXX.vin YYY.vin X64CL.vin X64AN.vin CVAVT1394.vin GenICam.vin GenICam.vin AVI.dll Hardware abstraction through the DDK Grabber Grabber IEEE1394 DCAM USB3-Vision GigE-Vision Video files Image files... Image Source: Hardware Image Source: File system

ACQUISITION INTERFACES OVER TIME CVB IMPLEMENTED 4 ACQUISITION INTERFACES IGrabber Single buffer frame grabber or camera Repeated snaps will fill the buffer IPingPong Two buffers filled in ping-pong mode Process one buffer while acquiring into the second buffer IGrab2 Fills a ring buffer of a fix length Process one buffer while filling the other buffers IRingBuffer Change the number of buffers IGrab2 can use dynamically

IGRABBER INTERFACE APP VIN Camera Snap Ret Snap Snap function waits until an image has been acquired The availability of only one image buffer will likely lead to frame drops

IPINGPONG INTERFACE APP VIN Camera StartPingPong Ret StartPingPong WaitPingPong Ret WaitPingPong StartPingPong Ret StartPingPong UpdatePingPong Ret UpdatePingPong WaitPingPong Ret WaitPingPong StartPingPong Ret StartPingPong UpdatePingPong Ret UpdatePingPong Two buffers are used in ping-pong mode No frame loss as long as processing keeps up with camera frame rate

IGRAB2 INTERFACE I APP VIN Camera G2Grab G2Wait Ret G2Wait G2Grab starts acquisition into a ringbuffer The frame transfer will increase the acquisition index and lock the acuired buffer G2Wait waits until an image has been acquired and increase the processing index

IGRAB2 INTERFACE II APP VIN Camera G2Wait Ret G2Wait The frame transfer will increase the acquisition index and lock the acquired buffer G2Wait will unlock the previous processing buffer and increase the processing index

IGRAB2 INTERFACE III APP VIN Camera G2Grab G2Wait TIMEOUT G2Wait waits until an image has been acquired, but not forever

IGRAB2 INTERFACE IV APP VIN Camera G2Grab Images that have been acquired will lock the ringbuffer

IGRAB2 INTERFACE V APP VIN Camera G2Wait G2Wait G2Wait will unlock the previous image at the processing index and switch to the next image within the ringbuffer

IGRAB2 WAIT MODES ADVANCED WAIT MODES FOR MANY FRAME GRABBERS OR CAMERAS Select the mode in driver configuration file ; waiting mode for grab2 ; 0 wait for new image ; 1 wait for next image after last delivered one ; 2 return last acquired image WaitNextFrame = 1

IGRAB2 WAIT MODE = 1 (DEFAULT) APP VIN Camera G2Wait The next image in acquisition order will be used

IGRAB2 WAIT MODE = 2 APP VIN Camera G2Wait The last image in acquisition order will be used, all previous images will be removed

IGRAB2 WAIT MODE = 0 APP VIN Camera G2Wait The driver will wait until the next image has been acquired, all previous images will be removed

IRINGBUFFER DYNAMICALLY CHANGE THE NUMBER OF BUFFERS AVAILABLE TO IGRAB2 Limited by the available host memory ~1GByte under Windows 32 70GByte successfully tested under Windows 7 64Bit Supports manual and automatic Lock modes Allows for a simple implementation of high speed recording systems

STILL GOT QUESTIONS? Join our LinkedIn group EUROPEAN VISION TECHNOLOGY FORUM and continue discussing with our experts.

THANK YOU FOR YOUR ATTENTION! STEMMER IMAGING GmbH Gutenbergstr. 9-13 82178 Puchheim Germany Phone: +49 89 80902-0 Fax: +49 89 80902-116 info@stemmer-imaging.de www.stemmer-imaging.com Your contact: Martin Kersting