Pyafm:控制原子力显微镜的工具。
pyafm的Python项目详细描述
Pyafm
pyafm是一套控制原子力显微镜的工具。它 使用短距离(压电)和 远程(步进)垂直定位。有单独的模块 为了控制压电(pypiezo)和步进器(stepper),这个 模块主要包含需要两者功能的方法。
该模块可以选择性地包括通过pypid的温度传感 后端。
套餐
gentoo
我已经为Gentoo包装了Pyafm。你需要layman和我的wtk overlay。安装时使用:
# emerge -av app-portage/layman # layman --add wtk # emerge -av sci-physics/pyafm
尽管它不是严格要求的(多亏了duck typing),但是 可能还需要我的stepper包或等效的 步进执行。
依赖关系
pyafm需要以下python模块:
获取源
pyafm可用作Git存储库:
$ git clone git://tremily.us/pyafm.git
也有定期的捆绑发行。例如,获取版本 0.3作为一个带gzipped tarball,带有:
$ wget 'http://git.tremily.us/?p=pyafm.git;a=snapshot;h=v0.3;sf=tgz' $ tar -xzvf pyafm-0.1.tar.gz
安装
下载后,切换到源目录并运行:
$ python setup.py install
安装pyafm。运行:
$ python setup.py install --help
查看可能要配置的安装选项列表。
用法
docstrings包含一些非常详细的测试来帮助您开始。 dir()和help()是您的朋友;)。一个整洁的特征 我最近(2012-03-16)增加了存储和加载 通过h5config完成AFM配置。例如,当你 首先使用pyafm,可能需要一点时间来挖掘所有必要的 校准常数等,并将其插入您的配置:
>>> import pycomedi.constant >>> import pypiezo.config >>> import pyafm.config >>> config = pyafm.config.AFMConfig() >>> config['name'] = '1B3D9' >>> config['main-axis'] = 'z' >>> config['piezo'] = pypiezo.config.PiezoConfig() >>> config['piezo']['name'] = '2253E' >>> config['piezo']['axes'] = [ ... pypiezo.config.AxisConfig(), pypiezo.config.AxisConfig()] >>> config['piezo']['axes'][0]['gain'] = 20 >>> config['piezo']['axes'][0]['sensitivity'] = 8.8e-9 >>> config['piezo']['axes'][0]['channel'] = pypiezo.config.OutputChannelConfig() >>> config['piezo']['axes'][0]['channel']['analog-reference] = pycomedi.constant.AREF.ground >>> config['piezo']['axes'][0]['channel']['analog-reference] = pycomedi.constant.AREF.ground
一个接一个;)。不过,别担心,一旦你告诉python 关于您的特定afm配置,您可以获得一个工作的AFM 实例很容易:
>>> devices = [] >>> afm = AFM(config=config, devices=devices)
它负责打开所有通道并初始化所有 你在上面配置的部件。devices最后将充满任何 pycomedi.device.Device您需要的实例。一旦你高兴了 使用您的设置,确保config对象是最新的:
>>> afm.setup_config()
将任何新的对象状态复制到.config属性中 (例如,位-伏转换多项式)。那就把你的 配置:
>>> import pyafm.storage >>> pyafm.storage.save_afm(afm=afm, filename='whatever', group='/optional')
它将在指定路径创建一个hdf5文件,并存储afm 在指定组下配置。filename和 group是可选的。如果你不考虑他们,他们会默认 ^分别是{tt12}$和/。
下次你需要用AFM做点什么的时候,只要把你的 旧配置文件。如果你使用默认位置,那就很简单了 作为:
>>> import pyafm.storage >>> devices = [] >>> afm = pyafm.storage.load_afm(devices=devices) >>> afm.load_from_config()
当你用完后,最好关闭任何设备 在devices:
>>> for device in devices: ... device.close()
对默认路径使用load_afm是保持 AFM配置跨多个应用程序同步。那样的话, 如果你重新校准你的 压电或重建放大器。