Files
navigate/andor-test/04_parameter_test.py
2025-12-04 17:33:38 +08:00

70 lines
2.0 KiB
Python

from pylablib.devices.Andor import AndorSDK3Camera
# 连接相机
cam = AndorSDK3Camera(idx=0)
cam.open()
print("已连接到相机")
# 获取探测器尺寸
detector_size = cam.get_detector_size()
print(f"探测器尺寸: {detector_size}")
# 测试1: 默认参数采图
print("\n=== 测试1: 默认参数 ===")
print(f"当前曝光: {cam.get_exposure()}")
print(f"当前ROI: {cam.get_roi()}")
cam.setup_acquisition(mode="snap", nframes=1)
cam.start_acquisition()
cam.wait_for_frame()
frames = cam.read_multiple_images()
cam.stop_acquisition()
print(f"采集图像尺寸: {frames[0].shape}")
# 测试2: 修改曝光时间
print("\n=== 测试2: 设置曝光时间 0.05秒 ===")
cam.set_exposure(0.05)
print(f"当前曝光: {cam.get_exposure()}")
cam.setup_acquisition(mode="snap", nframes=1)
cam.start_acquisition()
cam.wait_for_frame()
frames = cam.read_multiple_images()
cam.stop_acquisition()
print(f"采集图像尺寸: {frames[0].shape}")
# 测试3: 修改ROI
print("\n=== 测试3: 设置ROI (512x512) ===")
cam.set_roi(hstart=0, hend=512, vstart=0, vend=512)
print(f"当前ROI: {cam.get_roi()}")
cam.setup_acquisition(mode="snap", nframes=1)
cam.start_acquisition()
cam.wait_for_frame()
frames = cam.read_multiple_images()
cam.stop_acquisition()
print(f"采集图像尺寸: {frames[0].shape}")
# 测试4: 修改binning
print("\n=== 测试4: 设置binning 2x2 ===")
cam.set_roi(hbin=2, vbin=2)
print(f"当前ROI: {cam.get_roi()}")
cam.setup_acquisition(mode="snap", nframes=1)
cam.start_acquisition()
cam.wait_for_frame()
frames = cam.read_multiple_images()
cam.stop_acquisition()
print(f"采集图像尺寸: {frames[0].shape}")
# 测试5: 恢复全幅ROI
print("\n=== 测试5: 恢复全幅ROI ===")
cam.set_roi()
print(f"当前ROI: {cam.get_roi()}")
cam.setup_acquisition(mode="snap", nframes=1)
cam.start_acquisition()
cam.wait_for_frame()
frames = cam.read_multiple_images()
cam.stop_acquisition()
print(f"采集图像尺寸: {frames[0].shape}")
# 断开连接
cam.close()
print("\n已断开连接")