User-visible changes in version 1.3.2 (2022-08-06): * SNIP background (Cristiano Fontana) * GUI: fixed layout with GTK3 * bug fixes User-visible changes in version 1.3.1 (2016-12-21): * GUI: more options in the peak-top menu * GUI: Tools > XPS KE <-> BE * added utilities F.findx(), F.extremum(), centile(N, expr), %peak.IB * bug fixes, as always User-visible changes in version 1.3.0 (2015-05-25): * support filenames with non-ascii characters * simple-variable ~NUM can be followed by domain, e.g.: %f=Linear(~3[2:5], ~8) and also default parameters can have domain (...shape=~0.5 [0:1],...), Voigt and PseudoVoigt have now shape with default domain [0:1] * if variable has a domain (example: $a = ~1.2 [-3:4]) then "$a = ~3" keeps domain of $a (also "a={$a}; $a=~{a}" preserves domain) "$a = ~3 [:]" unsets domain "$a = copy($x) - copy $x with domain * new boolean box_constraints option decides if domains are used as box constraints in fitting methods that support it (default: on) * GUI: added auto-completion to Lua script editor * xyConvert is now part of xylib (removed flag --disable-xyconvert) * command "reset" does not reset Lua VM (to allow "reset" from Lua scripts) * Lua: add Python-style formatting (e.g."%d pigs" % 3) using __mod for strings User-visible changes in version 1.2.9 (2014-04-13): * fitting: - a few optimization methods from the NLopt library have been added - MPFIT and NLopt methods support box constraints - simplifications that made using external libraries easier: - removed stopping criterium based on iterations. The max. number of WSSR evaluations can be used instead. - removed fit continuation (fit +N) * new function Sigmoid and new category of functions (S-shaped/step/sigmoidal) * GUI: added menu Session > Recent Scripts * GUI: added checkbox to Functions > Export Peak Parameters * GUI: added "decimal comma" option to Data > Load dialogs. User-visible changes in version 1.2.1 (2012-11-05): * added commands '=' and 'exec=' - shorthands 'lua return' and 'lua F:execute' * API: default dataset in a few functions changed from @0 to the currently used * GUI: new dialog GUI > Configure > Default Directories * a few tweaks and fixes related to printing, and other bug fixes User-visible changes in version 1.2.0 (2012-05-24): * added fitting method "mpfit" -- wrapper around MINPACK-1 based MPFIT library (http://www.physics.wisc.edu/~craigm/idl/cmpfit.html) * changed public API of libfityk; now cfityk uses only public API * added C API and Ruby and Java bindings to libfityk * enhanced Python API and added Python equivalent of cfityk (samples/cfityk.py) * CLI: cfityk can be built with libedit (but it works better with readline) * in scripts, backslash (\) at the end of line means line continuation * bug fixes, as usually User-visible changes in version 1.1.1 (2011-09-28): * option exit_on_warning=0/1 was replaced with on_error=stop/exit; new option on_error=nothing allows to ignore errors in script. * current working directory can be changed using new option `cwd' * GUI: a new dialog for Model > Export Formula * minor bug fixes User-visible changes in version 1.1.0 (2011-07-18): * embedded Lua (lightweight programming language) * syntax changes and enhancements in dataset transformations (@n = ...); example: "@0 = @0 - 0.23 * @1" removes (background) @1 with y's scaled by factor 0.23 from dataset @0; if @0 and @1 have different x's, linear interpolation is used. * added calculation of Polyline derivatives, what enables weighted least squares approximation by broken lines * gzipped fit files can be read directly (extension .fit.gz or .fityk.gz) * new option max_fitting_time -- stopping criterium based on elapsed time * GUI: mouse wheel and mouse extra buttons can be used to zoom in/out * Mac GUI: added Session > New Window that opens new window (open -n Fityk.app) * GUI: added optional, configurable description in the corner of the main plot * GUI: Session > Copy to Clipboard works differently and on all platforms now * GUI: enhanced file dialogs: Data > Quick Load and Session > Save as Image * fixed all reported bugs User-visible changes in version 1.0.2 (2011-06-08): * changed Data > Load File dialog * fixed a few minor problems and a major one (GUI not working on OSX 10.5) User-visible changes in version 1.0.1 (2011-03-30): * corrected calculation of Exponentially Modified Gaussian * added calculation of confidence intervals * GUI: anti-aliasing (can be switched off in menu GUI > Anti-aliasing) * added (experimental) option guess_uses_weights that changes peak "guessing" * as usually, a few bug fixes and minor changes in the GUI User-visible changes in version 1.0.0 (2011-03-18): * fixed bugs: several bugs in the powder diffraction add-on, problem with negative simple-variables, crash when the status bar has an extra value set * GUI: several changes necessary to make the program working on OSX (>= 10.4) * GUI: new configuration dialogs for plots * GUI: all configs including the default one are now stored in .fityk/configs/ * samples are always installed, removed configure option --with-samples, added menu Help > Examples in the GUI * requires wxWidgets >= 2.9.1 User-visible changes in version 0.9.8 (2011-06-08): * several bug fixes ported from version 1.0.2 (unlike 1.x, this version can be built with wxWidgets 2.8) User-visible changes in version 0.9.7 (2011-02-08): * bug fixes: UDFs (user-defined functions) did not work in ver. 0.9.5-6, a few fixes in the powder diffraction add-on and in other places * data operations: added aggregate functions argmin, argmax and count * GUI: redesigned the Data > Export dialog User-visible changes in version 0.9.6 (2011-01-26): * fixed three bugs, one of them was sometimes crashing the program at startup User-visible changes in version 0.9.5 (2011-01-24): * libfityk: the parser has been completely rewritten and the syntax was slightly changed: - major changes in the `info' command; two new commands, `print' and `debug', partially took over some functionality of the old `info' - "commands" replaced by "set"/"exec" - "dump" replaced by "info state" - values of the fitting_method setting changed to lower case - "set @0.title = ..." replaced with "@0: title = ..." - settings: removed formula_export_style, guess_at_center_pm and can_cancel_guess, changed autoplot and verbosity, added logfile, log_full, fit_replot, info_numeric_format renamed to numeric_format, data_default_sigma to default_sigma, cut_function_level to function_cutoff, variable_domain_percent to domain_percent - in "define ... where param=expr" expr is substituted in brackets now - added syntax: delete file 'filename' - "guess": changed argument order - F.param = $variable -> F[*].param = $variable See the wiki for details (there is a tool that upgrades fityk scripts). * new website address (fityk.nieto.pl) and new code repository (GitHub) * GUI: simplified two dialogs: Edit Script and Definition Manager * error in script stops the script User-visible changes in version 0.9.4 (2010-10-09): * removed syntax `delete[range]', use `delete(condition)' instead * syntax `y[x=15]' replaced with `y[index(15)]' * removed data range syntax, e.g. X[3...10]=15. It can be replaced with X = n >= 3 and n < 10 ? 15 : x * removed syntax "order=" * removed syntax "commands < file[m:n]", only the whole file can be executed * modulo syntax changed from a%b to mod(a,b) * syntax: '-' replaced with '_' in settings and 'info fit_history' * syntax: 'fit history clear' replaced with 'fit clear_history' * added Perl bindings (manual compilation: cd swig/ && make perl) * GUI: remember recently subtracted baselines (GUI > Baseline Mode > Recent) * bug fixes User-visible changes in version 0.9.3 (2010-06-24): * changed implementation of gamma and related functions (using boost.math now) * syntax: so-called parametrized-functions spline[] and interpolate[] are replaced by so-called variadic functions Spline() and Polyline(). The GUI in the Baseline Mode handles a separate baseline for each dataset now. * abandoned syntax like 5 Auto-Freeze option that automatically locks/unlocks parameters of a peak when a data range containing the center of this peak is disactivated/activated * GUI: added option GUI > Zoom All Shows Y=0 * required Boost version (only in the compilation time) is now >= 1.36 User-visible changes in version 0.9.2 (2010-05-07): * To compile fityk, Boost (only headers) and xylib must be installed first. Fityk tarball does not contain a copy of boost and xylib now. * user-defined functions: split functions can be defined in this way: SplitG(h, c, w1, w2) = x < c ? Gaussian(h, c, w1) : Gaussian(h, c, w2) * added info-numeric-format option * a couple of bug fixes User-visible changes in version 0.9.1 (2010-03-25): * added cfityk to Windows installer * Unix only: fitting can be interrupted by the INT signal * changed output of "info errors", see the manual for details * GUI: "plot in @n" changes selected datasets (useful in scripts) * many bugs fixed User-visible changes in version 0.9.0 (2010-01-05): * GUI: Data > Editor dialog was replaced with two dialogs: Data > Table and Data > Edit Transformations * added Lua bindings (configure option --enable-lua) * a syntax to execute output from external program: command ! program [args...] * xyConvert (which requires wx 2.9) is built by default. Added flag --disable-xyconvert, which must be used with wx 2.8. * parsing of info command was rewritten, but functionality is almost the same * bug fixes User-visible changes in version 0.8.9 (2009-08-20): * manual was converted from DocBook to reStructuredText * GUI: On Linux fitting was very slow, this was fixed. A new option `refresh-period` was added to control refreshing during fitting. * define supports variable substitution with "define ... where ...", e.g. define Foo(alpha) = alpha * eta * (eta / tanh(eta) - ln (2*sinh(eta))) \ where eta = 2*pi/alpha * sin(theta/2), theta=x*pi/180 * added access to symmetric errors from scripts (e.g. $variable.error or %func.height.error) * category "Education" was added to fityk.desktop User-visible changes in version 0.8.8 (2009-06-21): * added two flags to the configure script: --with-xylib and --with-samples (xylib from the fityk tarball is not used by default now) User-visible changes in version 0.8.7 (2009-06-10): * fityk license was changed from GPLv2 to GPLv2+ (2 or at your option any later) * all config files are stored in a single directory: Unix: ~/.fityk Windows: C:\Documents and Settings\username\Application Data\fityk Mac: ~/Library/Application Support/fityk This changes the path to the default and alt. configs on Windows and Mac. * now works also with GCC 4.4 and Boost 1.35 * minimum wxWidgets version increased to 2.8.0 * added functions LogNormal and LogNormalA (Mirko Scholz) * abs() can be used in user-defined functions * added syntax for loading data from all columns in file: file.csv:1:2..:: * bug fixes, most notably bugs with saving/loading session User-visible changes in version 0.8.6 (2008-04-15): * bug fixes (drawing baseline, "zoom all" with log scale) * GUI: parameters (at the bottom of the sidebar) can be changed with Page-Up and Page-Down keys or with mouse wheel. Shift, Ctrl, Alt keys modify speed. * GUI: two buttons added to the "functions" pane in the sidebar. They make HWHM and shape equal for all functions (works only with a few function types) User-visible changes in version 0.8.5 (2008-03-17): * minor changes in syntax: info @0 -> info data in @0 info @0.title -> info title in @0 info @0.filename -> info filename in @0 @0.title = abc -> set @0.title = abc @+ -> @+ = 0 @0.revert -> @0 < . data is exported with "info" now: info @n ( expr1, ... ) > filename where: columns have to be given, @* can be used, F() and Z() can be used without "@n." prefix, *F() can not be used. * xylib: RIET7/LHPM/CSRIET/ILL_D1A5/PSI_DMC .dat filetypes added * non-Windows platforms: using HTML manual (in default browser) instead of HTB * GUI: command line history is stored in ~/.fityk/history * --disable-3rdparty configure flag prevents building with xylib from 3rdparty/ * GUI: added Session -> Save as Image * !foo: executes a command foo by calling system() (from stdlib.h) * bug fixes (there are some bug fixes in every release) * xyConvert tool (can be built only with wxWidgets >= 2.9) User-visible changes in version 0.8.4 (2008-02-15): * xylib: pdCIF format was added User-visible changes in version 0.8.3 (2008-01-25): * data import is done using (modified) xylib library. VAMAS and a few other new file formats are supported. * added hyperbolic functions * command "@n.revert" reloads data points from file * GUI: menu item "Apply to all datasets" was removed. Now all data-related menu items and buttons are applied to datasets selected at the sidebar * GUI: new dataset is opened in a new slot now (it was replacing an active dataset before) User-visible changes in version 0.8.2 (2007-08-21): * multiple fixes for MacOSX, added macosx/ directory (Ken McIvor) * reading multiple y columns from data file: "@+ < foo.xy:0,5/6/7" (or :0,5-7) * "Tip of the day" removed (tips.txt deleted). * added SVG icon (fityk.svg) and MIME type info (fityk.xml) * removed files AUTHORS and ChangeLog * the API is now a Fityk class * GUI: setting baseline as convex hull of data points (experimental) * XPS Shirley background removing * minor improvements and bug fixes (e.g. "reset" was not working in 0.8.1) User-visible changes in version 0.8.1 (2007-04-23): * extended version info can be shown by "info+ version" * displaying Gaussian-FWHM and Lorentzian-FWHM of Voigt function * GUI, MS Windows: configuration is now stored in files, not in registry * GUI: support for any numbers of config files. * changes in command-line parameters * "_EXECUTED_SCRIPT_DIR_/" in scripts is replaced with the script directory * GUI: logarithmic x scale and reversed y scale * bug fixes User-visible changes in version 0.8.0 (2007-03-19): * libfityk (fityk library) if introduced. About half of the fityk source code goes into the library; the rest is GUI and CLI. The library has minimal public well-documented C++ API. * experimental(!) python bindings to the library are prepared using SWIG * bug fixes, of course User-visible changes in version 0.7.8 (2007-03-02): * syntax changed for dataset sum (was: @+ < @0 + @1; is: @+ = @0 + @1) * introduced dataset operations sum_same_x and avg_same_x, eg. "@+ = sum_same_x @0 + @1" (in GUI: Data > Merge points) * command "info version" * changed options to "set verbosity" * GUI: error bars for data * voigt(x,y) function for data transformations and variable definitions * new option in settings "epsilon" used for floating point comparision. * GUI: script debugger dialog was finished; "Edit init file" was added to menu * option data-default-sigma with possible values: one, sqrt. * plot command: dataset can be specified using "in @n" or "in @*", default view may not contain y=0, if it's far enough from data points * corrected calculation of covariance matrix (new C_ij = old C_ij / 2) * several bug fixes (most of them reported by Wolfgang Christen) User-visible changes in version 0.7.7 (2007-01-08): * fixed GCC 4.1 compilation problem * GUI: plot buffering (as a bitmap); disabling menu, toolbar, etc. when fitting * new option guess-at-center-pm (float), used by "guess Type center=$variable" * ascii data loading: column number of 0 generates a number increasing with each point * parameters history ("fit undo", "fit redo", and related commands) * syntax changes: "%a[hwhm]" replaced with "%a.hwhm" "@n.F[hwhm]" replaced with "@n.F.hwhm" "%f -> F" replaced with "F += %f" "%f -> N" replaced with "F -= %f" the dataset can be specified in data expression: {y[0] in @1} @0.F[3] means 4th function in @0.F (the same with Z) User-visible changes in version 0.7.6 (2006-09-15): * changes to the manual sent by Michael Richardson * erf and erfc functions can be used in data transformations and UDFs * command "dump" works now * changed syntax for exporing function parameters and formulae (info peaks in @0 > filename; info formula in @0 > filename) * guess command supports now not only "peaks", but also "linear" functions * GUI: improved peak dragging, full-screen mode (F11), configurable status bar, minor tics on plot axes, function parameters can be locked (frozen) using buttons at sidebar, improved "Data->Load File (custom)" dialog * a bunch of other improvements, bugs fixes and optimizations User-visible changes in version 0.7.5 (2006-07-31): * GUI: Definition Manager dialog * user defined functions (UDF) * GUI: gradient dialog for changing color of many datasets at once * GUI: new Fit->Run dialog * So-called domain of simple-variables can be specified ($a = ~3.5 [3 +- 2]), it is used only for randomization of the variable by some fitting methods. * "info" can be redirected to file using "info ... > filename" syntax to truncate the file and "info ... >> file" to appends to the file * variables with names starting with "_" are auto-deleted when not used * parameters of Lev-Mar methods can be changed (it was disabled in 0.7.0) * GUI: pressing Shift in data range mode allows (dis)activate data in rectangle * r-squared shown in "info fit" output (Emmanuel Lamprecht) * a few bug fixes User-visible changes in version 0.7.4 (2006-05-31): * improved data and sum export * GUI: optional grid in main plot (see axes configuration dialog) * defined function types can be undefined using "undefine Function" syntax * with option=value[, option2=value2 ...] command ... sets value of options for this command only * GUI: if cut-function-level is set, function limits are shown when cursor is over peak top * aggregate functions in data expressions: min, max, sum, avg, stddev, darea eg. min(y if 20 "Copy to Clipboard" copies plots to clipboard * added fityk.desktop file for Linux desktop integration (Niklas Volbers) * GUI: "directories" tab in settings dialog User-visible changes in version 0.7.1 (2006-02-23): * new functions: EMG (exponentially modified gauss) and Doniach-Sunjic * GUI: fixes and improvements in printing * GUI: new aux. plot type: cumulative chi2 * minor bug fixes User-visible changes in version 0.7.0 (2006-02-08): * program can be compiled with unicode-enabled wxWidgets * GUI: more configurable axes (eg. a reversed x axis option) and peak labels (eg. horizontal/vertical labels) User-visible changes in version 0.7.0pre1 (2006-01-23): * ########################################################################### # completely changed syntax # ########################################################################### * GUI: dataset/function/variable lists at right-hand panel * new built-in functions: split-Gaussian (a.k.a Bifurcated Gaussian) and others * there where many other changes not listed here. More then half of the code was either written from scratch or refactored. * some features available in previous version are temporarily disabled, most notably: powder diffraction part - c.xxx commands parameters history User-visible changes in version 0.5.1 (2005-07-21): * new toolbar icons * data tranformations: treat "3 < x < 4" like "3 < x and x < 4" * GUI data viewer - "Fit Zoom" button User-visible changes in version 0.5.0 (2005-06-09): * d.load -- possibility of loading of only selected points from file was removed (it can be done with d.tranform after loading) new option: adding data points from file to currently loaded data * d.transform -- new quite powerful command for transforming data, Commands d.deviation, d.range, d.background, d.calibrate, d.set were removed. Handling of background (and calibration) is now a little different. * added Data Editor dialog and Data->Fast DT menu. User-visible changes in version 0.4.4 (2005-03-04): * fixed Pseudo-Voigt formula in manual (program was not changed) (David Hovis) * peak labels (above each peak) that can display peak area, position etc. * fonts used for scale labels can be changed * data viewer (it is first step in implementing data editor) * input field: up/down arrow keys work as in bash (wxComboBox was replaced by wxTextCtrl) * optionally drawing sum and peaks as smooth curves (computed at every pixel) * info about wxWidgets version in About box and --version switch for fityk-GUI. User-visible changes in version 0.4.3: * wxWidgets 2.5 compatible * data files (in addition to scripts) can be specified as command line arguments to fityk-GUI. Scripts should either have .fit or .fityk extensions or start with "# Fityk" string. * crosshair cursor (GUI->Crosshair cursor) * "Data->Load File" dialog (simple) allows to open many files * unix man page (Carlo Segre) User-visible changes in version 0.4.2: * "File" menu name was replaced with "Session", and "Manipulate" with "FindPeak" * "s.info ^number" prints more informations. * fixed problem with locales, that have decimal point different than dot. Now LC_NUMERIC variable is ignored. (Vincent Favre-Nicolin) * new configure flags: --enable-debug and --enable-optimization * ambiguous 'log(2)' in "export as function" was replaced by numeric value (in gnuplot log means natural log, in Excel log=log10). * program version is written in scripts (session dumps and log files) and in configuration files User-visible changes in version 0.4.1: * two independent auxiliary plots (by default one is visible) * implemented s.guess command that adjusts existing peak - also in peak pop-up menu (based on patch sent by Jonathan Hunt) * config file can store info, what windows are visible (see GUI->Show) User-visible changes in version 0.4.0: * multiple datasets in one plot * multiple plots - all can be fitted simultaneously * New menu items - GUI->Show->..., GUI->Scroll... User-visible changes in version 0.3.4: * enhanced peak dragging * commands from ${HOME}/.fityk/init are executed on start-up * added Data->Recent files->... to menu * minor fixes User-visible changes in version 0.3.3: * Major changes in graphical interface (mouse usage, toolbar etc.) * Added support for Siemens .raw data file format (Stefan Krumm) User-visible changes in version 0.3.2: * Voigt function * File->Re-Include menu item * File->Print Setup menu item * Zoom All menu item added to main plot popup menu * Zooming with left mouse button in normal mode * Auto-scaling auxiliary plot when changing type of the plot * Exporting peak parameters (Sum->Export or s.export) * Sum/Data Export: optionally appending to a file, instead of overwritting * Minor changes and bug fixes User-visible changes in version 0.3.1: * Saving GUI configuration to file (Unix) or registry (Windows) * s.export ---> XFIT format * d.load ---> CPI format * Minor bug fixes * Minor changes in documentation (XSLT stylesheet for generating command and option indices) * fityk.spec for creating RPMs * Windows installer (produced with InnoSetup) * Using HtmlHelp (*.chm) manual format in Windows version