快速导入和查看实验数据的python应用程序

radie的Python项目详细描述


快速数据导入环境(radie)

版权所有(C)3M公司,2018,

许可证:GPL版本2

radie是一个python包,主要用于使用pandas的实验数据 对于数据结构

半径的目的是消除加载和可视化的痛苦。 实验数据。它不是为了复杂的阴谋或美丽 图片,但重点是快速聚合实验数据 存储在文件中的单个位置,以便快速可视化。

图形用户界面演示

alt text

上面的屏幕截图显示了三个不同的实验文件(rigaku xrd文件、粒度分布和idea vsm文件)同时加载到程序中,并使用os文件浏览器进行拖放。从那里我们初始化新的可视化,然后将数据集拖到可视化中。每个可视化都是为特定的目标量身定做的,无论是查看xrd文件、psd文件的特殊性,还是在xy散点图中绘制柱状数据的一般需要。整个过程只需几秒钟,只要编写了合适的加载插件,用户就可以快速查看和显示任何类型的实验数据。

python用法

importradieasrddf=rd.DataStructure(data=[1,2,3],name="data frame")print(df.metadata["name"])print(df.metadata["date"])csv_df=rd.load_file("my_random_data.csv")# unspecified csv datapow_df=rd.load_file("powder_diffraction_measurement.ras")# powder diffraction dataprint(pow_df.metadata["name"])vsm_df=rd.load_file("magnetization_v_field.txt")# VSM measurementprint(vsm_df.metadata["name"])vsm_df.savetxt('my_vsm_file.df',overwrite=True)# save as a csv with metadata# in a commented json blockvsm_reread=rd.load_file('my_vsm_file.df')# will read in savetxt output with# proper class and metadata info                                                  

启动pyqt gui

python -m radie.qt.viewer

要求

  • 努比
  • 熊猫

另外,对于gui应用程序:

  • Pyqt=5.6
  • PyqtGraph=0.10

可选

  • Pywin32(仅限Windows)

安装

pip install radie

要使用Pyqt图形用户界面,还必须安装Pyqt5和PyqtGraph:

pip install radie PyQt5 pyqtgraph

有关最新更新,请克隆此repo并将radie/添加到pythonpath中

在Windows上,运行install_windows_shortcut.py脚本将安装 用于radie的shorcuts使用的python可执行文件与用于 运行安装脚本。这需要pywin32。

亮点

  • 核心功能:
    • structuredataframe-基类,只是一个pandas数据框 更具体的限制、元数据和模板 子类
    • 通用文本文件格式-这只是一个csv文件,其中的元数据 附加到.metadata属性将转换为json对象 并存储在顶部的注释块中。
    • CSV进口商在某些结构假设下试图:
      • 自动确定分隔符
      • 自动查找CSV数据块
      • 自动确定标题
      • 忽略前面的元数据
    • 基于qt的gui查看器,可拖放文件和 数据集比较
  • 可扩展,因为(几乎)所有东西都是插件
    • structureddataframe子类指定结构化数据 (添加您自己的!)
    • 结构化数据的自定义可视化,基于任何合适的 进入qmdisbwindows(我使用pyqtgraph)
    • 为每个受支持的文件类型编写的文件加载程序,注册到 系统使radie.load_文件能够自动检测 并加载注册的文件类型
    • **图形用户界面保存文件将所有快速分析保存在一个位置 每个插件都以json格式指定自己的存储数据 数据结构具有通用的保存格式

**已计划,但尚未实施

当前支持的文件类型

  • 粉末衍射:
    • rigaku(.asc,.ras)
    • 布鲁克(.raw(v2))
    • gsas(.raw,.gsas,.fxye)
  • 振动样品磁强计:
    • 湖岸(.dat,.txt(场V矩))
  • 粒径分布:
    • HORIBA LA-960(.csv)
  • 热重分析
    • TA仪器Q500(.001,.002,003)
  • 差示扫描量热法
    • TA仪器Q2000(.001、.002、.003)

视野

radie不能替代origin、igor、qtiplot或类似的gui 科学绘图/分析软件包。相反,radie有 以下目标:

  1. 导入数据文件,具有拖放和自动文件类型 侦查
    • 粉末衍射数据
    • 频谱数据
    • 任何映射到Pandas结构数据帧的数据
  2. 数据集与自动生成数据集的快速比较 使用拖放的可视化效果
    • 我不想画情节,我想把它们形象化, 软件应该为我绘图
  3. 为更复杂的操作提供与python的合理互操作性
    • matplotlib,bokeh,随便,我想快点 在gui中进行可视化和比较,我将完成 某物的复杂分析与疯狂图形绘制 更灵活,如Jupyter笔记本
    • 强剪贴板集成
    • 所有类型数据的通用文件保存方案
  4. 保存我收集的数据集和可视化效果
    • origin/qtiplot软件实际上不是我喜欢的 分析数据,但保存数据集和 单点绘图
    • jupyter笔记本/matplotlib在 分析数据,但所有这些灵活性都会把事情搞砸 在未来,把所有的东西都放在一起会很好 我可以随时带着 双击鼠标
  5. 合理导出到excel
    • Excel是共享/可视化1-D的最广泛的格式 数据集和这些数据集实际上无处不在。快速 按钮,使Excel文件与非程序员共享 外面有关键的(目前仅限Windows)
  6. < > >

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

    推荐PyPI第三方库


热门话题
java如何在关闭JFrame时调用函数?   macos Java SWT JD WebBrowser JFrame在Windows上运行,但在Mac上不运行   java Hibernate标准别名   java返回一个矩阵中包含所有负数的数组   java是一种查找所有视图的方法。页面上的元素消失了?   java在列表中添加false类型时没有异常   使用maven/eclipse的java AspectJ编译会为org/AspectJ/bridge/IMessageHolder抛出NoClassDefFoundError   java(下划线)是一个保留关键字   具有x的Java匹配字符串允许不匹配。   java如何解决错误:JAR文件无效或损坏   java无法在片段内更新RecyclerView   java构造函数从未被使用过   java对象[]变量名;vs对象变量名称[];   java如何处理服务类mock的创建和执行测试?   Java在构建类路径和运行时类路径优先级中具有相同的类   java如何调整我的代码以适应Android中SAXXML解析的这种情况   JavaEclipse在文件中键入时冻结。jsp文件