Python 板


LINE

各位好 此文文长含程式码 小弟我是新手,因为目前实验上的需求急於生出一个可以收data做数据处理的GUI 所以就使用PyQT跟matplotlib, numpy, scipy来做 我自认自己逻辑、coding什麽都不好,需要的功能多少借网路上的一些范例兜起来了 描述一下我的实验系统 我是用Mightex 的线性CCD module TCN1034-U,原厂有附SDK(dll)..但是我不知道要怎 麽使用DLL..但是它另外也可以有USB protocol去做data的传输 因为看到Github上国外有人已经把它的USB protocol写好一个script来call.. 所以这个方式我权衡一下是对我比较简单的..只是目前看起来只能在linux上才顺利的 抓到这个CCD http://www.mightexsystems.com/images/File/ccd_line_camera_software_package.zip 这个是原厂的程式 包含一个稍完整的控制程式,但是不够我的实验使用 另外SDK中有各式的dll与examples和SDK的说明文件 https://github.com/bgamari/mightex-line-ccd 这个是国外的先进在Github上面写好的script,camera.py 我先描述一下我的问题. 是利用一个read_frame()去读取CCD的data(会是3648的1D array) 後面再做後续的 目前的read_frame()是如下 def read_frame(self): try: frame = self.ccd.get_frame() #self.ccd是前面initialize过的camera.py except: return None if frame is not None: return frame.image - np.mean(frame.dark) else: return None 这个部份的live数据的读取会是 (我是用一个100ms的counter,到时後就call下面) def updateposition(self): self.ccd.set_exposure_time(self.ui.ExpSlide.value()) #把快门设成使用者所要的 self.data = self.read_frame() #读取data x = np.arange(len(self.data)) #取得data长度 self.currentview.plot(x, self.data) #用matplotlib widget plot出来 self.currentcanvas.draw() 不过後面还有单次读取data的时候用的也是类似的方式 设快门後,用read_frame()读data 我利用print(frame)的方式来看读取得顺不顺利 目前看起来是使用者的快门设超过300ms之後就可能会拿到None.. read_frame()不会等到取得ccd的data就会先feed None 在後面需要单次读取data的时候就会造成 File "project.py", line 206, in acqpos a = np.arange(len(self.posframe)) TypeError: object of type 'NoneType' has no len() 的错误 这个部份是我真的一点头绪都没有不知道该怎麽解决的部份 希望各位先进可以帮帮我是不是有简单的fix,像是改写read_frame()里try的判断 式内容,还是难道要连原本国外的那个script里都需要改写呢? 是不是应该要写得让他会等CCD的方式,因为CCD的exposure是0.1ms~6500ms 我会希望可以取得6500ms的data 因为後面的function有部份是希望依使用者设定取得x次特定快门时间的data把它加起来 (这个部份我还有点问题就是用 for i in range(1, step+1): self.ccd.set_exposure_time(self.ui.ExpSpin.value()) self.postframe = self.read_frame() self.accum += self.posframe 其实在这个step>100的时候很容易当掉..改用while loop会比较不容易当掉吗? 感谢各位看完这麽长的内容 希望我有把我的问题描述清楚 谢谢各位大德 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.109.214.4 ※ 编辑: captdavince 来自: 140.109.214.4 (12/21 15:04)
1F:推 doghib:用 swig 在封装过他提供的SDK如何? 12/21 21:14
2F:→ captdavince:我有研究过一下swig跟boost但是感觉很困难 12/21 22:28
3F:→ doghib:要用DLL的话 搜寻 Python ctypes dll 有不少范例 12/22 00:49







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP