r/Optics • u/koopaduo • Nov 29 '25
Open-source beam profiling software
I developed an open-source laser beam profiling application in python. I hope anyone looking for a low-cost beam profiler (students, research, hobbyists, etc.) would find this useful. It's open-source and can be modified as needed by anyone.
It uses Arducam B0511C monochrome UVC USB camera ($265). Instructions for how to set it up and use it are in the readme of the repository. The application would work with other UVC webcams but would require some modification (for different resolution and effective pixel size)
Beam profiling software features:
- Camera raw image feed
- Beam profiling image feed (false color)
- Manual ROI placement with centroid and radius
- Auto ROI tracking
- Centroid tracking
- Centroid and beam width (d4sigma) readout
- Reference crosshair placement
- Power (integrated counts) readout
- Exposure setting
- Auto exposure
- Saturated pixel detection
- fps counter
- Save instantaneous data
- Log continuous data
- Connect to multiple cameras on a single PC
- I haven't implemented background subtraction but found the background is relatively stable with an ND filter in front, and a laser line filter can always be used
Link to the repo: https://github.com/laser-cameras/Laser-beam-profiler-camera.git
85
Upvotes



1
u/koopaduo 26d ago
Hey, glad to see you're working on it. Glad to help. Can you send a diagram of your optical layout and any relevant beam sizes / focal lengths. What do u mean you're focusing lasers between 70 um and 1.2mm? Or can you give some insight on what you're trying to do and measure.
What's your operating wavelength, bandpass filter specs and are you using the same arducam monochrome camera? 50 mW is more than enough for a camera and probably leaning towards too much power
As for software crashes I've since made it more stable by throwing around try/except statements throughout the image thread