X 射线和中子反射率拟合软件。服务器的非 GUI 包。
项目描述
该软件包包含 GenX 3.6 程序,用于改进 X 射线和中子反射率以及使用差分演化的表面 X 射线衍射。它也可以作为一个通用的拟合程序。
支持
可以在以下位置找到教程:http: //genx.sourceforge.net/doc/ 示例可以在菜单帮助->示例中找到。如果您需要更多支持,请发送电子邮件至artur 。格拉维克@psi 。 _ 频道_
参考
如果您使用该程序,请参考以下出版物:A. Glavic 和 M. Björck J. Appl。水晶。55, 1063-1071 (2022)。
更改 3.6.13
修复了在 windows 下导出带有特殊字符的脚本引发错误的错误 (ticket #197)
修复 .ort 文件导出和解析中的一些 bug
一些重构
更改 3.6.12
修复了在第一次自动保存后从控制台使用自动保存和 –error 选项停止拟合的错误
提升元数据编辑能力
更改 3.6.11
将 ORSO 文件定义更新为最近发布的 1.0.0 版本
修改元数据对话框以允许添加和编辑值
为 Rigaku .ras 格式添加新的数据加载器
修复默认和分辨率加载器以忽略非 utf-8 编码值
更改 3.6.10
使用具有改进性能的替代绘图后端实施技术预览(在设置 -> 启动配置文件...菜单中选择。)
从旧版切换到宽屏布局时自动重新启动窗口。
更改 3.6.9
MacOS 二进制发行版的第一个版本
将新脚本“genx_mac”添加到 PyPI 包以开始构建框架 (pythonw)
允许以大写结尾的文件名 (.GX/.HGX)
尝试使用 Wayland 后端修复某些 Linux 系统上的一些绘图问题。
拖放到窗口中打开 GenX 模型文件(如果不在数据列表上方)
修复从文件加载后不记住模型的 GUI 未更改
修复在值编辑器处于活动状态时加载模型后参数网格可能出错的错误
更改 3.6.8
修复了如果脚本使用整数值,则仪器参数的值由 int 类型解析的错误
修复了与旧的 wxPython/wxWidgets 的兼容性问题,该问题会阻止 genx 在 fedora 35 上启动
修复由于 fork 方法在基于 UNIX 的系统上同时运行 numba 和多处理时的问题
更改 3.6.7
修复与 python 3.6-3.7 的兼容性
更改 3.6.6
修复了高级反射率中的仪器编辑器无法工作的 wx 对话框问题(感谢 Leon Lohse)
更改 3.6.5
修复加载新模型后参数网格值单元格越界着色丢失
更改 3.6.4
向脚本编辑器添加简单的语法完成、对象帮助和撤消/重做。要使用,请尝试 ctrl+enter、shift+ctrl+enter、ctrl+alt+Z 或 shift+ctrl+alt+Z。
如果优化器不使用它们,则在使用最小/最大边界之外的参数开始拟合时不要引发错误。(票#175)
修复与 python 3.10 的兼容性问题,使用 wxPython 3.1.1 和 3.1.2a 测试
更改 3.6.3
修复了在“模拟”选项卡中编辑项目时可能导致奇怪错误消息的错误。
根据 wx 版本,在运行颠簸对话框时修复 Linux 上的崩溃
修复了 genx 无法在 python >=3.9 和 anaconda 的 macOS 环境中启动的问题
更改 3.6.2
为 spec_nx、spec_adaptive 和 spec_inhom 模型添加中子反射率的有限偏振效应。要使用,您必须将仪器探头选择为“neutron pol spin-flip”并将模拟功能从“Specular”更改为“PolSpecular”。该函数有 4 个附加参数;p1、p2、F1、F2 用于偏振器、分析器和滤波器效率。定义见https://doi.org/10.1063/1.1150060
更新 UserFuncs 插件以使用类型注释函数自动生成用户对话框。SXRD.hgx 示例显示了存储 XYZ 文件的用法。
在帮助菜单中添加打开示例文件的入口,直接跳转到正确的目录。关于对话框现在显示存储配置文件的路径。
修复了在某些情况下编辑脚本会导致线条松散的错误。
更改 3.6.1
将批处理接口添加到 GUI。这可以通过“文件”对话框访问。请参阅文档的新批量拟合部分。
为绘图 x 和 y 标签添加通用定义。内置模型根据上次模拟扫描定义值,用户始终可以使用__xlabel__和__ylabel__特殊变量在脚本中覆盖。
添加有关 SLD 绘图配置和批处理的详细文档
为模型和加载/保存添加更多单元测试
修复远程适配服务器在正常结束而不是被用户停止时崩溃的问题
更改 3.6.0
添加新的 genx_server (python -m genx.server) 脚本,该脚本允许在集群上运行远程服务,该服务可用于适应不同机器上的 GUI。有关更多信息,请参阅:https ://aglavic.github.io/genx/doc/tutorials/mpi.html。
从凹凸统计实现不对称误差,修复一些错误并添加选项以通过 sqrt(chi2) 标准化参数不确定性,以消除误差条上的比例因子。(见票#190)
用于更好地控制细化和性能的新命令行参数
改进 MPI 运行时的控制台和日志输出,q+<enter> 现在可以停止使用 MPI 开始的拟合
修复一些命令行选项
允许使用鼠标滚轮和 ctrl-/alt-/shift-modifier 更改绘图比例,始终使用鼠标中键重置缩放
改进 SLD 绘图上下文菜单,允许仅显示第一个数据集、外部图例或与数据集关联的颜色
基于用户定义的参考界面生成 SLD 不确定度图的选项
如果没有 mag_y 分量,则不显示单独的 mag_x SLD 用于中子磁反射率
略有改善或 SXRD 模型性能
添加没有 GUI 包要求的 genx3server PyPI 包
有关从命令行使用的文档的更新
在 Mac OS 上运行时自动选择 pythonw 的启动脚本(未经测试)
修复一些小错误
更改 3.5.11
修复表的导出
修复凹凸统计设置参数表的错误列
添加规范 FOM 的文档
更改 3.5.10
添加命令行选项以设置相对参数变化的喙条件
修复在 windows 版本中引发 numpy 浮点错误时可能发生的错误
修复 python API 模块中的参数添加
更改 3.5.9
将 sns_mr 数据加载器更新为简化数据格式的更改。
更改 3.5.8
修复 Linux 系统自动模拟时崩溃的问题,bug #189
修复了一些阻止使用 3D 视图加载 SXRD 插件的快照
Snap 现在足够稳定,可以使用,但由于限制访问问题,不支持多处理
更改 3.5.7
在线检查新的 GenX 版本和下载新设置文件/就地 pip 更新的选项
用于 Ubuntu 18.04/20.04 以外的 Linux 系统的 snap 二进制分发的第一个版本
在错误统计对话框中更好地将所选参数复制到剪贴板
更改 3.5.6
添加选项以在外部编辑器中编辑脚本
修复系统配置中指定不兼容的本地时 GenX 崩溃的问题 #187
修复在某些平台上导致脚本编辑问题的 bug #188
更改 3.5.5
修复了反射率插件仪器对话框导致静默无法在运行 Sim 函数后更新读取值的问题。
更改 3.5.4
为 SINQ 六文本文件格式添加数据加载器
更改 3.5.3
修复处理插入/删除参数的错误
修复打印绘图和表格的错误
修复 SimpleReflectivity 中某些情况下查询 ORSO 数据库的问题
更改 3.5.2
向 spec_inhom 模型添加一个新的建模选项,允许从用户定义的堆栈参数自动生成中子超镜结构。
在第一次评估时未发生的拟合期间捕获器模型错误。
更改 3.5.1
修复了由于撤消/重做功能的更改而导致在网格中删除和移动参数的一些问题。
为 SimpleLayer 和 SimpleReflectivity 添加(测试版)对 ORSO SLD 数据库的支持
SimpleLayer 插件中的一些修复
更改 3.5.0
为大多数用户操作添加撤消/重做功能,例如更改脚本或参数值
历史对话框,显示撤消操作并允许删除以前的步骤,同时保留后面的步骤
重新组织菜单以使其更易于访问
改进了按对象或参数分组的参数排序
从 GUI 启动日志文件并显示带有记录消息的对话框(帮助菜单)
从合适的数据加载器(orso+xrdml)加载多个数据集
根据从 .ort 文件(辐射、分辨率等)读取的元数据配置新的反射率模型
当相对参数扩散到低于阈值时自动停止拟合的新选项。一旦改变其拟合范围的最大部分的参数在总体中的分布小于 1%,将参数设置为例如 1% 将停止。看起来非常稳定,并且有助于长时间运行无法手动停止的 MPI 拟合。(感谢拉里阿诺维茨的想法。)
文档中主要教程的主要更新
更新 orso .ort 文件格式以使用具有更新规范的新 orsopy 包
修复加载 SimpleReflectivity 插件时在拟合期间更新 Pars 图
修复凹凸拟合功能并为此求解器添加 Pars 图更新
修复在没有 numba 的情况下使用多处理会失败的错误
修复了误差线的绘制低于模拟
修复与 matplotlib >=3.5.0 的不兼容问题
对 GUI 代码进行常规重构以允许撤消/重做功能。可能引入了新的错误。一如既往地欢迎所有反馈。
更改 3.4.12
将 PyPI 的 matplotlib 版本限制为 <3.5.0,因为这会破坏 GenX 中的一些代码
更改 3.4.11
修复 Windows 发行版中缺少的库
为标签已更改的较新版本修复 xrdml 加载程序
将 xrdml 文件格式添加到自动数据加载器
更改 3.4.10
修复 genx/data.py 中缺少 os 导入的错误以允许导出
更改 3.4.9
添加 –dpi-scale 选项以覆盖自动检测。如果您遇到大图标超出工具栏,请在 OS X 上使用 –dpi-scale 1.0。
更改 3.4.8
在 unix 系统上从命令行拟合现在显示参数值并在控制台上展开
更改 3.4.7
将导出为 XYZ 文件选项添加到 sxrd/sxrd2 模型 ( sample.export_xyz / domain.export_xyz )
SXRD 插件选项可隐藏体积并显示原子的 dx、dy、dz 运动的箭头
更改 3.4.6
对 sxrd2 模型的一些修复
修复 wx 和 python 3.6 的向后兼容性问题。(后者需要“pip install dataclasses”。)
更改 3.4.5
如文档示例中所述,修复 sls_sxrd 插件以使用其他 LB/dL 列
更改 3.4.4
使用 MPI 修复拟合(集群上的命令行)
修复使用 ctrl+c 停止适合多处理的命令行
对发布图对话框的改进
从命令行安装的一些小错误修复
更改 3.4.3
修复旧 numpy 和 numba 库的向后兼容性问题
更改 3.4.2
修复 windows .exe 中导入设置对话框损坏的错误 #185
添加配置文件选项“gui/solver update time”,可用于较慢的计算机以减少拟合期间的 GUI 负载
更改 3.4.1
发布图对话框的首次预览,允许通过小脚本精确定义绘图属性。可以选择用户定义的图形大小并将图形导出到图像文件。
修复由于配置默认和路径问题导致新安装崩溃的错误 #183 和 #184。
使用错误的配置选项 (#182) 修复参数扫描中的错误,并使用非 DE 拟合项目 fom。
更改 3.4.0
添加额外的优化器用于细化(快速 Levenberg-Marquardt 或 Bumps 库)
改进了简单模型的模拟性能和更好的 GUI 稳定性以实现快速更新。如果选择 CUDA 计算和并行,一个进程将在 GPU 上运行,其余的在 CPU 上运行。
添加选项以根据预定义的循环(2、4 状态或彩虹)自动为数据集着色
允许将数据文件拖放到 GenX 数据表中
显示启动闪屏以提供用户反馈,尤其是在首次运行期间因 JIT 编译而延迟时
对核心代码和配置系统进行重大重构,以便更好地维护和扩展(请注意,这可能会导致新的错误被压缩到 3.3.x 版本。如果发现任何错误报告,请提交!)
减少 numba 在多处理模式下运行时使用的线程数,大大提高性能。
一些小错误修复
更改 3.3.6
修复 hgx 保存/加载非 ASCII 字符模型中的错误
更改 3.3.5
修复文件导出中由于缓存可能导致文件末尾缺少行的错误
扩展单元测试并删除未使用的代码以支持维护
更改 3.3.4
允许使用非零环境层 SLD 计算中子矩阵
修复但在快速中子矩阵计算中使用了错误层索引的粗糙度
更新颠簸统计分析示例笔记本
修复 SimpleReflectivity 向导中残留的高 DPI 问题
修复加载数据集时丢失选项的错误,例如绘图
添加了指向新视频教程做文档的链接。
用更精确的值替换一些物理常数
更改 3.3.3
修复高 DPI 环境中 SimpleReflectivity Wizard 的问题
修复加载新数据时丢失的数据集选项
如果线程仍在后台运行,则防止关闭错误统计对话框
更改 3.3.2
重新引入每次迭代的等待时间,因为没有它 GUI 可能会崩溃。现在可以从优化器对话框中更改它。
更改 3.3.1
将 ORSO 阅读器中的列类型修复为 ndarray 而不是派生类
更改 3.3.0
更新了文档网站以包含 SimpleReflectivity 接口
重新实现非镜面和 X 射线表面衍射模型(sxrd、sxrd2、interdiff)
在 Reflectometry 插件中,手动更改脚本时自动更新 GUI
添加 alpha 版本的 ORSO 文本格式数据阅读器
将自动数据加载器设为默认值,这包括以下加载器:(默认值、分辨率、sns_mr、amor、d17_cosmos、orso)如果您想要自己的数据加载器也可以包含元数据,请将您的仪器数据文件作为示例发送给我。
修复 Linux 系统在更改网格中的参数时崩溃(尤其是在自动更新处于活动状态时)
修复加载模型时与 h5py 版本 3 的不兼容问题
修复 d17_cosmos 数据加载器并为旧样式文件添加 d17_legacy
修复 Windows 二进制文件中禁止打开帮助对话框的问题
用于影响所有数据点的系统错误的新型 os 用户参数。它有一个 sigma 参数,并以 (x0-x)²/sigma² 对 FOM 进行偏置,以将系统误差不确定性考虑在内。
列计算现在支持 rms(sigma1, sigma2, ...) 函数来组合不同的误差贡献
示例列显示如何包含来自电机位置和/或光束分布不确定性的系统误差
适合单线程模式时,每次迭代删除不必要的睡眠。如果您发现崩溃等问题,请报告
模拟性能的一些额外改进
更改 3.2.3
修复 3.2.0 中引入的足迹校正错误
使用参数相对值指示器和滑块控件改进参数网格界面
允许在参数网格中复制和粘贴
现在可以使用空间开始编辑所选参数并接受参数更改
修复网格旁边工具栏图标的 DPI 显示错误
无法在值编辑器中的任何编辑位置使用“-”切换负值
不要在单击第一列时自动打开上下文菜单,允许更轻松地手动选择和编辑
更改 3.2.2
将 windows 版本更新到 python 3.9 和 wxPython 4.1.1 以更好地支持高 DPI 显示
改进参数网格中的值输入(ENTER/TAB 键,鼠标滚动)
防止参数网格条目调整大小以防止非故意的布局问题
自动化 PyPI 发布
更改 3.2.1
修复计算分辨率向量的新 Numba 函数中的错误(ORSO 验证失败)
更改 3.2.0
添加用于 python 脚本和 Jupyter 笔记本的简单 API。可以读、写、修改和拟合模型
添加一些 Jupyter 笔记本示例以显示 API 的使用
将 GenX 模型集成到凹凸库中(参见https://bumps.readthedocs.io/en/latest/index.html)
使用颠簸 MCMC 进行统计误差分析的对话框,以评估参数的互相关性
ORSO 文本格式的新导出功能 (alpha),带有包含分析信息的详细标题
关于缩进的脚本编辑器行为的改进
反射率插件现在在运行一次后重新分析手动更改的脚本
SimpleReflectivity 现在在计算误差条时显示错误摘要对话框
新的“自动”数据加载器,按文件类型选择方法,支持 AMOR、SNS MR、默认和分辨率加载器
反射率模型性能的改进,可以将 CUDA 与多处理一起使用
数据和 SLD 图的绘图性能改进
开始了一些代码重构
修复 SimpleLayer 插件以允许具有相同化学式的多种材料
修复了一些绘图更新可能导致 GUI 崩溃或冻结 SLD 图形的错误
更改 3.1.4
修复 mag_ref 中的错误(问题 #178)
更新 GenX 文档网站
更改 3.1.3
修复 wxPython >=4.1 上的一些 GUI 崩溃
修复自动更新 SLD 激活时的 GUI 问题/崩溃(问题 #177)
修复关于对话框
使用新的 DPI 缩放功能以更好地跨平台处理高 DPI(如果可用)(wxPython >=4.1)
更改 3.1.2
构建系统和联系电子邮件的小修复。
更改 3.1.1
感谢 Leon Lohse 更新构建系统以与 PyPI 兼容
在 SXRD 插件的 Windows 发行版中包含 vtk 模块
更改 3.1.0
实施 numba JIT 编译器以显着提高 X 射线和中子反射率计算性能
使用 CUDA 实现 GPU 加速版本(NVidia 显卡,菜单选项激活)
SpinAsymmetry 插件用于绘制数据和模型的 SA
反射率模型的导出器插件,到目前为止支持 BornAgain python 脚本
各种模块中的几个错误修复
更改 3.0.8
修复较新的 wxPython 版本 (4.1.1) 的一些问题
修复中子 SLD 显示的单位错误 (10^-6 AA^-1)
github上的自动构建过程
更改 3.0.7
尝试使用自旋翻转模型时修复 spec_nx 中的错误
修复自旋翻转中无法正确识别更改模型的错误 #160
将按钮添加到 SimpleReflectivity 以切换到 Reflexivity 插件以获得更复杂的模型
更改 3.0.6
修复工单 #172 和 #173 中报告的 GUI 错误
更改 3.0.5
修复了 SimpleLayer 和 SimpleReflectivity 插件中对公式和材质的一些处理
更改 3.0.4
修复错误 #171 和 #169
更改 3.0.3
修复自旋翻转模型中的错误导致模拟失败并出现错误
尝试让 SXRD 再次工作
更改 3.0.2
修复加载不同形状的新数据集时的绘图错误
修复示例参数对话框未在 spec_adaptive 模型中正确评估输入类型 (#167)
更改 3.0.1
在 SimpleReflectivity 中创建新模型时修复模型表问题
修复 sns_mr 数据加载器中的 unicode 错误
选择 ToF 中子时正确处理 footpring 和 tth 偏移参数
更新 Windows 安装程序以使用用户权限运行
修复对“res”等额外数据列的评估
更改 3.0.0
转换为 python 3
转换为 wxPython 4 (Phoenix)
为简单结构和初学者用户添加新的 SimpleReflectivity 插件
更新了具有 dpi 意识的图标
新的可选宽屏优化 GUI,允许并排查看数据和 SLD
改进的 SimpleLayer 材料数据库,可查询材料项目和开放晶体学数据库
修复 Windows 二进制文件以在没有兼容模式的情况下与 Windows 10 一起使用
改进了使用完整空间的绘图布局,提供正确的坐标轴标签,并且可以使用白色背景进行复制
更改 2.4.9
修复了 SimpleLayer 插件中的错误 - 在 OSX 下无法加载 cif 文件。
更改 2.4.8
修复windows下参数网格中delete和backspace不起作用的bug。
已修复,以便可以使用分辨率数据加载器加载数据。
修复了 SimpleLayer 插件中的错误。
参数和数据模型类中的小错误修复
更改 2.4.7
修复了错误,与 mag_refl 的并行拟合在“进入优化”时停止。
修复了将数据集添加到新的反射率插件模型中的错误。
修复了 soft_nx 中错误的自旋状态计算
更改 2.4.6
修复了中子的 SLD 使用 wl**2/2/pi 缩放的错误。
2.4.5 中的变化
修复了中子的 SLD 使用 wl**2/2/pi 缩放的错误。
解决了一些中子计算的精度问题。
网格中的数字可以用科学/指数表示法给出,例如 1e5。
使用“.”的小数问题 在默认十进制分隔符为“,”的系统上已解决。
扫描 FOM 并不总是与网格中的空白行一起运行已解决。
2.4.2 中的变化
gui中的小错误修复
修复了模型忽略负 b 的问题(spec_nx 和 mag_refl)
更改 2.4.0
添加了滑块和旋转控件以更改参数值,动态更新。
一种针对软物质的新反射率,称为 soft_nx。
添加了对数 x 刻度的可能性。
可以忽略 FOM 中导致 nan 和 inf 的数据点(请参阅“选项”对话框)。
常量 dq/q 的分辨率类型已添加到 spec_nx 和 soft_nx。
可以通过向导创建模拟数据集。
为 SNS BL4A 添加了数据加载器(程序员:Artur Glavic)
添加插件以更轻松地定义图层(程序员:Artur Glavic)
各种错误修复。
更改 2.3.6
修复了反射率插件中有关仪器定义(不工作)的错误。
修复了尝试拟合重复次数时导致错误的错误。
修复了关于 q=0 模拟的错误 - 模型现在会在 q = 0 时引发错误。
修复了自旋翻转计算缓冲中的错误(在尝试模拟具有不同数量 x 值的数据集时导致错误)。
修复了“计算”对话框中不工作的选择框。
为四列数据添加了一个数据加载器,其中还包括分辨率。
包括在内,因此“du”在 spec_nx 中用于计算自旋翻转,在 mag_refl 中也是如此。
更改 2.3.5
修复了 GenX 在 Windows 机器上安装后无法启动的错误。
修复了错误,以便命令行执行在冻结版本上更好地工作。
修复了冻结版本中有关 c 扩展的错误。
更改 2.3.0
将 X 射线散射长度数据表更改为使用 ffast nist,在低能量下更准确,数据库: http ://www.nist.gov/pml/data/ffast/index.cfm
使用新功能和新工具栏翻新了拟合参数表。
反射率插件得到了改进: - 可以在示例定义对话框中设置适合的参数。- “样本”选项卡显示拟合参数的当前值,并指示已拟合的参数。
添加了命令行拟合。可以在没有 GUI 的情况下运行 fit。
已实现基于 hdf5 的新文件格式(更独立于平台)。
感谢 Canrong Qiu(阿拉斯加大学),添加了 MPI 支持。
mag_refl 模型现在可以: - 模拟能量扫描。- 模拟“正常”的 X 射线反射率。- 使用偏振分析模拟扫描。- 使用 mag 的负值。
spec_nx 和 mag_refl 现在可以模拟中子反射率的不对称信号。
重构反射率基础模型。
修复了许多报告的错误。(有关详细更改,请参阅http://sourceforge.net/p/genx/code/commit_browser )。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
内置分布
genx3server -3.6.13.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5590ab285e3b15aa5533730f399db9796e1760ba2c22fcee8b633b4e1fad787d |
|
MD5 | 45af7a1562abea34a5801f90739daaca |
|
布莱克2-256 | 9ee825d34fbead58b8a6f7fa15bcf8f9d9a77f7d9552192f7467ff73feccd6c3 |
genx3server -3.6.13-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 44e8181b11a51c418cf9715b51f41cb323e6b33f0d217c5dbaa234a413cc6ca1 |
|
MD5 | 4ee3cd3f96a4d578593aed6af79918cc |
|
布莱克2-256 | 3f9798c5a3f36921be2575fbe817cf3828e456a9739b1cdddbd7ee013b2ead0c |