<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent posts to news</title><link>https://sourceforge.net/p/genx/news/</link><description>Recent posts to news</description><atom:link href="https://sourceforge.net/p/genx/news/feed.rss" rel="self"/><language>en</language><lastBuildDate>Tue, 02 Aug 2022 15:50:21 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/genx/news/feed.rss" rel="self" type="application/rss+xml"/><item><title>New GenX Publication</title><link>https://sourceforge.net/p/genx/news/2022/08/new-genx-publication/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi everyone,&lt;/p&gt;
&lt;p&gt;I'm happy to announce that a new paper has been published about GenX 3.6 that is available open access at &lt;a href="https://doi.org/10.1107/S1600576722006653" rel="nofollow"&gt;https://doi.org/10.1107/S1600576722006653&lt;/a&gt; . I would appreciate if you would cite this reference for any future publications based on GenX 3:&lt;br/&gt;
A. Glavic and M. Björck J. Appl. Cryst. 55, 1063-1071 (2022)&lt;/p&gt;
&lt;p&gt;In addition to summing up the important changes since the original GenX publication, the paper gives an introduction to possible corrections for experimental errors, beyond counting statistics, that can be the basis for a better statistic analysis of parameter uncertainties.&lt;br/&gt;
I have also created a YouTube channel where I link existing Tutorial videos and will guide you through the GenX documentation with individual future videos. ( &lt;a href="https://www.youtube.com/user/knuekopp666" rel="nofollow"&gt;https://www.youtube.com/user/knuekopp666&lt;/a&gt; )&lt;/p&gt;
&lt;p&gt;In other news there have been further developments to GenX since the last newsletter that I'd like to share with you:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The GenX build script now includes the generation of Mac OS binaries that are reported to work on intel and even more recent hardware. A snap build for various Linux distributions is available, too.&lt;/li&gt;
&lt;li&gt;Option to download and update new versions (tested on Windows, experimental otherwise)&lt;/li&gt;
&lt;li&gt;genx3server PyPI package to install without the need for wx GUI components. New genx_server command that can be used to refine models remotely while running a GUI locally (experimental)&lt;/li&gt;
&lt;li&gt;Batch processing interface that allows to fit a sequence of datasets to the same model, header information from ORSO files can be used to plot parameter values against e.g. temperature or field values&lt;/li&gt;
&lt;li&gt;Neutron polarization analysis function that takes polarization efficiency into account&lt;/li&gt;
&lt;li&gt;Generic definition of plot units for x- and y-axes that can be specified by the user for custom models&lt;/li&gt;
&lt;li&gt;Edit model script in external Editor&lt;/li&gt;
&lt;li&gt;Fix fitting without boundaries and show graphical indication of active/inactive fit boundaries in grid&lt;/li&gt;
&lt;li&gt;Generate SLD uncertainty graph from fit parameter errors&lt;/li&gt;
&lt;li&gt;Customization of display of SLD graphs to make it more accessible&lt;/li&gt;
&lt;li&gt;Improved handling of copy/paste in the parameter grid&lt;/li&gt;
&lt;li&gt;Support for the final ORSO .ort data format specification, see &lt;a href="https://www.reflectometry.org/file_format/specification" rel="nofollow"&gt;https://www.reflectometry.org/file_format/specification&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Dialog to show and edit metadata information based on ORSO header standard&lt;/li&gt;
&lt;li&gt;Add a data loader for the PSI SINQ six text and Rigaku .ras format&lt;/li&gt;
&lt;li&gt;Modify plot scales with mouse wheel (use shift/ctrl/alt for fine and horizontal adjustment)&lt;/li&gt;
&lt;li&gt;New option (also from command line) to stop the fit when the relative parameter variation is below a threshold value&lt;/li&gt;
&lt;li&gt;An option in the spec_inhom model to simulate neutron supermirrors and to hide layers from the SLD profile to make larger number of layers more readable/increase plot performance.&lt;/li&gt;
&lt;li&gt;Open model on drag&amp;amp;drop&lt;/li&gt;
&lt;li&gt;Updates to the documentation&lt;/li&gt;
&lt;li&gt;Tech preview of alternative plotting backend with better performance but limited quality&lt;/li&gt;
&lt;li&gt;Many bug fixes&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Artur Glavic</dc:creator><pubDate>Tue, 02 Aug 2022 15:50:21 -0000</pubDate><guid>https://sourceforge.net4f7df2ed2810d0cb5a2d905d255f210037923626</guid></item><item><title>You can't undo GenX 3.5, but it can undo your mistakes</title><link>https://sourceforge.net/p/genx/news/2021/11/you-cant-undo-genx-35-but-it-can-undo-your-mistakes/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi everyone,&lt;/p&gt;
&lt;p&gt;as an early Christmas present of this year I have a new major revision of GenX with a bag full of goodies.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;One feature that many may have longed for since the start of GenX is an undo/redo functionality. With this you can revert changes to the model script as well as single and multiple parameters. Actions can even be reverted retroactively without touching other changes you did later in a history dialog.&lt;/li&gt;
&lt;li&gt;Update of several tutorials in the documentation and new tutorial for the usage of bumps for parameter uncertainty estimation.&lt;/li&gt;
&lt;li&gt;Option to start logging to a file from within the GUI to simplify bug reporting.&lt;/li&gt;
&lt;li&gt;Updated ORSO .ort format (now requires orsopy package) and new feature to build a model from .ort file meta data. (Also from exported .ort files, directly.)&lt;/li&gt;
&lt;li&gt;Better feedback on startup progress, especially first time start when compiling numba functions.&lt;/li&gt;
&lt;li&gt;For all Changes, see the README.txt file.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As always, let me know if you encounter any bugs or weird behavior.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Artur Glavic</dc:creator><pubDate>Tue, 23 Nov 2021 00:46:34 -0000</pubDate><guid>https://sourceforge.net691bc1a01afd03b7050c592735c60ca5901f90b8</guid></item><item><title>GenX 3.4 is ready to rock</title><link>https://sourceforge.net/p/genx/news/2021/09/genx-34-is-ready-to-rock/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;This summer brought a cascade of updates to your favorite fitting program. After a few hiccups due to major changes in version 3.4.0 this series has now reached a stable state again. This is a good occasion to inform you of the goodies I've been adding in the last four months moving to version 3.3 and 3.4:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;a class="" href="https://aglavic.github.io/genx/doc/" rel="nofollow"&gt;documentation&lt;/a&gt; has been updated with more &lt;a class="" href="https://aglavic.github.io/genx/doc/tutorials/neutron_fit.html" rel="nofollow"&gt;videos&lt;/a&gt; and tutorials, including the &lt;a class="" href="https://aglavic.github.io/genx/doc/tutorials/simple_reflectivity.html" rel="nofollow"&gt;SimpleReflectivity interface&lt;/a&gt; that was introduced in 3.0&lt;/li&gt;
&lt;li&gt;Models for surface x-ray and off-specular scattering have been re-implemented and should make GenX 3 a full replacement for the older program&lt;/li&gt;
&lt;li&gt;Improved data loaders with an automatic selection of suitable plug-ins (default, resolution, sns_mr, amor, d17_cosmos and orso)&lt;/li&gt;
&lt;li&gt;Fittable "systematic error" parameters that include a penalty factor to the FOM.&lt;/li&gt;
&lt;li&gt;Additional optimizer options (fast Levenberg-Marquardt and &lt;a class="" href="https://bumps.readthedocs.io/en/latest/?badge=latest" rel="nofollow"&gt;Bumps&lt;/a&gt; Marcov-Chain Monte-Carlo)&lt;/li&gt;
&lt;li&gt;GUI improvements, including drag&amp;amp;drop of data-files onto the dataset list and new dialog to create plots with specific designs for publication&lt;/li&gt;
&lt;li&gt;Significant performance improvements, especially for simple models&lt;/li&gt;
&lt;li&gt;Many bug fixes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As always, further implementation of new features will depend on the amount of spare time I'll have in the near future. Please feel free to submit tickets with suggestions. Currently I have three goals for the near and more distant future:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Writing a new publication for GenX 3 describing the background of all the changes made since the initial publication from 2007.&lt;/li&gt;
&lt;li&gt;Try to implement an AI based "model guesser" for simple structures &amp;lt;5 layers (v3.5)&lt;/li&gt;
&lt;li&gt;Full implementation of the new ORSO standard file format (.ort) and scattering length density database (v3.5)&lt;/li&gt;
&lt;li&gt;Re-implement GenX GUI in a more future-proof and capable framework, Qt6 (v4.0) as I have found that wxPython is very hard to work with, unstable and slow. This will be a major rewrite of the code base and might not port all features.&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Artur Glavic</dc:creator><pubDate>Wed, 29 Sep 2021 17:50:01 -0000</pubDate><guid>https://sourceforge.net0063e5f16b7f108eef157b486ca47f8467135bfa</guid></item><item><title>GenX 3.2 is out</title><link>https://sourceforge.net/p/genx/news/2021/05/genx-32-is-out/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;It's time for another major release of your favorite reflectometry package with a bunch of new goodies to play with. These are the main improvements in &lt;a class="" href="https://sourceforge.net/projects/genx/files/3.x.y/GenX%203.2.x/"&gt;v 3.2&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A new simple scripting API that you can access by using &lt;code&gt;from genx import api&lt;/code&gt; in your code. It includes nice &lt;em&gt;IPython&lt;/em&gt; widget support for your &lt;em&gt;Jupyter&lt;/em&gt; notebook. Have a look at the examples provided with the package. (The &lt;em&gt;genx&lt;/em&gt; package has to be installed in your python environment or available in PYTHONPATH.)&lt;/li&gt;
&lt;li&gt;A new dialog for statistical analysis of fit parameters that is available from the toolbar. It's based on the integration of GenX to the &lt;a class="" href="https://bumps.readthedocs.io/en/latest/?badge=latest" rel="nofollow"&gt;&lt;em&gt;bumps&lt;/em&gt; package&lt;/a&gt; that can also be used from scripting for more elaborate analysis tasks.&lt;/li&gt;
&lt;li&gt;Handling of meta data for imported datasets and an alpha version of exporting to the new &lt;a class="" href="https://www.reflectometry.org/working_groups/file_formats/" rel="nofollow"&gt;ORSO&lt;/a&gt; text format &lt;code&gt;.ort&lt;/code&gt;. For properly implemented data loaders the model now keeps this information with you datasets and exports it including the model script and parameters for full trackability. A new information button can be used to browse through that data.&lt;/li&gt;
&lt;li&gt;A new &lt;code&gt;auto&lt;/code&gt; data loader that selects the proper loading procedure by file suffix. Right now only &lt;em&gt;Amor@PSI&lt;/em&gt; and &lt;em&gt;MR@SNS&lt;/em&gt; as well as the &lt;em&gt;default&lt;/em&gt; and &lt;em&gt;resolution&lt;/em&gt; loaders are supported. If you want your instrument format to be supported, please write a similar data loader or send me example files with some format specifications.&lt;/li&gt;
&lt;li&gt;Several improvements to the GUI as well as to calculation and plotting performance under the hood.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Some of these improvements required major changes to a variety of core GenX classes, please let me know if you notice bugs and unexpected behavior by writing a &lt;a class="" href="https://sourceforge.net/p/genx/tickets/"&gt;ticket&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Artur Glavic</dc:creator><pubDate>Thu, 20 May 2021 17:46:01 -0000</pubDate><guid>https://sourceforge.netc30db6dfcfaf8aa9fac44f2e6435d7b3c1584ca7</guid></item><item><title>GenX on PyPI</title><link>https://sourceforge.net/p/genx/news/2021/04/genx-on-pypi/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Thanks to a contribution by Leon Lohse from UNI Göttingen, the GenX build system was updated which allowed direct upload to the Python Package Index (PyPI)&lt;br/&gt;
&lt;a href="https://pypi.org/project/genx3/" rel="nofollow"&gt;https://pypi.org/project/genx3/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;On an existing python environment with wxPython installed you can now use pip to install GenX as user or root:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;pip3 install --user genx3
or
sudo pip3 install genx3
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Artur Glavic</dc:creator><pubDate>Tue, 27 Apr 2021 20:03:33 -0000</pubDate><guid>https://sourceforge.net9328153a40719bb6e6e72d9a4c594ee2381a9ed7</guid></item><item><title>GenX to join ORSO analysis benchmarking</title><link>https://sourceforge.net/p/genx/news/2021/02/genx-to-join-orso-analysis-benchmarking/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;As all of you know, GenX is scientific software and thus correctness is as important as features and usability. To make sure there is quality control for the fundamental functions of x-ray and neutron reflectometry we have therefore joined the effort of the Open Reflectometry Standards Organization's (&lt;a class="" href="https://www.reflectometry.org/" rel="nofollow"&gt;ORSO&lt;/a&gt;) effort of benchmarking various reflectometry suites agains a common set of standard systems.&lt;/p&gt;
&lt;p&gt;Together with our friends from Refl1D, RefNX and BornAgain a validation workflow was added to the github action of ORSO &lt;a class="" href="https://github.com/reflectivity/analysis" rel="nofollow"&gt;here&lt;/a&gt;. For now the validation contains 6 examples of un-polarized neutron reflectometry with and without resolution convolution.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Artur Glavic</dc:creator><pubDate>Tue, 16 Feb 2021 09:09:34 -0000</pubDate><guid>https://sourceforge.netdccb7caabc0dee4205afe048fede0a1e7a601400</guid></item><item><title>GenX 3.1 Performance Teaser</title><link>https://sourceforge.net/p/genx/news/2020/08/genx-31-performance-teaser/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi Everybody,&lt;/p&gt;
&lt;p&gt;the implementation of performance improvements for GenX 3.1 has made faster progress than expected. I was able to achieve sizable performance gains by making use of the Numba Just In Time (JIT) compiler package. While the gains strongly depend on the model, computer hardware and operation system they can reach 3-30x improvement over the normal, Numpy based, calculation. For those of you with Nvidia® graphics cards, implementation of CUDA GPU computing can add another factor of 2-4x on top of that.&lt;/p&gt;
&lt;p&gt;See a compilation of gain factors for different configurations below, models use 4000 data points and 202 layers:&lt;br/&gt;
&lt;img alt="GenX 3.1 Performance Gains" rel="nofollow" src="http://aglavic.users.sourceforge.net/resources/genx_performance_overview_small.png"/&gt;&lt;/p&gt;
&lt;p&gt;More details can be found in the raw data &lt;a class="" href="http://aglavic.users.sourceforge.net/resources/genx_performance.zip" rel="nofollow"&gt;Raw Data&lt;/a&gt;. There are some clear trends observed:&lt;br/&gt;
1. Gains are always higher for larger datasets and number of layers, which is not surprising due to the general python overhead. In practice, systems with &amp;gt;1000 data points will likely see considerable benefits already. (This includes the extra points for resolution, so for example a 200 point datasets with 5 resolution points)&lt;br/&gt;
2.  Gains in single threaded calculations are very different for Linux and Windows systems. (1.25x vs. 3.3x) This may be due to better optimization in Numpy on that platform. For the neutron matrix method used for spin-flip simulations the gains factor is always higher by ~2x.&lt;br/&gt;
3.  In multi-threaded operation, all systems gain similar to their number of physical cores. Intel® multi-threading does not seem to be too effective here.&lt;br/&gt;
4.  Gains from GPU computing require pretty large datasets (as expected, as the gain is realized through massive parallelization). Compared to multi-threaded CPU calculations there is a strong dependence on the computer hardware. For the test with a strong CPU with low powered Quadro® card the performance is actually lower on the GPU, but for balanced systems another 2.5-3.5x improvement was achieved. Both of my systems for testing have relatively good CPUs, so an average PC with dedicated graphics might see even bigger gains here. (Or fits on very large datasets &amp;gt;10k points.)&lt;/p&gt;
&lt;p&gt;From these results I have decided to automatically use Numba JIT, if it is available. For GPU computing there will be an option to activate, but I haven't decided where to include it, yet.&lt;/p&gt;
&lt;p&gt;For everyone eager to test these new features, please check out the "dev" branch on git. I'd be happy to get other test results ;-). Make sure that numba and nvidia cuda toolkit are installed on your system.&lt;br/&gt;
(run genx/tests/numba_performance.py)&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Artur Glavic</dc:creator><pubDate>Sun, 23 Aug 2020 15:52:50 -0000</pubDate><guid>https://sourceforge.net3e6d0660834c47c433996b083e6aef10a3464583</guid></item><item><title>GenX 3 released</title><link>https://sourceforge.net/p/genx/news/2020/08/genx-3-released/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi Everybody,&lt;/p&gt;
&lt;p&gt;I'm happy to announce that, finally, the GenX version 3.0.0 is now released. This version is based on the lates libraries and has some nice improvements like the new SimpleReflectivity interface for beginners and simple models.&lt;/p&gt;
&lt;p&gt;As a lot of the background code had to be modified to make the program work with the library changes there will probably be new bugs that I did not catch. Please report them through the Ticket system on SourceForge.&lt;/p&gt;
&lt;p&gt;My plan is from now on to provide major revision updates, which will bring new features and improvements, 1-2 times per year and minor revisions with bug-fixes and smaller features on a continous rollout whenever issues can quickly be addressed. If you want to support the GenX development with some of your code or by updating the obsolete documentation, please feel free to contact me.&lt;/p&gt;
&lt;p&gt;The plans for the next major revision 3.1.0 are currently:&lt;br/&gt;
1. Improved calculation performance. (The weave package used for compiled code before is discontinued, so currently only pure python is supported.)&lt;br/&gt;
2. Some refactoring of the GUI code to ade stability and fixing of bugs&lt;br/&gt;
3. Plugin to export models to BornAgain and maybe use BornAgain as calculation backend if it leads to significant performance gain&lt;br/&gt;
4. Adding some test cases following guidelines from ORSO&lt;br/&gt;
5. ORSO standard reflectometry fromat support, if defined up to the release date&lt;br/&gt;
6. Some user issues and feature requests&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Artur Glavic</dc:creator><pubDate>Wed, 12 Aug 2020 20:49:07 -0000</pubDate><guid>https://sourceforge.netb3206d32b4553aa88364b0ce682b042b1e9274b4</guid></item><item><title>Almost there....</title><link>https://sourceforge.net/p/genx/news/2020/01/almost-there/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Happy New Decade GenX users!&lt;/p&gt;
&lt;p&gt;The release of GenX 3 is getting closer. The first version of the SimpleReflectivity interface is implemented and builds for Linux and Windows 10 are running. If you want a preview of this exciting release and help me with hunting down some of the bugs, feel free to test the &lt;a class="" href="https://sourceforge.net/projects/genx/files/3.0.x/GenX%203.0.0%20beta/"&gt;beta release&lt;/a&gt; that was just uploaded.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Artur Glavic</dc:creator><pubDate>Sun, 19 Jan 2020 19:39:06 -0000</pubDate><guid>https://sourceforge.net265c2531a00598be90f77711ac7e51160e4b139b</guid></item><item><title>Rise of the Phoenix - GenX 3 is coming</title><link>https://sourceforge.net/p/genx/news/2019/11/rise-of-the-phoenix---genx-3-is-coming/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;img alt="GenX3 is coming" rel="nofollow" src="http://aglavic.users.sourceforge.net/resources/GenX3_is_coming.png"/&gt;&lt;/p&gt;
&lt;p&gt;Good news everybody! While there hasn't been an update on GenX for two years things are again starting to move forward. I want to thank Matts, who is unfortunately no longer able to provide support, for all his hard work he put into this project. I will take over the maintenance and development with new enthusiasm. &lt;/p&gt;
&lt;p&gt;In the recent past the wxWidgets and python libraries behind GenX have all gone through many changes and soon &lt;a class="" href="https://pythonclock.org/" rel="nofollow"&gt;python 2.7 will no longer be supported&lt;/a&gt;. Windows 10 has also led to incompatibilities with the binaries. You can expect a new major release update to version 3 within the next couple of months that focuses on transitioning to the wxPython 4 (Phoenix), python 3 and fixing associated bugs. But there is more to come with some additional functionality to keep you excited about this new version:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Overhaul of the user interface; better high DPI display support; alternative widget layout for larger screens&lt;/li&gt;
&lt;li&gt;Tightened plot layout with correct x-/y-axis labels and image copy with white background&lt;/li&gt;
&lt;li&gt;Improved materials database with online query options&lt;/li&gt;
&lt;li&gt;A default simulation x-axis for all datasets that have no data loaded or simulation parameters set to avoid those "empty" plot windows&lt;/li&gt;
&lt;li&gt;New plugin "parameter vault" to store different parameter sets of a model for 1:1 comparison in one plot&lt;/li&gt;
&lt;li&gt;New plugin "Magnetic SLD" to display a separate magnetization axis in the SLD plot and calculate layer integrated magnetization for comparison with macroscopic measurements&lt;/li&gt;
&lt;li&gt;Completely new simplified reflectometry user interface plugin to allow better access for new users. This interface will produce models compatible with the standard plugin but completely hide the underlying script interface behind an easy accessible layer table.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So I hope you are as excited as me about this new development. If you have small annoyances or new features that you would like me to include in this release, please &lt;a class="" href="https://sourceforge.net/p/genx/tickets/"&gt;write a ticket&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;All the best,&lt;br/&gt;
Artur&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Artur Glavic</dc:creator><pubDate>Tue, 05 Nov 2019 20:50:27 -0000</pubDate><guid>https://sourceforge.net46b7489062791a6003bcee3ff65a181167c2db93</guid></item></channel></rss>