-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
7d9480a
commit 6345a14
Showing
8 changed files
with
1,304 additions
and
79 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,261 @@ | ||
{ | ||
"cells": [ | ||
{ | ||
"cell_type": "code", | ||
"execution_count": 1, | ||
"metadata": {}, | ||
"outputs": [], | ||
"source": [ | ||
"import ctypes\n", | ||
"import ctypes.util\n", | ||
"import ctypes.wintypes\n", | ||
"import numpy\n", | ||
"import os\n", | ||
"import sys\n", | ||
"import time" | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": 2, | ||
"metadata": {}, | ||
"outputs": [ | ||
{ | ||
"name": "stdout", | ||
"output_type": "stream", | ||
"text": [ | ||
" Volume in drive C is OS\n", | ||
" Volume Serial Number is 66FF-ED43\n", | ||
"\n", | ||
" Directory of c:\\Softwares\\Github\\MerScope01\\storm_control\\sc_hardware\\thorlabs\n", | ||
"\n", | ||
"07/17/2023 03:09 AM <DIR> .\n", | ||
"07/17/2023 03:09 AM <DIR> ..\n", | ||
"03/28/2023 08:51 PM 19 __init__.py\n", | ||
"07/17/2023 03:36 AM <DIR> __pycache__\n", | ||
"03/28/2023 08:51 PM 3,044 FW102C.py\n", | ||
"03/28/2023 08:51 PM 2,093 FW102CModule.py\n", | ||
"03/28/2023 08:51 PM 1,923 installing_pyAPT.txt\n", | ||
"03/28/2023 08:51 PM 5,432 LDC210.py\n", | ||
"03/28/2023 08:51 PM 2,385 LDCModule.py\n", | ||
"03/28/2023 08:51 PM 2,487 mgmotorAX.py\n", | ||
"03/28/2023 08:51 PM 7,282 PDQ80S1.py\n", | ||
"03/28/2023 08:51 PM 3,339 PM100.py\n", | ||
"03/28/2023 08:51 PM 3,275 settings.tcp\n", | ||
"03/28/2023 08:51 PM 2,630 TPZ001.py\n", | ||
"06/11/2021 05:51 PM 10,068,008 uc480_64.dll\n", | ||
"07/17/2023 02:49 AM 2,926 uc480_settings.ini\n", | ||
"07/17/2023 03:18 AM 27,221 uc480Camera.py\n", | ||
"03/28/2023 08:51 PM 9,411 uc480CameraModule.py\n", | ||
" 15 File(s) 10,141,475 bytes\n", | ||
" 3 Dir(s) 695,261,057,024 bytes free\n" | ||
] | ||
} | ||
], | ||
"source": [ | ||
"ls ..\\..\\storm_control\\sc_hardware\\thorlabs" | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": 7, | ||
"metadata": {}, | ||
"outputs": [], | ||
"source": [ | ||
"sys.path.append(r\"..\\..\\storm_control\\sc_hardware\\thorlabs\")\n", | ||
"sys.path.append(r\"..\\..\")\n", | ||
"from uc480Camera import Camera, loadDLL" | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": 16, | ||
"metadata": {}, | ||
"outputs": [], | ||
"source": [ | ||
"global uc480\n", | ||
"loadDLL(r\"C:\\Program Files\\Thorlabs\\Scientific Imaging\\ThorCam\\uc480_64.dll\")" | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": 24, | ||
"metadata": {}, | ||
"outputs": [ | ||
{ | ||
"ename": "OSError", | ||
"evalue": "cannot load library 'C:\\Windows\\system32\\uc480_64.dll': error 0x45a", | ||
"output_type": "error", | ||
"traceback": [ | ||
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", | ||
"\u001b[1;31mOSError\u001b[0m Traceback (most recent call last)", | ||
"Cell \u001b[1;32mIn[24], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39minstrumental\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mdrivers\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mcameras\u001b[39;00m \u001b[39mimport\u001b[39;00m uc480\n", | ||
"File \u001b[1;32mc:\\Users\\Weissman_Lab\\.conda\\envs\\halenv\\lib\\site-packages\\instrumental\\drivers\\cameras\\uc480.py:32\u001b[0m\n\u001b[0;32m 29\u001b[0m _INST_PARAMS \u001b[39m=\u001b[39m [\u001b[39m'\u001b[39m\u001b[39mserial\u001b[39m\u001b[39m'\u001b[39m, \u001b[39m'\u001b[39m\u001b[39mid\u001b[39m\u001b[39m'\u001b[39m, \u001b[39m'\u001b[39m\u001b[39mmodel\u001b[39m\u001b[39m'\u001b[39m]\n\u001b[0;32m 30\u001b[0m _INST_CLASSES \u001b[39m=\u001b[39m [\u001b[39m'\u001b[39m\u001b[39mUC480_Camera\u001b[39m\u001b[39m'\u001b[39m]\n\u001b[1;32m---> 32\u001b[0m info \u001b[39m=\u001b[39m load_lib(\u001b[39m'\u001b[39;49m\u001b[39muc480\u001b[39;49m\u001b[39m'\u001b[39;49m, __package__)\n\u001b[0;32m 33\u001b[0m ffi \u001b[39m=\u001b[39m info\u001b[39m.\u001b[39m_ffi\n\u001b[0;32m 35\u001b[0m __all__ \u001b[39m=\u001b[39m [\u001b[39m'\u001b[39m\u001b[39mUC480_Camera\u001b[39m\u001b[39m'\u001b[39m]\n", | ||
"File \u001b[1;32mc:\\Users\\Weissman_Lab\\.conda\\envs\\halenv\\lib\\site-packages\\nicelib\\__init__.py:69\u001b[0m, in \u001b[0;36mload_lib\u001b[1;34m(name, pkg, dir, builder, kwargs)\u001b[0m\n\u001b[0;32m 67\u001b[0m \u001b[39mtry\u001b[39;00m:\n\u001b[0;32m 68\u001b[0m log\u001b[39m.\u001b[39minfo(\u001b[39m'\u001b[39m\u001b[39mLoading \u001b[39m\u001b[39m%s\u001b[39;00m\u001b[39m from \u001b[39m\u001b[39m%s\u001b[39;00m\u001b[39m...\u001b[39m\u001b[39m'\u001b[39m, lib_name, pkg)\n\u001b[1;32m---> 69\u001b[0m lib_module \u001b[39m=\u001b[39m import_module(lib_name, pkg)\n\u001b[0;32m 70\u001b[0m \u001b[39mexcept\u001b[39;00m \u001b[39mImportError\u001b[39;00m:\n\u001b[0;32m 71\u001b[0m \u001b[39mif\u001b[39;00m builder \u001b[39mis\u001b[39;00m \u001b[39mNone\u001b[39;00m:\n", | ||
"File \u001b[1;32mc:\\Users\\Weissman_Lab\\.conda\\envs\\halenv\\lib\\importlib\\__init__.py:126\u001b[0m, in \u001b[0;36mimport_module\u001b[1;34m(name, package)\u001b[0m\n\u001b[0;32m 124\u001b[0m \u001b[39mbreak\u001b[39;00m\n\u001b[0;32m 125\u001b[0m level \u001b[39m+\u001b[39m\u001b[39m=\u001b[39m \u001b[39m1\u001b[39m\n\u001b[1;32m--> 126\u001b[0m \u001b[39mreturn\u001b[39;00m _bootstrap\u001b[39m.\u001b[39;49m_gcd_import(name[level:], package, level)\n", | ||
"File \u001b[1;32mc:\\Users\\Weissman_Lab\\.conda\\envs\\halenv\\lib\\site-packages\\instrumental\\drivers\\cameras\\_uc480lib.py:21\u001b[0m\n\u001b[0;32m 19\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39m'\u001b[39m\u001b[39mC:\u001b[39m\u001b[39m\\\\\u001b[39;00m\u001b[39mWindows\u001b[39m\u001b[39m\\\\\u001b[39;00m\u001b[39msystem32\u001b[39m\u001b[39m'\u001b[39m:\n\u001b[0;32m 20\u001b[0m os\u001b[39m.\u001b[39mchdir(\u001b[39m'\u001b[39m\u001b[39mC:\u001b[39m\u001b[39m\\\\\u001b[39;00m\u001b[39mWindows\u001b[39m\u001b[39m\\\\\u001b[39;00m\u001b[39msystem32\u001b[39m\u001b[39m'\u001b[39m)\n\u001b[1;32m---> 21\u001b[0m lib \u001b[39m=\u001b[39m ffi\u001b[39m.\u001b[39;49mdlopen(\u001b[39m'\u001b[39;49m\u001b[39mC:\u001b[39;49m\u001b[39m\\\\\u001b[39;49;00m\u001b[39mWindows\u001b[39;49m\u001b[39m\\\\\u001b[39;49;00m\u001b[39msystem32\u001b[39;49m\u001b[39m\\\\\u001b[39;49;00m\u001b[39muc480_64.dll\u001b[39;49m\u001b[39m'\u001b[39;49m)\n\u001b[0;32m 22\u001b[0m os\u001b[39m.\u001b[39mchdir(_old_curdir)\n\u001b[0;32m 24\u001b[0m \u001b[39m# Generated macro definitions\u001b[39;00m\n", | ||
"\u001b[1;31mOSError\u001b[0m: cannot load library 'C:\\Windows\\system32\\uc480_64.dll': error 0x45a" | ||
] | ||
} | ||
], | ||
"source": [ | ||
"from instrumental.drivers.cameras import uc480\n" | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": null, | ||
"metadata": {}, | ||
"outputs": [], | ||
"source": [] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": 23, | ||
"metadata": {}, | ||
"outputs": [ | ||
{ | ||
"ename": "OSError", | ||
"evalue": "cannot load library 'C:\\Windows\\system32\\uc480_64.dll': error 0x45a", | ||
"output_type": "error", | ||
"traceback": [ | ||
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", | ||
"\u001b[1;31mOSError\u001b[0m Traceback (most recent call last)", | ||
"Cell \u001b[1;32mIn[23], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39minstrumental\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mdrivers\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mcameras\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39muc480\u001b[39;00m \u001b[39mimport\u001b[39;00m UC480_Camera\n", | ||
"File \u001b[1;32mc:\\Users\\Weissman_Lab\\.conda\\envs\\halenv\\lib\\site-packages\\instrumental\\drivers\\cameras\\uc480.py:32\u001b[0m\n\u001b[0;32m 29\u001b[0m _INST_PARAMS \u001b[39m=\u001b[39m [\u001b[39m'\u001b[39m\u001b[39mserial\u001b[39m\u001b[39m'\u001b[39m, \u001b[39m'\u001b[39m\u001b[39mid\u001b[39m\u001b[39m'\u001b[39m, \u001b[39m'\u001b[39m\u001b[39mmodel\u001b[39m\u001b[39m'\u001b[39m]\n\u001b[0;32m 30\u001b[0m _INST_CLASSES \u001b[39m=\u001b[39m [\u001b[39m'\u001b[39m\u001b[39mUC480_Camera\u001b[39m\u001b[39m'\u001b[39m]\n\u001b[1;32m---> 32\u001b[0m info \u001b[39m=\u001b[39m load_lib(\u001b[39m'\u001b[39;49m\u001b[39muc480\u001b[39;49m\u001b[39m'\u001b[39;49m, __package__)\n\u001b[0;32m 33\u001b[0m ffi \u001b[39m=\u001b[39m info\u001b[39m.\u001b[39m_ffi\n\u001b[0;32m 35\u001b[0m __all__ \u001b[39m=\u001b[39m [\u001b[39m'\u001b[39m\u001b[39mUC480_Camera\u001b[39m\u001b[39m'\u001b[39m]\n", | ||
"File \u001b[1;32mc:\\Users\\Weissman_Lab\\.conda\\envs\\halenv\\lib\\site-packages\\nicelib\\__init__.py:69\u001b[0m, in \u001b[0;36mload_lib\u001b[1;34m(name, pkg, dir, builder, kwargs)\u001b[0m\n\u001b[0;32m 67\u001b[0m \u001b[39mtry\u001b[39;00m:\n\u001b[0;32m 68\u001b[0m log\u001b[39m.\u001b[39minfo(\u001b[39m'\u001b[39m\u001b[39mLoading \u001b[39m\u001b[39m%s\u001b[39;00m\u001b[39m from \u001b[39m\u001b[39m%s\u001b[39;00m\u001b[39m...\u001b[39m\u001b[39m'\u001b[39m, lib_name, pkg)\n\u001b[1;32m---> 69\u001b[0m lib_module \u001b[39m=\u001b[39m import_module(lib_name, pkg)\n\u001b[0;32m 70\u001b[0m \u001b[39mexcept\u001b[39;00m \u001b[39mImportError\u001b[39;00m:\n\u001b[0;32m 71\u001b[0m \u001b[39mif\u001b[39;00m builder \u001b[39mis\u001b[39;00m \u001b[39mNone\u001b[39;00m:\n", | ||
"File \u001b[1;32mc:\\Users\\Weissman_Lab\\.conda\\envs\\halenv\\lib\\importlib\\__init__.py:126\u001b[0m, in \u001b[0;36mimport_module\u001b[1;34m(name, package)\u001b[0m\n\u001b[0;32m 124\u001b[0m \u001b[39mbreak\u001b[39;00m\n\u001b[0;32m 125\u001b[0m level \u001b[39m+\u001b[39m\u001b[39m=\u001b[39m \u001b[39m1\u001b[39m\n\u001b[1;32m--> 126\u001b[0m \u001b[39mreturn\u001b[39;00m _bootstrap\u001b[39m.\u001b[39;49m_gcd_import(name[level:], package, level)\n", | ||
"File \u001b[1;32mc:\\Users\\Weissman_Lab\\.conda\\envs\\halenv\\lib\\site-packages\\instrumental\\drivers\\cameras\\_uc480lib.py:21\u001b[0m\n\u001b[0;32m 19\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39m'\u001b[39m\u001b[39mC:\u001b[39m\u001b[39m\\\\\u001b[39;00m\u001b[39mWindows\u001b[39m\u001b[39m\\\\\u001b[39;00m\u001b[39msystem32\u001b[39m\u001b[39m'\u001b[39m:\n\u001b[0;32m 20\u001b[0m os\u001b[39m.\u001b[39mchdir(\u001b[39m'\u001b[39m\u001b[39mC:\u001b[39m\u001b[39m\\\\\u001b[39;00m\u001b[39mWindows\u001b[39m\u001b[39m\\\\\u001b[39;00m\u001b[39msystem32\u001b[39m\u001b[39m'\u001b[39m)\n\u001b[1;32m---> 21\u001b[0m lib \u001b[39m=\u001b[39m ffi\u001b[39m.\u001b[39;49mdlopen(\u001b[39m'\u001b[39;49m\u001b[39mC:\u001b[39;49m\u001b[39m\\\\\u001b[39;49;00m\u001b[39mWindows\u001b[39;49m\u001b[39m\\\\\u001b[39;49;00m\u001b[39msystem32\u001b[39;49m\u001b[39m\\\\\u001b[39;49;00m\u001b[39muc480_64.dll\u001b[39;49m\u001b[39m'\u001b[39;49m)\n\u001b[0;32m 22\u001b[0m os\u001b[39m.\u001b[39mchdir(_old_curdir)\n\u001b[0;32m 24\u001b[0m \u001b[39m# Generated macro definitions\u001b[39;00m\n", | ||
"\u001b[1;31mOSError\u001b[0m: cannot load library 'C:\\Windows\\system32\\uc480_64.dll': error 0x45a" | ||
] | ||
} | ||
], | ||
"source": [ | ||
"from instrumental.drivers.cameras.uc480 import UC480_Camera\n", | ||
"a" | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": null, | ||
"metadata": {}, | ||
"outputs": [], | ||
"source": [] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": 17, | ||
"metadata": {}, | ||
"outputs": [ | ||
{ | ||
"name": "stdout", | ||
"output_type": "stream", | ||
"text": [ | ||
"uc480: Call failed with error 3 is_InitCamera\n", | ||
"uc480: Call failed with error 1 is_GetSensorInfo\n", | ||
"uc480: Call failed with error 1 is_SetColorMode\n", | ||
"uc480: Call failed with error 1 is_SetGainBoost\n", | ||
"uc480: Call failed with error 1 is_SetGamma\n", | ||
"uc480: Call failed with error 1 is_SetHardwareGain\n", | ||
"uc480 used default settings.\n", | ||
"uc480: Call failed with error 1 is_AllocImageMem\n", | ||
"uc480: Call failed with error 1 is_SetImageMem\n" | ||
] | ||
} | ||
], | ||
"source": [ | ||
"cam = Camera(1)" | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": 20, | ||
"metadata": {}, | ||
"outputs": [ | ||
{ | ||
"name": "stdout", | ||
"output_type": "stream", | ||
"text": [ | ||
"uc480: Call failed with error 1 is_SetFrameRate\n", | ||
"1000\n", | ||
"c_double(0.0)\n", | ||
"uc480: Set frame rate to 0.00 FPS\n" | ||
] | ||
} | ||
], | ||
"source": [ | ||
"cam.setFrameRate(verbose=True)" | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": 26, | ||
"metadata": {}, | ||
"outputs": [ | ||
{ | ||
"ename": "NameError", | ||
"evalue": "name 'cam' is not defined", | ||
"output_type": "error", | ||
"traceback": [ | ||
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", | ||
"\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", | ||
"Cell \u001b[1;32mIn[26], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m cam\u001b[39m.\u001b[39mis_InitCamera()\n", | ||
"\u001b[1;31mNameError\u001b[0m: name 'cam' is not defined" | ||
] | ||
} | ||
], | ||
"source": [ | ||
"cam.is_InitCamera()" | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": 19, | ||
"metadata": {}, | ||
"outputs": [ | ||
{ | ||
"data": { | ||
"text/plain": [ | ||
"ctypes.CDLL" | ||
] | ||
}, | ||
"execution_count": 19, | ||
"metadata": {}, | ||
"output_type": "execute_result" | ||
} | ||
], | ||
"source": [ | ||
"type(uc480)" | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": null, | ||
"metadata": {}, | ||
"outputs": [], | ||
"source": [] | ||
} | ||
], | ||
"metadata": { | ||
"kernelspec": { | ||
"display_name": "halenv", | ||
"language": "python", | ||
"name": "python3" | ||
}, | ||
"language_info": { | ||
"codemirror_mode": { | ||
"name": "ipython", | ||
"version": 3 | ||
}, | ||
"file_extension": ".py", | ||
"mimetype": "text/x-python", | ||
"name": "python", | ||
"nbconvert_exporter": "python", | ||
"pygments_lexer": "ipython3", | ||
"version": "3.10.12" | ||
}, | ||
"orig_nbformat": 4 | ||
}, | ||
"nbformat": 4, | ||
"nbformat_minor": 2 | ||
} |
Oops, something went wrong.