标签存档: Python

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命令行窗口中切换到程序目录

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

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

继续阅读

标签:, , .

Python简繁转换

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

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

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

标签:, , , , .

python换桌面脚本2.0

原来发过一个Python下的换桌面脚本,由于相关网站改版,脚本失效.。我也相应更新一下。移除了图片质量一般的EPOD。充分测试了windows(XP) 和 linux(Ubuntu gnome)双平台. 同时将原有的拉伸全屏模式,更改为保持长宽比的居中模式(其他模式的使用参数也已写在注释中)。 对于APOD,可以手动指定更新任意一天的图片(只支持JPG), 而NGPOD的网站地址与时间无关,只能获取最新图片。下载前会检查文件名,如果图片已经存在,则自动跳过。默认下载大图,然后根据设定分辨率生成桌面图片。各项参数要在源码中自行调整。仍需要PIL模块支持,这个模块的详细介绍可以看这里。新脚本点此下载
继续阅读

标签:, , .

Simbad座标查询脚本

近日为一个项目做天体证认,要根据候选天体的座标查找临近天体。Simbad支持座标文件查询,但因为目标很多,返回的页面内容太多,不便查看;但可以提交脚本来定制输出格式,但是脚本查询的返回结果中不区分座标来源,也就是说所有座标的全部查询结果都顺次输入,完全不做区分也没有标记,这样对应关系就全乱了。在问过CDS的Marc Wenger之后,得知系统可以用echodata来人工插入注释。但我有几百个目标写起来太麻烦了,于是写了段python脚本,直接从文件中读取座标,转换为链接格式提交查询,并将结果返回终端,按指定格式写入文件保存,一键完成。
继续阅读

标签:, , , , .

python天文资源索引

Python的科学计算功能非常强大,各方面的支持也渐趋成熟。应对日常的科学计算已是绰绰有余。HYRY写的“用Python做科学计算”就是很好的入门教程。但目前中文资源仍比较少,我这里根据Astronomical Python、和
Python for astronomers两个页面对常见的科学及天文类资源做个简单的介绍 (新闻动态可以参考AstroPython)。

linux下的安装我不多说,windows下推荐安装现成的发行版,目前主要有两个:Python(x,y)EPD (Enthought Python Distribution)。前者是个开源工具大集合,有完整,标准,精简,和ETS(Enthought Tool Suite)四种安装方式可选,完整版包括Qt开发工具和Eclipse开发平台等众多工具,体积有600多M,完全免费;后者包含的库也很全,因为只有命令行界面,体积要小一些,224M。虽然是商业软件,但也免费提供32位的教育版。
继续阅读

标签:, , .
porno film