Uploaded January 2022 | Updated September 2026, 21 minutes ago
When a scientific camera is integrated into a setup, it can be convenient to automate image acquisition and storage using a hardware trigger. This can be enabled using the software development kit (SDK) provided with Thorlabs' scientific cameras. The use of the SDK to control the operation of a scientific camera is demonstrated using a custom Visual Studio® console application written in C#, as well as a setup that includes a scientific camera, light emitting diode (LED), LED driver, and PC.
The demonstration begins with a general overview of the setup, and then steps through the settings needed to configure the LED driver to pulse the LED five times while providing a TTL output signal each time. Pulsing the light source is one approach to limiting a sample's total light exposure, and the TTL signal can be used to synchronize image acquisition with the illumination of the sample. A cable couples the TTL hardware trigger to the camera.
A blank Visual Studio console application is then opened, and the code is explained as it is typed line-by-line. The program finds all available cameras connected to the PC and is used to select one, whose parameters the program will configure for the setup. The exposure time is set to be slightly less than the LED pulse duration, and a single image acquisition is specified to occur when a hardware trigger is received. Each image is saved to a file as a bitmap, and the total number of acquired images is limited to five. The demonstration concludes with the successful execution of the program, which results in five saved image files that were each taken during a separate flash of the LED.
The C# code demonstrated during this video can be downloaded from Thorlabs' official GitHub account: github.com/Thorlabs/Camera_Examples/blob/main/C%23/Compact_Scientific_Cameras/Hardware_Triggering/Program.cs
The DLLs added during project setup are provided in the Scientific Camera Interfaces folder:
C:\Program Files\Thorlabs\Scientific Imaging\Scientific Camera Support\Scientific Camera Interfaces
Detailed documentation that includes the camera's supported features is found in this folder:
C:\Program Files\Thorlabs\Scientific Imaging\Documentation\Scientific Camera Documents
00:00 - Introduction
00:35 - LED Controller Setup and Connection
02:30 - Brief Discussion of Project Setup (Libraries, Imports)
03:58 - Discover Available Cameras
05:39 -Open a Selected Camera
06:03 - Set Camera Parameters
07:59 - Prepare Camera to Acquire Desired Images
09:44 - Receive and Save Acquired Images
11:29 - Clean Up the Camera Resources
12:03 - Successful Execution of Code
Components used in this demonstration include:
- Thorlabs' software download page: thorlabs.com/software_pages/ViewSoftwarePage.cfm?Code=ThorCam&YVI=19
- CS165MU1 1.6 MP Monochrome CMOS Camera: thorlabs.com/newgrouppage9.cfm?objectgroup_id=13677&pn=CS165MU1&YVI=19
- DC2200 LED Driver with Pulse Modulation: thorlabs.com/newgrouppage9.cfm?objectgroup_id=9117&pn=DC2200&YVI=19
- Mounted LED: thorlabs.com/newgrouppage9.cfm?objectgroup_id=2692&YVI=19
- DG10-600-MD SM1-Mounted Ground Glass Diffuser: thorlabs.com/newgrouppage9.cfm?objectgroup_id=6905&pn=DG10-600-MD&YVI=19
- SM1RC Slip-Ring Mount for SM1 Lens Tubes: thorlabs.com/newgrouppage9.cfm?objectgroup_id=1533&pn=SM1RC&YVI=19
- R1L3S3P Positive Grid Distortion Target: thorlabs.com/newgrouppage9.cfm?objectgroup_id=7501&pn=R1L3S3P&YVI=19
- XYF1 XY Translation Mount for Rectangular Optics: thorlabs.com/newgrouppage9.cfm?objectgroup_id=5343&pn=XYF1&YVI=19
- 1" Diameter, SM1 Lens Tubes: thorlabs.com/newgrouppage9.cfm?objectgroup_id=3307&YVI=19
- 1" Diameter, Adjustable SM1 Lens Tubes: thorlabs.com/newgrouppage9.cfm?objectgroup_id=4109&YVI=19
- Unmounted, AR-Coated, Achromatic Doublets: thorlabs.com/newgrouppage9.cfm?objectgroup_id=120&YVI=19
For more photonics how-to videos, visit thorlabs.com/newgrouppage9.cfm?objectgroup_id=14062&YVI=19
When a scientific camera is integrated into a setup, it can be convenient to automate image acquisition and storage using a hardware trigger. This can be enabled using the software development kit (SDK) provided with Thorlabs' scientific cameras. The use of the SDK to control the operation of a scientific camera is demonstrated using a custom Visual Studio® console application written in C#, as well as a setup that includes a scientific camera, light emitting diode (LED), LED driver, and PC.
The demonstration begins with a general overview of the setup, and then steps through the settings needed to configure the LED driver to pulse the LED five times while providing a TTL output signal each time. Pulsing the light source is one approach to limiting a sample's total light exposure, and the TTL signal can be used to synchronize image acquisition with the illumination of the sample. A cable couples the TTL hardware trigger to the camera.
A blank Visual Studio console application is then opened, and the code is explained as it is typed line-by-line. The program finds all available cameras connected to the PC and is used to select one, whose parameters the program will configure for the setup. The exposure time is set to be slightly less than the LED pulse duration, and a single image acquisition is specified to occur when a hardware trigger is received. Each image is saved to a file as a bitmap, and the total number of acquired images is limited to five. The demonstration concludes with the successful execution of the program, which results in five saved image files that were each taken during a separate flash of the LED.
The C# code demonstrated during this video can be downloaded from Thorlabs' official GitHub account: github.com/Thorlabs/Camera_Examples/blob/main/C%23/Compact_Scientific_Cameras/Hardware_Triggering/Program.cs
The DLLs added during project setup are provided in the Scientific Camera Interfaces folder:
C:\Program Files\Thorlabs\Scientific Imaging\Scientific Camera Support\Scientific Camera Interfaces
Detailed documentation that includes the camera's supported features is found in this folder:
C:\Program Files\Thorlabs\Scientific Imaging\Documentation\Scientific Camera Documents
00:00 - Introduction
00:35 - LED Controller Setup and Connection
02:30 - Brief Discussion of Project Setup (Libraries, Imports)
03:58 - Discover Available Cameras
05:39 -Open a Selected Camera
06:03 - Set Camera Parameters
07:59 - Prepare Camera to Acquire Desired Images
09:44 - Receive and Save Acquired Images
11:29 - Clean Up the Camera Resources
12:03 - Successful Execution of Code
Components used in this demonstration include:
- Thorlabs' software download page: thorlabs.com/software_pages/ViewSoftwarePage.cfm?Code=ThorCam&YVI=19
- CS165MU1 1.6 MP Monochrome CMOS Camera: thorlabs.com/newgrouppage9.cfm?objectgroup_id=13677&pn=CS165MU1&YVI=19
- DC2200 LED Driver with Pulse Modulation: thorlabs.com/newgrouppage9.cfm?objectgroup_id=9117&pn=DC2200&YVI=19
- Mounted LED: thorlabs.com/newgrouppage9.cfm?objectgroup_id=2692&YVI=19
- DG10-600-MD SM1-Mounted Ground Glass Diffuser: thorlabs.com/newgrouppage9.cfm?objectgroup_id=6905&pn=DG10-600-MD&YVI=19
- SM1RC Slip-Ring Mount for SM1 Lens Tubes: thorlabs.com/newgrouppage9.cfm?objectgroup_id=1533&pn=SM1RC&YVI=19
- R1L3S3P Positive Grid Distortion Target: thorlabs.com/newgrouppage9.cfm?objectgroup_id=7501&pn=R1L3S3P&YVI=19
- XYF1 XY Translation Mount for Rectangular Optics: thorlabs.com/newgrouppage9.cfm?objectgroup_id=5343&pn=XYF1&YVI=19
- 1" Diameter, SM1 Lens Tubes: thorlabs.com/newgrouppage9.cfm?objectgroup_id=3307&YVI=19
- 1" Diameter, Adjustable SM1 Lens Tubes: thorlabs.com/newgrouppage9.cfm?objectgroup_id=4109&YVI=19
- Unmounted, AR-Coated, Achromatic Doublets: thorlabs.com/newgrouppage9.cfm?objectgroup_id=120&YVI=19
For more photonics how-to videos, visit thorlabs.com/newgrouppage9.cfm?objectgroup_id=14062&YVI=19

