标签归档:Python

Ubuntu下配置触屏笔记本

自苹果公司在2007年发布iPod Touch以来,触控操作迅速席卷了移动领域,成为最流行的交互方式,众多硬件厂商趋之若鹜,触控显示器、触控笔记本层出不穷。而始作俑者苹果公司在这场狂热中压根就没推出过桌面级的屏幕触控设备(ipad就是个娱乐终端)。另一方面,传统的操作系统领域也没有兴起多大波澜。最早有志于统一桌面的Unity已黯然退场;首次支持触控的Windows 8 被市场否定,Windows 10又改回经典界面;软件厂商观望了一阵,看桌面领域没什么赚头,就纷纷开发App去了。人们发现,磨合了三十多年的鼠标键盘工作流并不能简单地被手指替代,哪怕是十指触控。硬件虽好,但缺乏系统和软件的支持也只能做个噱头。

x1yoga 新版Win10针对触控操作做了许多优化,可以为平板提供足够的支持(在Surface Pro上用Drawboard PDF看论文图书还是很有效率的)。相比之下,Linux的体验就不那么友好了。默认的软件和设置完全无法配合平板形态,需要自行设置和优化。我用的Thinkpad X1 Yoga 在 Mint Linux 18.2 下触控屏手指缩放无效,自带的 Wacom 触控笔灵敏度过高,尚未接触屏幕就直接触发点击,笔的按钮也不能触发右键。好在Linux 下的 Wacom 驱动有着相当完善的接口,这些问题都可以通过修改设置解决,这一点可比Surface方便多了。Linux 下 Wacom 驱动的介绍页面是 http://linuxwacom.sourceforge.net/wiki/ , 其中也包括多点触控屏幕的设置。简单来说,需要关闭驱动的手势控制,启用系统的两点控制来实现自带文件、图片、网站等各类浏览器中的手势缩放;修改电磁笔的触发阈值来修正灵敏度。
继续阅读

FITS图像定制

FITS文件是天文学领域最常用的数据交换和存储格式,全称是”普适图像传输系统”(Flexible Image Transport System)。可以记录包括图像,表格,多维数组在内的各类数据。其文件标准由国际天文学联合会(IAU)FITS工作组维护。自上世纪70年代末期出现以来一直保持向下兼容,最新的标准为2008年公布的3.0(2010年正式发表)。
常见的科学计算语言基本都有支持读写FITS文件的函数库,显示FITS图像的软件也有很多,其中最方便最常用的是美国哈佛-史密松天体物理中心(SAO)开发ds9。ds9的功能非常完善,天文研究要用到的功能几乎应有尽有,比如比对图像、证认天体、在线检索数据库等。不过这个软件主要面向鼠标操作,命令行和细节定制上不免有一些小的限制:比如图像只能以固定比例缩放和裁切,区域(region)只支持8种颜色,叠加其他程序输出的等高线或区域也比较麻烦。
aplpy FITS图像的定制推荐使用Python 的FITS文件显示模块 APLpy(注意:只能显示包含图像的FITS文件),可以直接精确指定显示的范围,放大的级数,坐标的标注,灵活地调整输出图像。APLpy 依赖于Numpy, Matplotlib,Astropy,部分功能还需要pyregion (区域文件解析),PyAVM(虚拟天文元数据读取),PIL (图像处理),Montage_wrapper(北极投影)等几个模块的支持,可根据需要自行安装。
继续阅读

中图法目录树

各个图书馆提供的中图法目录列表,不是太简单,就是页面分级过多,查询不方便。因此我一直想做一个文件树式的完整版中国图书馆分类法目录。最主要的问题是条目太多,完整的版本有数万条记录,对应近几兆的文本。这么大的文件直接在页面中加载是不可能的,所以我当时只整理了2099条二级目录。这个数量在IE中展开就已经很吃力了,而且要忍受较长的加载时间。那时也我也不会其他的办法,这件事也就一直拖了下来。

最近这个问题又在不经意间浮上心头,挥之不去。索性放下手头的事情,又重新调查了一遍JS、Ajax相关的开源列表模块,希望能找到合适的框架。对于这种包含上万条记录的浏览需求,只有用动态异步加载(dynamic asynchronous loading)的方式才可能实现,找对了关键词剩下的就好办了。之前我用的DTree早已在2004年就停止了更新,当前热门的jquery库中的几个应用,比如jsTree,treeTable等,都是单次加载,几M的文本数据传输其实还可以接受,可要让浏览器同时加载几万条记录就吃力了。后来我看到了SimpleTree,还有它的相关介绍文章,于是决定用它来试一下。
继续阅读

PDF批量检查工具

在整理网上下载的PDF文件时,经常会遇到损坏的文档。一个个打开来检查的话耗时费力,于是就利用python的pyPdf库写了一个小程序。可以自动校验指定文件夹下的全部pdf文件,自动遍历其中的所有子文件夹。命令行独立运行,不依赖于任何PDF浏览工具。使用方法,在cmd命令行窗口中切换到程序目录

D:\>pdfcheck
PDF-Checker v1.1 by gerry@2012-03-29
Which directory to check: X:\PDF

根据提示输入文件夹路径即可;也可直接指定路径运行。完成后,程序会在当前目录下生成三个文件

  • pdflist.txt :列出 目录下的全部PDF文件
  • pdfdel.txt : 打开出错的PDF文件列表,部分文件可在Acorobat打开时自动修复。
  • pdfsp.txt : 可以打开但有权限限制的PDF文件。

继续阅读

Python简繁转换

简繁转换的工具很多,但始终没有一个完美的解决方案。由于字符之间从来都不是简单的一一对应,不仅一简对多繁的情况大量存在,多简对一繁也屡见不鲜。情况的复杂性由下面几例可见一斑:

头发发展 -> 頭髮發展
萝卜卜卦 -> 蘿蔔卜卦
秒表表达 -> 秒錶表達
晾干乾坤 -> 晾乾乾坤

要正确完成这样的转换,就要在单字对应关系之外加上词组对应。这一点无论Google 翻译,MS Word 或者ConvertZ 基本都可以做到(虚词部分可能稍微困难些)。但两岸相差的不只是字形,还有名称叫法。这一点嘻来嚷往最早的一篇文章中讲的很清楚。转引一个例子:“大衛碧咸在寮國見到了布希”。我第一次看到时完全不知所谓,虽然认得每一个字,还是猜不到这就是“大卫·贝克汉姆在老挝见到了布什”的香港版。要想正确转换这样的句子,就要建立更广泛的简繁词组对照表。也许你会觉得这已经超出了字体转换的范畴,开始接近自动翻译了。但从技术的角度上讲,把“软件”对应为“軟件”,”軟體” 或者 “ruan jian”并没有什么不同,前提是要有一个完善的转换语料库。当然这个前提并不容易满足,因为“所有的规则都有例外“。
继续阅读