This isn't a question per se, rather a couple things I have learned while trying to write a Python script to interface with a ThorLabs USB 3.0 digital camera.
I tried a few different drivers (uEye, flycapture2, etc) and found that the uc480 driver was the easiest to use and most reliable one. However, I found it to be a bit tricky to get working properly. I used the import statement from instrumental.drivers.cameras import uc480
to import it into my code. Whenever ThorLab's "ThorCam" software was installed and working properly, this worked no problem. (This software can be found on Thorlab's website: https://www.thorlabs.com/software_pages/ViewSoftwarePage.cfm?Code=ThorCam). However, I found that often, ThorLabs would be installed, but unable to interface with the camera. When this was the case, the uc480 driver would be unable to find any available cameras. This is what I found worked to fix that problem:
If ThorCam can't find the camera and the light on the camera is red, uninstall and reinstall ThorCam, then restart the computer and try again. If the light is red on the camera, I believe this means that the camera is unable to interface with the computer, so uninstalling and reinstalling ThorCam should fix whatever driver issue is causing this.
If ThorCam can't find the camera and the light on the camera is green, this means the camera is probably interfacing with an alternative software. In particular, I found uEye from IDS to be particularly bad about interfacing with the camera and not allowing ThorCams to connect. If this is the case, you can either switch to using uEye using from pyueye import ueye
(though I personally would not recommend this as I found uEye a lot more difficult to use compared to uc480), or delete the IDS software and restart your computer. I also tried using pylablib instead to get the camera to choose which software to interface with, but I did not have any luck. (If you want to try for yourself, here's a link to some documentation: https://pylablib.readthedocs.io/en/latest/devices/uc480.html#operation). If this still doesn't work, try deleting other camera interfacing softwares (such as Spinnaker, FlyCapture, or Flir), restarting your computer, and seeing if ThorCam can now find your camera. This worked for me.
You can check if uc480 is able to find your camera in python using uc480.list_instruments()
.
If anyone has any more refined ways of solving these issues, or additional tips, please add them!