![Build a Polarimeter to Find Stokes Values, Polarization State (Viewer Inspired) | Thorlabs Insights
A polarimeter, which is an optical tool used to measure the polarization state of light, can be constructed using linear polarizers, a quarter-wave plate, and an optical power sensor and meter. This video describes two methods for building a manual polarimeter, the classical method and the rotating wave plate method, and then uses both to measure a laser beams polarization state. [1] Both approaches provide measurement data that describe the polarization state in terms of the four Stokes parameters. This demonstration includes discussion of the relationships between the Stokes parameters and different polarization states, including linearly and circularly polarized light.
In this demonstration, polarization handedness is defined with respect to time and from a perspective of looking into the beam, back towards the source. This video illustrates this convention by visualizing a fixed viewing plane oriented perpendicular to the propagating beam. As the beam passes through the plane, the beams instantaneous polarization vector traces out a shape on the plane. The shape is traced out as a function of time, and the direction in which the shape is traced corresponds to the handedness of the light. The shape itself is the polarization ellipse, which is a convenient and common way to describe lights polarization state. The relationship between the polarization ellipse and the Stokes parameters is also discussed.
Prior to filming, the transmission axes of the linear polarizers and wave plate used to build these polarimeters were oriented with respect to the table. The following are links to Video Insights demonstrating the described alignment procedures:
- Align a linear polarizer horizonal or vertical with respect to the table: https://youtu.be/W9pALZ5Z8ms
- Align a linear polarizer at 45° with respect to the table: https://youtu.be/cqLPD5dL9zY
- Align a wave plates axis to be horizontal with respect to the table: https://youtu.be/P0asuzX4x-Q
- Determine whether a wave plates axis is fast or slow: https://youtu.be/XQwiPm5OtSk
[1] Beth Schaefer, Edward Collett, Robert Smyth, Daniel Barrett, and Beth Fraher Measuring the Stokes polarization parameters, Am. J. Phys. 75, 163-168 (2007).
00:00 - Introduction
00:42 - Stokes Parameters
02:55- Polarization State and Handedness
03:26 -Polarization Ellipse
03:53 - Classical Stokes Parameter Measurement
08:55 - Rotating Quarter-Wave Plate Method
Components used in this demonstration include:
- HeNe Lasers: https://www.thorlabs.com/navigation.cfm?guide_id=125&YVI=16
- Optical Isolator: https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_ID=2996&YVI=16
- Linear Polarizers: https://www.thorlabs.com/navigation.cfm?guide_id=2459&YVI=16
- PRM1 Rotation Mount: https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=990&pn=PRM1&YVI=16
- Wave Plates: https://www.thorlabs.com/navigation.cfm?guide_id=23&YVI=16
- WPMQ05M-633 Quarter-Wave Plate: https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=713&pn=WPMQ05M-633&YVI=16
- RSPC Fixed Position Retainer: https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=47&pn=RSPC&YVI=16
- SM1D12D Iris: https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=1479&pn=SM1D12D&YVI=16
- SM1L20 Lens Tube: https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=3307&pn=SM1L20&YVI=16
- SM1QA Quick-Release Lens Tube Adapter: https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=3758&pn=SM1QA&YVI=16
- S130C Power Sensor: https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=3328&pn=S130C&YVI=16
- PM400 Power Meter: https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=10562&pn=PM400&YVI=16
For more photonics how-to videos, visit https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=14062&YVI=16 Build a Polarimeter to Find Stokes Values, Polarization State (Viewer Inspired) | Thorlabs Insights](https://i.ytimg.com/vi/pR4r7gMyN5U/mqdefault.jpg)








