Coder Social home page Coder Social logo

jyu-iba / jabs Goto Github PK

View Code? Open in Web Editor NEW
7.0 2.0 0.0 2.31 MB

Simulation and fitting of Rutherford Backscattering Spectrometry (RBS), EBS, NRA and ERD spectra. Works with scripts or interactive commands with either command line or graphical user interface.

Home Page: http://users.jyu.fi/~jaakjuli/jabs/

License: GNU General Public License v2.0

CMake 1.13% C 27.36% Gnuplot 0.02% C++ 71.26% Shell 0.14% Batchfile 0.09%
simulation qt6 rbs iba

jabs's People

Contributors

jaakkojulin avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

jabs's Issues

Documentation and help

Documentation is needed

  • Built-in interactive help, especially usage hints should be checked, expanded and improved
  • The code needs better commenting (Doxygen) and documentation generated by these comments
  • Physics models need to be explained. A manuscript is under preparation, but an additional continuously updated document is needed
  • More examples, along with explanations, should be produced

Detector specific control of fit variables

When fitting e.g. the detector calibration, JaBS currently adds fit parameters to all detectors. This is a sane default, but there should be an option to add a fit parameter of one particular detector.

Useless simulations when fitting

Spectra are simulated also outside ROIs when fitting. In particular computing time could be saved by:

  • Calculating the minimum energy in a simulation based on lowest energy in a ROI
  • Convolution of spectra by resolution is only required for channels inside ROIs
  • In multidetector mode there can be entire spectra that have no ROIs at all, in which case simulation can be skipped entirely.

After the fit has converged all spectra should be simulated completely (as if running simulate)

Brew installation

Hi,
is it planned to add the brew installation for the code similar to jibal?
This can be really helpful for quick update to the new version...
Thanks!
Ilya

Transmission geometry

Transmission geometry is currently not supported, but it should be possible to implement. Escaping reaction products should not assume they are going towards the surface.

Fitting of concentrations

Concentrations (of sample_model) are always renormalized to 100% before simulation. This means that the fitted variable is not actually concentration, and the renormalization will change the value that was changed by fitting routine. This may confuse the GSL Levenberg-Marquardt algorithm (unknown).

Some new variable could be introduced for actual concentration fitting, instead of the actual concentration value or we should only normalize the sample (simplified isotopic concentration table).

In any case, the fit uncertainty of final value needs to be checked, since it is affected by the normalization.

More input and output formats

Compatibility with

  • IDF
  • RUMP

Would be useful. IDF files could be turned into data and an autogenerated script file that sets the parameters described by the XML file. This would be best done by a program other than JaBS itself.

RUMP commands and files could be supported natively, but the question is should they be?

Wizards for the GUI

The graphical user interface is currently an editor. It could also include tools and wizards to generate scripts.

For example, the user could pick an element/isotope using a table of elements / combobox etc., set the energy, scattering angle etc. with a spin box and generate experimental details script, which could be then appended to the editor.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.