Emil Andreasen Klahn
eandklahn / molmag_ac_gui Goto Github PK
View Code? Open in Web Editor NEWA simple tool to fit magnetic relaxation times in molecular magnetism
License: MIT License
A simple tool to fit magnetic relaxation times in molecular magnetism
License: MIT License
Emil Andreasen Klahn
Currently, I'm reading new types of headers by making the program conform to the type of header - I should probably change it, so that the header is reformatted into a standard form that is then always used by the program
Should be implemented according to
https://pubs.rsc.org/en/content/articlelanding/2019/cp/c9cp04301b#!divAbstract
Closing the guess dialog without accepting does not stop execution of the fitting procedure - this has to be fixed
If input file has more than one susceptibility dataset (different applied magnetic fields), it should be possible to get all of these plotted in the T vs. XT plotting window in data treatment.
Instead of having a file called "dialogs", we should have a folder called "dialogs" with each custom dialog getting its own file.
And the same for other general things. A folder called "exceptions", where each custom exception is given its own file.
Similarly, let's collect the individual tab widgets in separate files in their own folder "tabs"
"process_ac.py" might still be it's own file in the "molmag_ac_gui"-folder, but we should also figure out what to do here. It is intended as a file that can be imported on its own with functions that are useful for scripting.
"utility.py" could be split into the other files, based on where these functions are useful.
It should be possible to choose a set of fitting parameters manually when doing fitting of relaxation times.
Idea: when doing a fit, the parameters that were automatically chosen should be presented in a subclass of QDialog. The parameters can then be inspected and changed if need be, before they are passed on to fitting by QDialog.accept()
It halts the GUI.
ACGui-class is a mess, and this can be helped by splitting the two tabs into separate classes
Currently, when some parameters are not used in the fitting procedure in the Data analysis tab, the guess value will still be shown in the fitting window. They are not used in the calculation, since the use parameter is set to zero, but it might confuse the user. These unused values should be zero in the window.
Problem with inserting columns with the same name in a Pandas dataframe (see below, not full error message)
File "C:\Users\emilk\Desktop\tutorial\lib\site-packages\molmag_ac_gui\ac_gui.py", line 668, in make_diamag_correction_calculation
... ValueError: cannot insert Mp_m (emu/mol), already exists
Something with QThreads...
Need to look at the data loading function again
After fitting χ' and χ'' in data treatment, the plot of the fitted data only shows the given function in the data points that are measured (i.e. for freq vs. χ', χ' is only calculated for each measured frequency, but it should be in a linspace in the frequency range). This will gives bumbs around the original datapoints. The plots can be smoothed out by calculating the function in additional data points
Currently, only ppms data files can be opened in data treatment tab. It should be possible to also open ac data files from SQUID (MPMS3). The function should use the second line of data file to identify the file type. This functionality is also usefull when we will implement DC functionality
I'd like a new feature
Needs to be calculated correctly for all types of data files
Instead of having "raw_df", "used_T", "not_used_T" and so on be attributes of the GUI MainWindow itself, there should be a data structure, so that accessing these variables would be something like
self.data.raw_df
self.data.used_T
In the process, can we come up with a consistent naming scheme for variables in the data?
When fitting AC data, it should be possible to change the fit resolution (number of points the log-space for plotting).
Make a temperature axis in the top of the plotting window in data analysis. This will make it easier for the user to decide which temperature range to fit in
Elements of the v, Xp and Xpp can be NaNs, and lmfit does not handle this
Currently, the data loading procedure is looking at number of frequencies by looking at the length of the set() of all frequencies, and that is then used to separate the data into blocks of equal size.
This assumes that the data is ordered into neat blocks, so if that is not the case, the data is grouped in wrong temp subsets.
To work with DC-data, many users use PHI to fit D and E parameters. It would be nice to have an option to get files out in the PHI format, i.e. _sus.exp and _mag.exp files (depending on the input data given by the user). This requires some manipulation of the units of moment and susceptibility.
Important that the GUI shows DC-data and only checks the file for AC-syntax when that route is attempted.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.