Laser beam profilers are composed of two elements: the instrument that captures the laser’s intensity distribution and the software that both controls the instrument’s acquisition parameters and does the data processing in order to provide quantified measurements such as:
- Beam width (according to a chosen beam diameter definition)
- Astigmatism and ellipticity
- Beam divergence
- Beam pointing stability, or beam wander
A good beam profiling software also allows you to view the beam’s intensity distribution, filter the data, control the instrument’s acquisition parameters and run planned acquisitions. These functions are sufficient for a vast majority of beam profiling applications, and the free software that Gentec-EO provides with the BEAMAGE beam profilers covers them all.
On the other hand, some people have specific calculations that they need to apply to the profiler’s raw data, or they want to integrate the profiler’s output in their own software.
In answer to this request, we have recently launched “BEAMAGE-SDK”, a software development kit for the BEAMAGE series laser beam profiling cameras. Gentec-EO’s BEAMAGE-SDK has been designed to help programmers develop their own software user interface, make their own image analysis, and integrate the BEAMAGE camera to their system without using Gentec-EO’s PC-BEAMAGE software.
The SDK is actually a dll (Dynamic Link Library) that communicates directly with the camera drivers. To give you access to this library, we provide two tools: a user manual and a “get started” example. Both tools are available in the download center.
In the user manual, you will find the list of all the currently available classes and functions, as well as code samples. If you prefer to dive right in and look at how these functions can be used, you can download the .NET example.
This Visual Studio solution already has the BeamageSDK.dll file as a reference and the Beamage.img file as a resource. This example has a very simple user interface that was built for demonstration purposes.
Read on to find the answers to all your questions about this SDK.
HOW EASY IS IT TO USE?
The BEAMAGE-SDK has been designed to be as simple as possible, for a fast, headache-free experience. For example, all object classes that are part of the BEAMAGE-SDK begin with the letter B (for BEAMAGE). Still, keep in mind that the user manual is not a crash-course on coding in .NET or C++. It is written for experienced programmers who already master their coding language.
WHICH LANGUAGES ARE SUPPORTED?
This dll is written in C# and is compatible with all .NET languages: C++, C#, Visual Basic, F#, etc.
CAN I CONNECT TO MULTIPLE CAMERAS?
At the moment, the SDK only supports communication with one camera at a time.
DO I NEED THE PC-BEAMAGE SOFTWARE TOO?
No. Using the BEAMAGE-SDK, your software will communicate directly with the camera’s drivers.
DO I STILL NEED THE PIPELINE?
Another tool that we developed previously to control the BEAMAGE cameras using your own software is a pipeline that channels commands to the camera via a running instance of the PC-BEAMAGE software. With the SDK, you don’t need the PC-BEAMAGE software or the pipeline.
CAN I CALL THE MEASUREMENT RESULTS LIKE BEAM DIAMETER AND ASTIGMATISM?
No. These calculations are done by the PC-BEAMAGE software, not by the instrument itself. With the SDK you get access to the raw data, so all further processing and analysis must be done by your software.
CAN I USE THE M2 FUNCTIONS?
No. All the advanced features in the PC-BEAMAGE software are not available in the dll.
WHAT CAN I CONTROL?
All the basic camera controls are available in the SDK (see the user manual for full details). For example, you can connect a BEAMAGE, start and stop streaming, grab images, control the exposure time, and even subtract the background.