同步撕裂快速热退火(rta)x射线衍射(xrd)数据分析项目

rtapylysis的Python项目详细描述


#Rtapylysis
实验**。
>;此自述文件适用于某些人,这些人可以使用[**\u rtapylysis\u**](https://github.com/sdey135/rtapylysis.git)中的函数来分析类似类型的同步加速器RTA数据。已经在Linux、Mac和Windows操作系统上测试了[**氝rtapylysis氝](https://github.com/sdey135/rtapylysis.git)。

强烈建议安装[anaconda python](https://www.continuum.io/downloads/),该软件包将包括使用[**\u rtapylysis\u**](https://github.com/sdey135/rtapylysis.git)所需的所有python包,但不包括一个。
2。需要安装python包[seaborn](http://seaborn.pydata.org):

*如果安装了[蟒蛇](https://www.continuum.io/downloads/),那么如果安装了[pip](https://pip.pypa.io/en/stable/)则

```````
``````
*```
$pip install——用户seaborn
```

>3。对于裸版python 2.7.12,在运行脚本之前必须安装以下程序包:`numpy`、`scipy`、`matplotlib`、`seaborn`,以及已经安装的python程序包`os`和`sys`.

```
$pip install--user package`用户名`,其中,软件包名称:numpy、scipy、matplotlib、seaborn
````

它可以直接从rtapylysis的[**\u github存储库](https://github.com/sdey135/rtapylysis.git)下载到任何名为**\u target\u**的用户目录。无需安装。

2.或者,[**u rtapylysis(https://github.com/sdey135/rtapylysis.git)可以使用"pip"安装:

`````
$pip install--用户rtapylysis
````

*对于**linux操作系统**,上面的命令将在**u target=`$home/.local/lib/pythonx.y/site packages/`where`pythonx.y=`python2.7\`for`u python 2.7.12\`where`python--version`for`u python version`中安装[**\u rtapylysis.git](https://github.com/sdey135/rtapylysis.git)。

*对于**Mac操作系统**,请参阅此[stackoverflow链接](http://stackoverflow.com/questions/7143077/how-can-i-install-packages-in-my-home-folder-with-pip)以获取**u target的值。


$target和**u target路径)。然后使用以下命令运行示例脚本:

*获取包含在**u$target/example/**
````
$python run`u rta map.py
````

*获取包含在其中的rta分析示例.mat文件**$target/example/**
```
$python run廑rtapylysis.py
````
注意:当前工作目录中与**example廑rtamap.png廑和**example廑rtapylysis.png廑同名的任何以前的文件在执行上述python时都将被覆盖,而无需任何提示脚本。



9492——phasec.txt
-示例
run_rtapylysis.py
```

`func_rtapylysis.py`包含以下函数:
1。rtamap
2.分析
3.布尔什D
4.获取qhkl
5。上划线
6.绘制垂直线
7。[基线](https://bitbucket.org/lucashnegri/peakutils/src/cf22985cc1b4ea32cbd201e368593caf598d71/peakutils/baseline.py?at=master&;fileviewer=file view default)(从[peakutils]复制(http://pythonhosted.org/peakutils/)
8。[savitzky_golay](http://scipy.github.io/old-wiki/pages/cookbook/savitzkygolay)(抄袭自[scipy](https://www.scipy.org/)

`detect_peaks.py`,作者是[**marcos duarte**](https://github.com/demou)包含以下功能:
1。检测峰值
2。_ plot

子目录example包含一个mat file**u example.mat**,一个文本文件example**u structure.txt**,以及两个图像文件**u example_artamap.png_arra和**u example_artapylysis.png_arra,分别显示了可以使用"run_artamap.py"和"run_artapylysis.py"对**u example.mat_arra中的RTA数据进行典型数据分析的示例。文件**example\u structure.txt包含有关输入数据文件**example.mat的结构的信息。为了使数据分析工作顺利进行,必须在**example.mat**之后紧接着**example.txt**构造用户的新matfile。在这种情况下,最好将新的matfiles保存在**u example**子目录下,这样"run\rtamap.py"和"run\rtapylysis.py"可以在最少的更改下运行。

子目录dhkl_dir包含阶段标识所需的三个文本文件,即,**_phasea.txt、phaseb.txt和phasec.txt。据推测,新的matfile中的数据将代表不同的阶段,用户还需要构建新的索引文件,并将其保存在**u dhkl_dir_**中,作为与其中一个dhkl_文件结构类似的文本文件,例如,在**u phasea.txt之后,它是一个以空格分隔的文本文件,至少有4列,值为h、k、l和d-间距(以埃为单位;随着文件中的行号减少)。文件必须包含一个空格分隔的头,例如h k l d_in_angstrom。此文件可从[ICSD]获取(https://www.fiz-karlsruhe.de/icsd.html),或使用[vesta]生成(http://jp-minerals.org/vesta),或手动准备。(hkl)值和d间距值是特定于所考虑的特定晶体学相的。



此外,还包括两个用户友好的python脚本文件:"run_artamap.py"、"run_artapylysis.py"。这些脚本文件将由用户编辑以进行数据分析。这些文件包含的指令是不言而喻的。脚本可以写在一个文件或在相同实验条件下收集的一系列文件上。

输入数据(例如,example.mat)由在样品快速加热时在不同温度下采集的一系列强度与Q矢量的数据组成。
"rtamap"函数将此数据作为输入,并创建一个以温度为x轴、d间距(从q矢量计算)为y轴、强度值为z轴的图,用于初始数据可视化(有关详细信息,请参见"run_rtamap.py")。

"rtapylysis"函数将相同的输入数据(例如example.mat)作为其输入,并创建第一个子图,其中温度为x轴,d间距(从q矢量计算)为y轴,强度值为z轴。在分析过程中,这个二维地图被命名为"rta:full range"。

用户可以选择温度和d-间距值的子区域,以获得第二个子图,该子图可以对所有扫描应用实时多项式背景减法。第二个子图在最终图中命名为"rta:partial"。在研究厚度为2-3纳米的薄膜和超薄薄膜时,动态背景减法步骤对于从噪声中分离有意义的信号特别有用。

"rtapylysis"功能还可以在用户选择的3个温度值(即repr)下输出3个"强度与d间距"子图。存在三种不同的与温度有关的相。假设用户能够向三个文本文件提供有关该特定阶段的预期XRD峰值位置的信息(有关详细信息,请参见"run_rtapylysis.py"),则"rtapylysis"函数还将使用用户提供的索引信息注释3个XRD子图。

"rtapylysis"功能将用户给定的d间距范围中减去峰值后的背景下的区域集成在一起,并将所有集成的峰值区域绘制到一个单独的子图中,该子图的侧面带有峰值标识符。
最后,"rtapylysis"函数根据单个积分峰面积的梯度确定过渡温度,并用这些值注释积分峰面积的梯度子图。

"rtapylysis"函数输出一个出版物质量图,将所有七个子图组合在一起。

"run棼rtamap.py"和"run棼rtapylysis.py"的示例输出包含在下面。

###用于初始数据可视化的RTA图

![示例rtamap](https://cloud.githubusercontent.com/assets/20307497/22233758/8e445f52-e1c0-11e6-9e47-bec9bccada86.png)


2.###分析RTA图

![示例分析](https://cloud.githubusercontent.com/assets/20307497/22233772/bd09c084-e1c0-11e6-8961-fc42a37656d0.png)


如果出现问题,请确保系统的"pythonpath"中存在[**u rtapylysis(https://github.com/sdey135/rtapylysis.git)。

S.Dey等人将于2017年出版。[A.Savitzky,M.J.E.Golay,用简化最小二乘法对数据进行平滑和区分,分析化学,1964,36(8),第1627-1639页](https://dx.doi.org/10.1021/ac60214a047)。
3.[数字食谱第三版:科学计算的艺术,W.H.出版社,S.A.Teukolsky,W.T.Vetterling,B.P.Flannery,剑桥大学出版社ISBN-13:9780521880688](http://dl.acm.org/citation.cfm?id=1403886)。
4.[**marcos duarte**](https://github.com/demotu/bmc/blob/master/notebooks/detect peaks.ipynb)编写的[**marcos duarte**](https://github.com/demotu)包含在[**u rtapylysis**](https://github.com/sdey135/rtapylysis.git)中。
5.[Peakutils](http://pythonhosted.org/peakutils/)。
6.[scipy](https://www.scipy.org/)。

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

推荐PyPI第三方库


热门话题
java楼梯的最大高度   java Jackson从1.7.1更新到2.8.6 JsonTypeInfo子类型反序列化   Spring WebApp中的java JPA异常处理   java在SwingWorker(doInBackground)中从WorkerThread调用多个方法?   java Android Studio构建到jar   java是添加多个按钮组的更有效方法   java MySQL JDBC连接池最大大小   java如何防止元素<Integer>变成元素<Object>   Java:处理大型XML文件提取数据而不编写状态自动机?   SpringBoot和React Web应用程序中CAS的java重定向问题   需要java算法方面的帮助吗   java在JDK 16中使用PowerMock   java异常错误本机方法签名   在Java Android中将JSON映射到数组/对象   如何打开一个窗口。java程序中的dat文件   java应用程序引擎+Maven+热插拔   java Moxy的getValueByXPath为除根元素以外的所有元素返回null