用于处理xmcd peem数据的python工具

peemp的Python项目详细描述


窥视

处理来自I06钻石光源的PEEM-XMCD数据的套件。

PEEM-XMCD工作流程

xmcd信号来源于两种不同的x射线圆偏振成像的差异。 有两种类型的数据-xmcd4和xmcd2。前者捕获了4n幅共振+,非共振+,共振-,非共振-。 通常n=10。每组图像取平均值。偏振相关信号是从开共振和关共振之间的差异中提取的。

困难在于随着时间的推移会出现漂移,但需要对信号进行平均以减少噪声。 在取平均值之前,需要对图像进行漂移校正,以最小化它们之间的不匹配。 此外,开、关共振图像需要分别进行漂移校正。

这是什么

每次捕获的漂移校正

利用漂移是聚集过程的优点,提出了一种更稳健的漂移校正方案。 在最初的igor实现中,需要选择一个包含特性的roi,并且特性必须在整个系列中保持在roi中。 在这里,我们允许每个帧的floatingroi。 下一帧的roi基于计算出的当前帧的绝对位移进行移位。 这有效地使roi“锁定”到图像序列中的特征。 因此,初始roi只需要与feature一样大,前提是帧之间的相对漂移不会将特征完全移出roi。

使用skimage.feature.register_translation中的例程。 它比标准(超采样)图像卷积方案快得多。 通过对含噪数据的校正帧进行加权平均,动态地对参考图像进行改进。

批处理

已编写批处理脚本。使用python的multiprocessing模块, 并行批处理可以使用所有的计算能力。 可以在处理选择敏感漂移区域之前预览捕获。 为了提高内存效率,最好使用inplace漂移处理模型,以避免创建数据的附加副本。

xmcd信号计算

xmcd信号图像可以使用peempy.xmcd

xmcd向量映射构造

xmcd矢量图可以由多个角度的信号生成。 由于仪器的变形,安装前需要对正框架。 此包允许基于任意数量的对齐控制点在任意数量的帧之间进行图像对齐。 当xmcd图像的角度大于三个角时,可以构造三维矢量地图。

开始

安装

包的稳定版本上载到python包索引(pypi)中,可以使用以下命令安装:

pip install peempy

或者,也可以使用以下命令安装开发版本:

pip install git+https://gitlab.com/bz1/peempy@dev

通信线路接口

使用pip安装包后,可以使用命令行界面执行以下任务 从原始数据中计算xmcd信号,对xmcd信号进行平均,并监控数据的采集进度。 要使用的主命令是简单的包名-peempy,并且有子命令用于 功能。

例如:

Usage: peempy [OPTIONS] COMMAND [ARGS]...

  The command line interface of peempy

Options:
  --version                       Display the version of PEEMPY
  -pd, --peem-data-dir TEXT       The beamline data directory
  -wd, --work-dir TEXT            The base directory to be used for saving
                                  processed
  -dm, --drift-mode [one-pass|two-pass|iter]
                                  Drift correction mode
  -fp, --float-precision [single|double]
                                  Floating point precision when saving XMCD
                                  signal
  --help                          Show this message and exit.

Commands:
  datalist    Print the avaliable datafolders
  drift       Perform batch drift operation.
  view-drift  view the drift corrected images
  xmcdavg     Align and average XMCD signals
  xmcdlist    List IDs of captures that have XMCD computed.

对于任何子命令,都可以通过传递--help标志来访问帮助信息。

python api

这个包定义了许多类来处理不同的任务:

  • ImageStack是许多其他类的基类。它表示存储在多维数组中的一堆图像。
  • ImageSeries表示图像的时间序列,可以进行漂移校正。
    • XMCDImageSeries表示xmcd捕获,通常由40帧交替能量/极化组成。
    • DriftCorrector是进行漂移校正的类
  • XMCDStack是一堆xmcd信号。这个类用于制作矢量地图。

待办事项

  • 编写快速入门文档

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java实现双锁并发队列   java如何更改SpringWS 2.4.4版或更高版本中maxOccurs的默认限制?   java Selenium RC如何处理动态行?   java何时引入Javac StringBuilder/StringBuffer优化?   java mediaplayer在R.raw Android上失败   java JPA2:不区分大小写,就像在任何地方匹配一样   如何从JDK15中提取java预览类文件?   java与mySQL删除查询不一致   从Shutdownow()返回的java列表<Runnable>无法转换为提交的Runnable   java如何从回调接口获取对象值?   java如何获得视图的高度,在xml中可见性和高度定义为wrap_内容?   postgresql Mybatis在启动时遇到“由以下原因引起:java.net.UnknownHostException:localhost”,为什么?   带有实例调用的方法调用的java intellij格式化程序换行   由于特定的第三方库,java Proguard产生运行时错误   动画JAVA JPanel同时滑出和滑入