标签归档:Python

自动化机器翻译小试

今年过年的时候,网站服务器意外升级了。新版的PHP不再支持我过时(4.x)的WordPress(WP)系统。以前部署的html服务也大多无法使用。只好借此机会对网站做全面升级。WP系统更新相对容易。不过以前的主题和插件大都不兼容新版系统,不得不寻找新的替代品。折腾了几天之后,网站总算能用了。只有相册系统没找到特别合适的方案。WP的相册插件有很多,可是免费的效果不好,收费的插件又过于复杂。我之前用的NextGEN 图库,体验并不算好,想借着这次升级弄得顺眼些。

Internet Archive中收录的相册页面存档


于是去找开源的解决方案,发现zenphoto看起来简洁清爽,似乎很合适。就在Linux下用XAMPP部署测试了一下(虽然也有docker镜像,但总觉得调试起来比较麻烦),功能设计都很顺手,只是最新版没有中文翻译。我看了一眼zenphoto的本地化文件,发现有个3年前的香港译本,觉得更新一下也花不了多少时间。后来我才意识到自己虽然已经不年轻了,可还是会把问题想得太简单……

继续阅读

线型拟合的置信带绘制

在数据分析过程中,我们经常会遇到线型拟合问题。标准的做法是用最小二乘法(least-squares method)来计算相关系数,用协方差矩阵(covariance matrix)估计误差。不过这是在假定所有数据点都是绝对精确的情况下才成立。而在实际工作中,测量值不可避免地带有误差,忽略这些误差显然会低估相关系数的误差。那么该如何合理考虑数据点的误差,并绘制相应的置信带(confidence band,表示拟合函数的可能出现范围)呢?这里我们借助Python中的相关函数来看一下。

继续阅读

rime拆字词库

中州韵Rime是佛振开发的一款跨平台的开源输入法。支持拼音,双拼,五笔,仓颉等多种输入方案的简繁输入。我在Linux下使用多年,稳定朴素,体验很好。在MintLinux(Ubuntu)命令行下直接用apt安装fcitx-rime包即可。和大多数Linux下的开源软件一样,rime没有完整的图形化配置界面。它的各项配置由 .config/fcitx/rime 目录下的一系列文件控制。 明月拼音·简化字 方案的用户自定义配置文件为luna_pinyin_simp.custom.yaml ,可定义扩充词库、加载自定义符号库、模糊拼音等。具体的初始设置过程可以参考这篇文章
rime2
我因为经常有字不知道拼音无法输出,偶尔会想念其他平台软件提供的拆字输入法。于是干脆为Rime做了一个拆字词库。基本思路是将汉字拆开成不同部分,然后将各个部分转化为拼音即可。借助现成的汉语拆字字典(包含17803汉字,共27603种拆法)和汉字拼音转换工具(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(北极投影)等几个模块的支持,可根据需要自行安装。
继续阅读