1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837
|
branch 23.0, released 2025.05.05
> Bug fixes
* 3d visualization of Spheroid repaired after parameterization had changed in 22.0 (#1160).
* Repaired development tools plot_int, plot_dif (#843)
* Restored units and limits to instrument spinboxes controls (#1153)
> Documentation and examples
* Improve explanation of inter-particle correlations
* Cleanup examples (better variable names, ..)
> Dependencies
* libcerf >= 3.0 required
> Deployment
* Require C++20
* The component libraries (libBornAgainBase etc) have now versioned file names (#947)
> Internal cleanup
* Persistence checks moved from ba_plot to new ba_check (#1144)
BornAgain-22.1, released 2025.04.16
> New version number required by deployment-related technicalities.
No change in substance.
BornAgain-22.0, released 2025.04.03
> Highlights:
* Internal cleanup saves 15% of lines of code, at improved stability and functionality
* Deployment to Mac now via brew.sh
* Time-of-flight off-specular scattering now supported by class LambdaScan
* More versatile modelling of roughness, now also supporting a linear growth model
* On the downside, all GUI project files are broken
* A tool (upgrade-21-to-22.py) may help to modernize Python scripts
> API changes:
* Sample model:
- Multilayer renamed to Sample
- Spheroid: Second argument is now Rz, not H=2Rz
- SphericalSegment and SpheroidalSegment replace TruncatedSphere/Spheroid, with different arguments
- Roughness now a property of Layer instead of Sample (aka Multilayer)
- Roughness depends on interface model, transient, and cross-correlation model
- Interface models are SelfAffineFractal (previous default) and LinearGrowthModel
- Magnetization profile can be shown (#77)
- Rough interfaces (heatmap, spectrum, height statistics) can be visualized through API
* Instrument model:
- RectangularDetector removed: always use SphericalDetector
- Offspec analyzer is set for detector, not scan (#651)
- LambdaScan added to suport time-of-flight off-specular scattering
- Allow grazing angle, wavelength and azimuthal angle distributions in Alpha/LambdaScan
- SpecularSimulation and DepthprobeSimulation work with Alpha/Lambda/QzScan
* Data handling:
- SimulationResult merged into Datafield
- Datafield::flat also works for axis of size 1
- Scan axes have bins of width 0
- Experimental support for data loading with Python/fabio (see Tests/Unit/PyBinding/EmbeddedTest.cpp)
* ba_plot:
- Only four plot functions left: plot_datafield, plot_multicurve, plot_to_grid, plot_to_row
- Removed global variables and automatic commandline processing; solves Jupyter notebook issues
- Plotting section in online docs now rather complete
* fitting:
- FitObjective::addFitPair replaces addSimulationAndData, and takes Datafield instead of NumPy array
> GUI changes:
* Simplified and unified some views
* In sample model, removed possibility to set lengths in angstrom instead of nm (#756)
* Removed unfinished undo/redo support (#757)
* Removed style option "native" (#819)
* Removed Fourier transform display (to be reimplemented later, #839)
* Angular, spectral and Qz scans are supported by instruments (#1109)
* Roughness visualization on 3D view (#344)
* Random particle positions on 3D view remain the same until regeneration is requested
* Periodic stacks are supported (#20)
* Samples and jobs can be cloned (#115, #796)
* Create and store snapshots of parameter tree in jobs (#792)
* Save collapsed state of items in job parameter tree
* Show only relevant materials in job parameter tree (#799)
* Show footprint and distributions in job parameter tree
* Materials and layers are colorized in job parameter tree (#799)
* Removed "linking" between instrument and data; now the currently selected ones are simulated
* Position of both core and shell components can be independently changed (#1111)
* Show material name in the material form (#1111)
* Enable/disable magnetizationfrom material editor (#1111)
* Distributions names: "Delta" and "Disorder" instead of "None" (#285)
* Allow log scale for horizontal axis in scanning instruments
* Projections are redesigned to look different from line masks
> Examples and documentation:
* Examples use simplified and unified plotting commands from ba_plot
* Removed remnants of testing machinery from user-facing script examples
* New example Transmission.py, prints transmission of a multilayer
* In the online docs, moved Python examples to subsections of the Reference section
> Build:
* Numpy C API replaced by Numpy Python API; the simplified solution supports NumPy 1 and 2
* Removed dependence on non-header-only components from Boost, which caused recurrent trouble
* BORNAGAIN_PYTHON=OFF reenabled
> Deployment:
* Linux:
- New installation target `make install_local`
* Mac:
- Deployment now through a homebrew recipee
- No more MacOS installer bundle, as we are not willing to subdue to Apple's latest policies
* Windows:
- Package now built with QtIFW instead of NSIS
> Internal refactoring:
* Renamed lots of files and clases, more unified language (e.g. always Util, never Utils)
* Simulation model:
- No longer duplicate form factor computation for compound particles (#78)
- Mesocrystals are computed exactly (#510)
- In scattering simulation, restrict Re(n) to [0.9,1.1], to prevent unintended
computation with erroneous material data (e.g. accidental omission of factor 1e-6) (#715)
- Remove ICoordSystem and children; functionality provided by Frame
- Simplified coordinate names and units, now both in Scale::name (#487, #614)
* Embedded Python interpreter:
- Fixed Python memory management regarding new and borrowed references
- Better error messages
* Python bindings:
- Simplified SWIG bindings, eliminated 70% of .i code
- Support Python objects for fitting, simulation or formfactor.
- Ownership transfer mechanism hidden from SWIG-produced Python API
* GUI:
- Internal classes GroupBoxCollapser, FormLayouter replaced by more standard solutions
BornAgain-21.2, released 2024.05.21
> Bug fixes:
* Fix importing bornagain in Jupyter environment
* Fix installing the MacOS-x64 Python wheel under conda
* Fix reading 2D csv tables
* Fix cropping mechanism for 2D intensity field
* Fix GUI crashing in projection mode for refsans data
* Add manual weighting for particle layouts
* Add 'logdiff' objective metric function
BornAgain-21.1, released 2023.10.19
> Bug fixes:
* Repair backward compatibility of GUI projects
* Apply q-space units in 1D data loader
* Fix simulation background (#323)
* Untangle polarizer and analyzer checkboxes (#739)
* Fix applying wavelength distribution to specular scan in GUI (#740)
* Fix depthprobe simulation with averaged particle layer (#753)
* Fix linking 1D data to instrument
> GUI improvements:
* Show SLD units in the material editor
* Change the default minimizer and the objective metric
* Add new options to 1D data loader:
* Sort by argument
* Discard negative argument
* Discard argument duplications
* Alpha and lambda distributions are disabled as unsupported in depth-probe and
off-specular simulations
BornAgain-21.0, released 2023.08.16
> New functionality:
* Averaged magnetization profile can be obtained with 'magnetizationProfile()' (#77)
* Provide loader for 2D data in REFSANS instrument csv format (#580)
* Provide loader for Motofit MFT files (#591)
* Non self-explaining legacy 1d data can now be read either using hard-coded filters
(for 2 to 5 columns), or filter settings acquired from a modal dialog. Settings can
no longer be modified for loaded files (#601)
* Provide duplication functionality for sample elements like layers, particles,
compositions etc (#663)
* DepthprobeSimulation can be parameterized through flags to return intensity,
modulus, or phase of the total, transmitted, or reflected wave field
> API:
* Axis renamed in Scale, new factory functions instead of Axis subclasses
(mostly used internally; a few example scripts changed)
* All magnetization of fronting medium and z-component inside the sample are forbidden.
> GUI changes:
* Polarizer and analyzer can be turned on/off separately (#659)
> Examples and documentation:
* Argument sim_n and dictionary bp.simargs are obsolete
* Revised magnetic samples and polarized instrument examples and reference
* Example MaterialProfile.py demonstrates plotting magnetization and SLD profiles (#77)
* Listed requirements for TIFF files (#368)
> Bug fixes:
* Fix averaging magnetic materials (#76)
* Repair integration over xi in Interference2DParaCrystal under Windows (#160)
* Repair polarization analysis in GUI (#190)
* Protect all spinboxes from accidental scrolling (#476)
* Fix masks behaviour in GUI (#489, #491)
* Repair specular intensity for polarized GISANS (#541)
* Repair axis ticks display in linear scale in GUI (#575)
* Prevent crash in QRE loader (#589)
* Repair display of current real-data file name (#590)
* Repair broken 2D data rotation (#599, #661)
* GISAS and off-specular simulations are now sensitive to beam footprint (#642)
* Enable importing samples from script on Mac (#669)
* Fix exporting off-specular simulation to script (#671)
* Correct form factor of ripples with Gaussian transversal profile (#679)
* C++ exceptions from BornAgain module do not terminate Python interpreter (#685)
> Internal refactoring:
* Reorganize GUI/Model subdirectories, break cyclic dependence of GrazingScanItem
on InstrumentItem (#566)
* Make lambda captures more explicit, in response to C++20 deprecating implicit
capture of "this"
* Example scripts may contain embedded ruby. Sources are in rawEx/, public version
in auto/Examples/, testable version in auto/MiniExamples/(#554)
> Dependencies:
* C++20
* googletest-1.13.0
BornAgain-20.2, released 2023.05.04
> Hotfix:
* Correct polarized specular computation without user provided pol matrices (#549)
* Correct prefactor for scattering from rough interfaces (k^4, not k^2, #553)
* Show SLD units in GUI (#558)
* Throw error if rough interfaces are combined with polarized simulation (#564,
reported by Liz Margarita Montanez Huaman)
* Repair GUI support for angular grazing scans (#574)
* Consistently mention K-correlation model which is really used for roughness (#581)
* Correct vertical shift for multi-particle layouts (#584, reported by Timo Fuchs)
> Dependencies
* Adapt to libheinz-1.1.0
BornAgain-20.1 was skipped
(while we were in the course of releasing 20.1, the serious bug #584 was reported)
BornAgain-20.0, released 2023.03.27
> Contributors:
* Current maintainers: Ammar Nejati, Mikhail Svechnikov, Joachim Wuttke
* Temporary contributors: Tobias Knopff, Matthias Puchner
* Some contributions by: Randolf Beerwerth, Ludwig Jäck, Andrew McCluskey
* See git log for details
> Preface:
This release, the result of two years of intense work, brings huge changes
at all levels.
Much of this release is about "refactoring", i.e. internal changes that
modify neither the user interface nor the outputs, but set data structures
and internal interfaces right in order to enable future extensions.
Among the user-facing changes, the most noticeable is the replacement
of the graphical sample editor by a expandable tables. Also, there are
numerous changes to the Python API. Unfortunately, this means that most
old scripts will be broken. We recognize the importance of backward
compatibility, which we hope to gradually achieve in forthcoming releases.
The restructured documentation has now three distinct sections for Python
scripting: a short tutorial, a collection of examples, and a reference.
Migration to this new structure is still incomplete; some reference sections
are still in old teaching-by-example style, and will be reworked later.
In spite of thorough testing, it is quite likely that some bugs slipped in.
If you suspect a bug or observe any other undesirable behavior, please
submit a report to our issue tracker. We will investigate any such report
with high priority, and publish hotfix releases as appropriate.
With this release, the version number scheme changed. Recognising that
there will be never be the right moment to pass from BornAgain 1.x.y to 2.0.0,
we removed the leading "1" for good, and promoted the old minor to new major.
In the future, new major releases shall be published several times per year.
> API: renamed classes and functions
* R3, C3 <- kvector_t, cvector_t
* ScatteringSimulation <- GISASSimulation
* QzScan, AlphaScan, IBeamScan <- QSpecScan, AngularSpecScan, ISpecularScan
* SimulationResult::convertedBinCenters <- axis
* RefractiveMaterial <- HomogeneousMaterial
* Formfactors:
* no more prefix 'FormFactor'
* Pyramid2,3,4,6 <- AnisoPyramid, Tetrahedron, Pyramid, Cone6
* Bipyramid4 <- Cuboctahedron
* Sphere <- FullSphere
* Compound <- ParticleComposition
* Interference... <- InterferenceFunction...
* and several more
> API: further changes:
* Let ReflectometrySimulation, OffspecSimulation, DepthprobeSimulation constructors
all take the same 'scan' argument
* Swapp arguments of CoreAndShell constructor
* Scan limits now refer to points, not to bin edges
* Polarizer and analyzer are now set by function Instrument::setPolFilters
* Remove FormFactorDot to avoid its inherent inconsistencies (use small sphere instead)
* Remove unused/undocumented functions Layer::setThickness, setMaterial
* Remove rudimentary MPI support (please inform us if you have been using it)
* Parameter distributions now supported programmatically (see examples
PolydisperseCylinders and LatticeOrientationDistribution); therefore no
longer supported in GUI
* Many changes in ba_plot
> GUI changes:
* Executable renamed to bornagain, except under Windows, where it is still BornAgain
* New representation of sample model (expandable lists instead of LabView-style wirings)
* No longer support parameter distributions (see Python API)
* Support "*.001" files generated by Nicos at SANS-1 of MLZ / FRM2
* Improved file chooser for 2d data import
* Docks geometry and most other settings are saved upon closing
* Light/dark/native themes at choice
> Installers
* Self-contained binary package for Linux
* Mac installer: corrections done immediately after release of 1.19.0
* Python packages: Python wheels are produced for Py3.8-3.10, for Windows, Mac, and
Linux platforms.
> Documentation:
* Preserve old web docs (starting with 1.19) as web site now supports multiple versions
* Move versioned part of the web docs to this source repository, directory hugo/
* Remove auto-generated Python docs
* Remove Doxygen-generated C++ API doc
* Split Python docs into tutorial, example collection, and reference
> Experimental feature:
* Support soft-matter reflectometry parameterization files of Anaklasis
> Bug fixes:
* Correct intensities when source or sink is below the horizon (alpha_i or alpha_f < 0,
thanks to issue raised by Karolina Mothander)
* Throw exception in yet unsupported case of polarized waves with alpha<0
* Unify 'polarized' switches
* Correct initialization of FTDecayFunction1DVoigt and FTDecayFunction2DVoigt
> Internal refactoring:
* GUI updated to Qt6
* Merge or removed experimental code from v1.19 (directories mvvm and gui2)
* Many internal functions no longer exposed to Python
* Remove other duplicate or inactive code; inlined short functions
* Merge some classes
* Get rid of ISpecularStrategy hierarchy
* Move code to separate libraries libheinz and libformfactor
* => altogether resulting in about 25% less non-blank code lines
* Split directories Sample (user defined) and Resample (preprocessed, especially by slicing)
* Make many class members const, rm some copy c'tors
* Rename some internals (e.g. RTCoefficients -> IFlux; Computation -> Contribution)
* Remove string-based mechanism for addressing GUI items
BornAgain-1.19.0, released 2021.03.17
> API changes:
* Provide compact constructors like GISASimulation(beam, sample, detector)
* Remove "get" from several accessor functions
* Hide many internal classes from API
* Rename Lattice to Lattice3D, for clearer disambiguation from Lattice2D
* Rename OffSpec* to OffSpecular*
* Remove some interference functions constructors
* Remove old R&T computations from API (now in Code/Legacy and Tests)
* Add support for q offset in QSpecScan (redmine 2496)
* Make Python plot API entirely keyword based
* Remove default Python fit monitor, user must choose between GISAS and specular plotter
> GUI changes:
* Improve 1D CSV importer:
* Separator guessing
* Options for file parsing (skipped lines, separator, columns, unit of Q)
* Table of imported data
* Detailed error reporting
* Add top-level menu View, with functionality moved in from other places
* Add accelerator keys to menus
* Minor layout improvements
> Bug fixes:
* Correct handling of polarization for unpolarized samples, and related fixes
* For alpha_i=0, set scattered intensity to 0
* Rectify native path representation for Windows (redmine 2502)
* Several GUI bugs that caused crashes (github 1034, 1060, 117, 1136)
* Fix modality of material editor (redmine 2503)
* Fix font size in error dialogs (redmine 2510)
> Documentation:
* Unify API usage in many examples, using BornAgain's Python exporter
* Remove many entries from Doxygen user API
* New reflectometry fitting examples using real data: Pt layer, Honeycomb
* In web docs, merge Python tutorial and examples collection
> Internal refactoring:
* Accelerate reflectometry computation
* Move C++ code to break cyclic directory include dependences
* Rename a few classes (ISimulation)
* Simplify and commented std test machinery
* Simplify iteration over INode children
* Simplify export of get_sample function
* Simplify data read/write wrapper
* Simplify lots of GUI internals
* Replace boost::filesystem by C++17 std
* Draw IComputeFF and children out of IFormFactor inheritance tree
* Replace any SIGNAL() & SLOT() by the non-macro-versions (github 1168)
* Removed dependence of GUI on qt-manhattan-style
* Reorganize Wrap/Python, with new modules ba_plot, ba_fitmonitor
* Improve test coverage of Python examples
* Moved CI from GitHub Actions to gitlab-runner on our own machines
BornAgain-1.18.0, released 2020.10.30
> API changes:
1) Shorter names for FootprintSquare, FootprintGauss
2) FormFactorHollowSphere (moved from soft to hard particles, and renamed)
3) FormFactorGaussSphere is now a sphere, not an ellipsoid
4) Withdraw three unused, undocumented, incomplete soft-particle form factors
(Lorentz, Debye-Bueche, Ornstein-Zernike)
5) Removed default argument values from node constructors
6) Swap order of arguments gamma and eta in 2D decay and distribution Voigt functions
7) FormFactorSphereLogNormalRadius is now positioned at center, not at bottom
8) Ripple1 and Ripple2 form factors renamed to CosineRipple and SawtoothRipple
9) Support for structural roughness (Tanh + Névot-Croce) in polarized computations
> Important changes in examples and tests:
1) Renamed "Air" -> "Vacuum"
> Changes in build configuration:
1) Python2 no longer supported
2) OpenGL can no longer be deselected
3) Eigen3 and libcerf removed from ThirdParty; they are now regular external dependences
> Internal refactoring and fixes of unreported bugs
1) Unit tests now under CTest control, no longer enforced during compilation
2) Uniform handling of assertions
3) Success of test_nonXMLDataInDir was dependent on test execution order
4) Parameter registration now centralized in INode class
5) New, and more stable, implementation of polarized Fresnel computation
6) Scalar Fresnel computation unified with polarized implementation
7) Directory Core broken into a hierarchy: Core, Device, Sample, Param, Base
8) Request C++17
9) Error handling: core decoupled from Qt
> Issues from external (GitHub) tracker:
* #918: Specular peak location wrong when using flat detector
* #946: CTest points to broken visualization scripts
* #959: UnitTestNumeric fails on mac os x 10.15 bug
* #963: Problem building BornAgain using GitHub actions
* #987: plot_intensity_data.py prints deprecation warning
* #1026: Q_ASSERT ignored
* #1033: Bug when importing BA from python environment und windows
> Issues from Redmine tracker:
* Documentation #2459: Update and reorganize Doxyfiles
* Refactoring #2466: Use full paths in #include directives
* Configuration #2465: CMake: more standard find modules for fftw3 and tiff
* and several more, accidentally not marked for being listed here
BornAgain-1.17.0, released 2020.06.16
> API changes:
1) Add Nevot-Croce roughness model.
2) Add form factors for CantellatedCube and various ripples.
3) GUI: project compatibility with previous versions is partly broken.
> Summary:
1) Speed-up computations for samples with large number of layers
2) Add Nevot-Croce roughness model; support switching between models
3) Scripting support for polarized reflectometry
4) Update physical constants to 2020 CODATA recommended values
5) FormFactors: add CantellatedCube
6) FormFactors: speedup FormFactorFullSpheroid
7) FormFactors: revise and extend ripple form factor family
8) Fix HighDPI issues in GUI on various platforms
9) Various bug fixes
* Bug #2424: GUI crash by unexpected user behavior
* Bug #2441: Imaginary SLD
* Bug #2442: Roughness on first semi-infinite layer
* Bug #2461: GUI: crash in 3D view with lock function
* Feature #2428: Add Nevot-Croce roughness model
* Feature #2430: Try switch bindings to swig v4.0.1
* Feature #2438: Website: rename "python scripts" and "tutorial examples" menu entries
* Feature #2443: Create document describing the release procedure.
* Feature #2445: GUI: fix fancy toolbars under Linux
* Feature #2446: GUI: fix HighDPI issues under Windows
* Feature #2447: Update eigen3 submodule URL
* Feature #2448: Switch Appveyor Windows build to MSVC 2019
* Feature #2449: Enable Travis MacOS build
* Feature #2450: Provide Windows compilation with Python 3.8, switch Appveyor to it
* Feature #2463: Update macmini to High Sierra and provide BornAgain build
* Documentation #2431: Website: switch to latest Hugo in website travis based generation
* Documentation #2437: Website: provide citing and news item for BornAgain publication
* Refactoring #2275: Refactor cmake machinery for consistent Python interpreter/libraries handling
* Refactoring #2432: Run code beautifier on the whole codebase
* Refactoring #2439: Get rid of all Qt's deprecated compile warnings
* Refactoring #2454: print q vector if numeric form factor test fails
* Refactoring #2455: correct and document Ripple form factors
* Refactoring #2456: simplify integrators
BornAgain-1.16.0, released 2019.07.31
> API changes:
1) Python: major changes in SpecularSimulation interface. Please consult web-documentation for details.
2) GUI: project compatibility with previous versions is broken.
> Summary:
1) Handling intensity uncertainties in experimental data
2) Support for arbitrary resolutions in reflectometry
3) SLD/refractive index profiles across sample layers
4) Importing reflectometry data as Qz-Intensity by default
5) Various bug fixes
* Bug #2306: Weird intensity results in DepthProbeSimulation
* Bug #2310: GUI: disappeared button to rotate dataset in RealDataView
* Bug #2312: GUI crash on attempt to save a project on Mac
* Bug #2321: Setting 'Min' or 'Max' for fitparameter Beam Intensity doesn't work
* Bug #2322: GUI: Ensure usage of identical colormap for real data and simulation in fitview
* Bug #2324: Save to TIFF is broken
* Bug #2328: Crashing during GISAS fitting
* Bug #2329: OffSpecSimulation does not work with rectangular detector
* Bug #2330: "Save" fails when there are Cyrillic characters on the path.
* Bug #2337: Layout weights are not exported to Python from GUI
* Bug #2338: Numerical instability in roughness calculations
* Bug #2342: Unit test failure on user system with Qt 5.6.2
* Bug #2344: GUI: impossible to set limits for intensity as a fit parameter
* Bug #2370: Crash on reflectometry simulation for nonsensible values of theta
* Bug #2371: Ctrl+S doesn't work for saving project on win
* Bug #2379: Layer of zero thickness affects SLD profile
* Bug #2382: Memory leakage during Python fitting
* Bug #2388: Footprint Correction example failing due to newly introduced accessor methods
* Feature #1861: Provide evaluation of SLD profile across the sample layers
* Feature #2047: Fix compilation failures if fftw3, libtiff or Python are static.
* Feature #2285: Name layers in GUI by their material name
* Feature #2311: Provide possibility to load 2D ASCII data for files with .dat extention
* Feature #2315: Provide support for pointwise resolution in reflectometry
* Feature #2316: Provide support for handling intensity uncertainties in experimental data
* Feature #2331: Unit labels
* Feature #2333: GUI: Switch resolutions/divergences in specular instrument to the new resolution machinery
* Feature #2346: Enable qspace visualisation for large inclinations
* Feature #2365: GUI: rename "Import" button to "Data"
* Feature #2373: Remove choice between decoupling approximation and SSCA in GUI layouts
* Feature #2374: Clean Functionality to Import Typical Reflectometry ASCII Formats
* Feature #2377: Implement layer editor prototype on the basis of the the new model-view framework
* Documentation #2223: Update BornAgain Windows installation documentation on the webpage
* Documentation #2283: Fix starting value of prism_base_edge in fit example
* Documentation #2308: Fix Windows PyCharm tutorial
* Documentation #2325: Proofread Windows installation tutorials
* Documentation #2381: Examples present on the website and missing on the BA repo
* Refactoring #2361: Use **kwargs in python plotting routines
* Testing #2210: Test 1d data import on known file formats
* Testing #2287: Reflectometry cross-validation
* Envelope task #2192: 1D data import functionality
BornAgain-1.15.0, released 2019.02.25
> API changes:
1) Python: method getAlphaAxis renamed into coordinateAxis in SpecularSimulation
2) Python: add axis() accessor in SimulationResult (to be used instead SimulationResult.data().getAxis()
> Summary:
1) Act on feedback from BornAgain school in December 2018: new features and corrections
2) Support q-based specular simulations
3) Implement features from specific user requests
4) Various bugfixes
* Bug #2262: Fix memory leakage in Python API
* Bug #2265: 3D view incorrectly represents particle positions for layouts connected to deeper layers
* Bug #2268: Sometimes parameter values are reset when they go out of focus
* Bug #2270: Repeating values after removing unsorted data
* Bug #2277: GUI: value of wavelength is not propagated on switch from InstrumentView
* Bug #2286: Fix usage of Debye-Waller factors for superlattices
* Bug #2304: Uncaught exception in GUI during real time tuning
* Bug #2305: Premature deletion of OutputData<double> in python
* Feature #2259: Make off-spec simulation fittable
* Feature #2260: Remove domain size and damping length in paracrystals in favour of a small q expansion
* Feature #2267: Activate polarized sans
* Feature #2278: Add Debye Waller factor for 1D and 2D lattice
* Feature #2282: Implement position variance in 3d view
* Feature #2290: Implement simplified 2D peak search for GISAS images
* Feature #2292: Switch internal specular computations to q values
* Feature #2297: Provide q-based input for specular simulations
* Feature #2303: Implement twin particle interference function
* Documentation #2273: Comparative overview of existing reflectometry packages
* Testing #2289: Test slicing and averaging functionality for reflectometry in BornAgain
* Support #2291: Provide hard disc Percus-Yevick interference function
BornAgain-1.14.0, released 2018.12.07
> No API changes
> Summary:
1) New instrument: depth probe
2) Futher expansion of 3D View
3) Import data assistant for 1D data
4) Update of fitting tutorials on our documentation website
5) Allow fitting of material properties
6) Enable linked parameters in GUI ParticleDistribution
7) Numerous bugfixes.
* Bug #2116: Provide valid editing for fit parameters in GUI
* Bug #2167: Application crash on attempt to load txt.gz file from GUI
* Bug #2173: Inconsistent behavior of dock widgets between sample view and job view
* Bug #2179: Saving and loading txt image in GUI causes rotation
* Bug #2181: Loading a project file in the GUI overwrites number of threads
* Bug #2183: Export to python doesn't add extension to file name
* Bug #2184: Tuning widget disappears from simulation when "submit only" option is chosen
* Bug #2189: Real time view shows alien tree on jobItem delete
* Bug #2198: BornAgain GUI on certain Win10 stays collapsed on taskbar
* Bug #2200: Trapezoid distribution generates edge values with zero probability
* Bug #2213: Unit tests crashing if user system contains own googletest library in LD_LIBRARY_PATH
* Bug #2214: GUI crash when deleting connection
* Bug #2217: GUI crash on instrument adjustment for 1D data
* Bug #2219: Appveyor build crash during unit text execution
* Bug #2228: GUI: 1D data loader does not threat 'fixed width' columns correctly
* Bug #2231: Reflectivity: strange behaviour at wavelength distribution
* Bug #2235: Restore automatic linking of user data to instrument in Simulation tab
* Bug #2236: GUI: Fitting failure on some minimization algorithms
* Bug #2237: GUI: stop button in fitting panel does not work
* Bug #2239: Crash on load of any saved project
* Bug #2243: Instrument id is not updated when it is copied to job item
* Bug #2245: Crash when running simulation with missing instrument
* Bug #2249: Crash on fitting SpecularInstrument/Beam/Polarization/X, Y, Z
* Feature #1019: Extend GUI ParticleDistribution with linked parameters
* Feature #2084: 3D view: implement mesocrystal
* Feature #2102: GUI: switch fitting in GUI from FitSuite to FitObjective
* Feature #2138: 3D view: side/top view switch should take in the account size of the sample
* Feature #2141: Allow for SLD fitting in GUI
* Feature #2142: Allow material tuning in real time view
* Feature #2147: Functionality improvements for the new fitting engine
* Feature #2154: Observations made during GISAS 2018 school at Bayreuth
* Feature #2156: Implement finite crystals
* Feature #2177: Employ PointwiseAxis in the GUI for SpecularSimulations
* Feature #2190: Provide download statistic for BornAgain web site
* Feature #2193: Import order and priority
* Feature #2194: Handle native coordinates and units from imported user data in RealDataItem and during instrument linking
* Feature #2195: Necessary amendments to ImportDataAssistant
* Feature #2196: Provide proper cleanup of OpenGL resources on parent widget change
* Feature #2199: Expand txt-file saving to 1D data
* Feature #2201: Remove quotation marks around 'Experimental' in the plotting of fits
* Feature #2207: Allow multiplying/dividing data columns by constant factor in CsvImportAssistant
* Feature #2208: Update all fitting examples to the new fitting mechanism.
* Feature #2218: Find an intelligent way to handle repeating values in the coordinate vector (reflectivity)
* Feature #2222: Allow scientific notation in tuning parameter tree
* Feature #2224: Investigate and implement azimuthal smearing of peak shapes
* Feature #2225: GUI: implement depth probe instrument
* Feature #2246: GUI: provide possibility to select intensity and residual function type in Minimizer settings
* Feature #2247: Update Yosemite vagrant box
* Documentation #2040: Website: update all fitting tutorials and Python examples to the new fitting mechanism.
* Documentation #2175: Website: provide date and navigation element for news page
* Documentation #2178: Website: add screenshot of 3D view to gallery
* Documentation #2186: Correct formula for exponential distribution in manual
* Documentation #2233: Update manual before release
* Refactoring #1486: GUI: refactor SampleView
* Refactoring #2137: Import data assistant minor changes
* Testing #2220: Change unit test run order
BornAgain-1.13.0, released 2018.10.05
> API changes
1) Python: Switch from FitSuite to FitObjective (FitSuite is deprecated now)
2) GUI: project compatibility with previous versions is broken.
> Summary:
1) New fitting interface compatible with third-party python minimizers
2) Futher expansion of 3D View
3) Fitting reflectometry data in GUI
4) Averaged layer materials enabled for all computations
5) Numerous bugfixes.
* Bug #2068: Missing analyzer direction in GUI
* Bug #2069: Loading GUI first time takes 30 minutes
* Bug #2076: Beam distribution editors are not updating on parameter change
* Bug #2091: Memory leak in ColorMap
* Bug #2092: GUI: Top level thickness error
* Bug #2107: The project crashes on attempt to change limits of fit parameter in GUI
* Bug #2108: GUI: crash on attempt to load saved project with filled import data view
* Bug #2118: Fix CMake for the installation to user directory
* Bug #2122: GUI: after fitting completion non-optimal result is drawn
* Bug #2124: Successive call to SimulationResult.data() causes segmentation fault
* Bug #2125: Calculation of maximum reciprocal lattice points to consider for 2d lattice is wrong
* Bug #2128: Distributed parameter: "None" -- Gives wrong error message
* Bug #2129: Limits: Positive -- Throws error
* Bug #2131: Fix memory leak in factory methods when used from Python
* Bug #2135: Problem with Icosahedron formfactor position
* Bug #2139: Inconsistent impact of Euler rotation on simulation/3D view
* Bug #2143: Project file with failed simulation job complains during loading
* Bug #2146: GUI: back compatibility broken
* Bug #2148: GUI: Crash on autosave
* Bug #2149: GUI crash when switching activity
* Bug #2153: 3D view crashes on rotated 1D interference function
* Bug #2161: Cancel of runnig job doesn't work properly
* Bug #2162: Jobs which was autosaved during the run stays in running state after project restore.
* Bug #2168: Autosave leads to the GUI crash at certain conditions
* Bug #2169: Application crash on fitting job
* Bug #2170: Widget sizes are reset to default values during fit in GUI
* Bug #2171: Application crash on switch between fitting and simulation jobs for specular simulation
* Bug #2172: Fit flow widget doesn't update after fit re-launch
* Bug #2176: No plot updates during fitting anymore
* Bug #2187: Wrong parameter values displayed in real time widget
* Bug #2123: GUI: switching to another fit parameter causes plot reset to the initial value of previous fit parameter
* Bug #2188: Real space widget silently crashes with 1d interference function with xi=90 degrees
* Feature #2039: Switch all Python fitting examples from FitSuite to the new Minimizer
* Feature #2051: Provide loading and using from GUI 1D real data
* Feature #2070: 3D view: modify default particle density of GUI examples to look reasonable in 3D view
* Feature #2071: 3D view: profile 3D view for performance when number of particles is large
* Feature #2073: Define objectives for Sprint 38
* Feature #2079: Introduce SimulationBuilder and refactor FitSuite accordingly
* Feature #2082: 3D view: implement 1D interference function
* Feature #2083: 3D view: provide selective view update
* Feature #2095: Enable averaged layer materials for all IComputations
* Feature #2098: Provide weights for ParticleLayout
* Feature #2103: Add 3D interference function
* Feature #2104: Integrate 3d lattice interference function into core framework
* Feature #2106: GUI: Create and use DataItemView for 1D fitting
* Feature #2110: Boost: remove date_time dependency
* Feature #2111: Boost: remove chrono dependency
* Feature #2113: Boost: remove regex dependency
* Feature #2119: Write collection of functional tests for FitObjective
* Feature #2127: Convert functional tests for specular fits to the new FitObjective machinery
* Feature #2132: Provide possibility to have the reference point of full spheres at their center instead of at the bottom
* Feature #2134: Create translator from numpy arrays to OutputData
* Feature #2140: Rewrite lines_of_code script to not to rely on ROOT
* Feature #2150: Slow down zooming speed of Real Space Viewer on Mac
* Feature #2155: Create and deploy PointwiseAxis for SpecularSimulation
* Feature #2174: Implement HCP and BCT lattice factory funtions
* Documentation #1831: Add top cap removal parameterization to documentation of truncated sphere and spheroid form factor
* Documentation #2074: Website: switch bornagainproject.org to GitHub
* Documentation #2081: Update documentation related to reflectometry and depth probe
* Documentation #2166: Put BornAgain API on website
* Refactoring #2038: Refactor Minimizer interface
* Refactoring #2078: Switch FitSuite to the new minimizer kernel
* Refactoring #2080: Refactor computation machinery
* Refactoring #2089: Extract calculation of region maps out of IComputationTerm
* Refactoring #2096: Simplify interference function strategy implementation
* Refactoring #2097: 3D view: create PrototypeController to speed up 3D view when number of particles is large
* Refactoring #2101: ParticleDistribution::generateParticles(): remove possible memory leaks
* Refactoring #2105: Provide DataItemView for handling representation of 1D data
BornAgain-1.12.1, released 2018.06.12
> Hotfix
* Bug #2068: Missing analyzer direction in GUI
* Bug #2069: Loading GUI first time takes 30 minutes (MacOS)
BornAgain-1.12.0, released 2018.05.30
> No API changes
> Summary:
1) First implementation of specular simulation in GUI.
2) DepthProbeSimulation for experiment preparation.
3) Documentation: remaining part of website has been migrated to Hugo website.
4) Beta version of 3d sample view.
5) Interference function for finite 2d lattices (core + GUI).
6) Interference function for a 2d superlattice.
7) Fitting: first refactoring to bring it closer to generic Python fit interfaces.
8) Numerous other bugfixes.
* Bug #1975: Failed to import numpy on Windows (in virtual environment)
* Bug #1991: Cannot add real data to off-specular instrument
* Bug #1997: GUI: fit view shows experimental/simulated data in different scale
* Bug #1998: Wrong number of samples displayed in distribution widget for cosine distribution
* Bug #2009: qwindowsvistatsyle.dll cannot be found under Qt5.9.3 on windows
* Bug #2010: cmake should notify user if eigen3 is not found
* Bug #2019: Windows build ocassionally fails
* Bug #2021: GUI crash while import python script
* Bug #2029: Unit convertion bug when ROI is set
* Bug #2035: Specular peak disappears if ROI is set
* Bug #2044: Users cannot see python functions' descriptions, jump to their definitions or use autocompletion in PyCharm
* Bug #2049: GUI-> Crash on Instrument->Clone
* Bug #2053: GUI (Win) whitespaces are missing in saved projection ascii file
* Bug #2054: InterferenceFunction2DLattice handles integration over xi wrongly
* Bug #2060: RealSpaceDialog doesn't stay on top on Mac
* Bug #2061: Prevent RealSpaceDialog from making the GUI crash
* Feature #926: Provide evanescent wave python example
* Feature #1675: Get rid of ctypes.addressof in PySampleBuilder
* Feature #1846: Investigate the effort to implement 3d correlations of particles in DWBA
* Feature #1937: Implement export-to-Python for specular instrument
* Feature #1938: Implement transform from domain for specular instrument
* Feature #1964: Provide "fair" unit conversions for specular data (including q-space)
* Feature #1974: Provide full-fledged functionality for specular simulation in DomainSimulationBuilder
* Feature #2006: Core: implement instrument type for depth probes (evanescent wave)
* Feature #2012: Reenable openMPI calculations
* Feature #2018: Revise RealDataItem and the way it handles cropped experimental data
* Feature #2023: Provide finite 2d lattice interference function (with position fluctuations)
* Feature #2026: Provide capability of switching angular axis in DepthProbe to different units
* Feature #2030: Provide unit conversions for specular instrument in GUI
* Feature #2036: Bring the appearance of specular simulation to compliance with GISAS/Off-Spec job * views
* Feature #2042: Create and use icon for finite 2d lattice
* Feature #2043: Implement lattice block particle
* Documentation #1360: reequilibrate hierarchy levels in online docs
* Documentation #1940: Website: port installation instructions to Hugo
* Documentation #1952: Update "Accessing simulation results" tutorial
* Documentation #1968: Website: finalize migration to Hugo based website
* Documentation #2001: Website: port "functionality overview" to Hugo
* Documentation #2002: Website: port all release letters
* Documentation #2005: Website: switch bornagainproject.org to the new website
* Documentation #2015: Website: create download section
* Documentation #2016: Website: create contact section
* Documentation #2017: Website: create about section
* Documentation #2022: Website: provide automatic generation of Python example summary
* Documentation #2057: Update "Importing experimental data" tutorial
* Documentation #2059: Revise all Python examples
* Refactoring #1954: Use new unit conversions from core in GUI
* Refactoring #1987: Replace Qt's foreach with c++ range-based for loop
* Refactoring #1995: Remove obsolete Find<library> files in cmake/generic/modules
* Refactoring #2014: Provide uniform access interface for simulation/fitting results
* Refactoring #2028: Remove the functionality doubled in DepthProbeSimulation from SpecularSimulation and reuse common code
* Refactoring #2031: replace obsolete qt5_use_modules
* Refactoring #2033: Investigate FitSuite refactoring in the context of external minimizer
* Refactoring #2045: Verify and possibly correct QQuaternion construction from our Euler angles in RealSpace::Object::transform
* Testing #2027: Provide functional test + example for depth probe simulation
* Configuration #2048: Get rid of CMAKE_LIBRARY_PATH
BornAgain-1.11.1, released 2018.03.21
> Hotfix:
* Bug #1993: Plot ticks are not updated if axes changed in real time view
* Bug #2007: GUI->Instrument view-> entering floating point numbers
* Bug #2008: GUI->Fitting: ROI in experimental data causes NaN fitting parameters
BornAgain-1.11.0, released 2018.03.02
> API changes
1) Detector axes units (e.g. ba.IDetector2D.NBINS) now accessed through AxesUnits (e.g. ba.AxesUnits.NBINS).
2) GUI project compatibility with previous versions is broken.
> Summary:
1) Off-specular simulation is now supported in the GUI.
2) Support for materials defined by SLD.
3) Specular simulation implemented in core library.
4) New interface for simulation results now includes possible unit conversions.
5) Python API: retrieve minimizer catalogue.
6) Switched to Python 3.x as the default version.
7) GUI: extensive refactoring to improve maintainability.
8) GUI: possibility to add constant or Poisson background to simulations.
9) GUI: Fourier transform of simulation results.
10) GUI: beam polarization and polarization analysis are now supported.
11) Documentation: large part of website has been migrated to Hugo website
12) Bugfix: BornAgain GUI no longer contains a limit on number of threads.
13) Numerous other bugfixes.
* Bug #1871: Prevent using WavelengthIndependentMaterial in computations with material averaging or make universal averaging procedure
* Bug #1872: Prevent user from creating mixed samples with mixed wavelength-dependent and wavelength-independent materials
* Bug #1875: Provide proper export to python for all flavours of materials
* Bug #1883: Make MaterialItem create proper type of material
* Bug #1886: Average materials do not work if more than one layout is connected to the layer
* Bug #1891: GUI: crash in import data view when linking to instrument
* Bug #1897: warnings from Eigen3
* Bug #1911: Revise SessionItem::setData method
* Bug #1913: Thread count issue on Windows on modern CPU
* Bug #1914: Lattice::reciprocalLatticeVectorsWithinRadius does not behave as expected
* Bug #1919: Entering negative values for delta/beta in MaterialEditor is not enabled
* Bug #1922: GUI: using tab after entering parameter value puts back the old value
* Bug #1924: Discrepancy in GENX and BornAgain results for absorptive sample
* Bug #1926: Compilation fails on Windows with Qt 5.10.0
* Bug #1944: GUI: provide automatic TotalSurfaceDensity update on lattice parameter change
* Bug #1945: GUI: switch ColorMap label to scientific notation
* Bug #1961: Numerous fixes for beam divergence and footprint
* Bug #1962: GUI crashes on recent project load
* Bug #1966: GUI crash: switch project after job removal
* Bug #1967: Real time view of specular doesn't work
* Bug #1970: Rearrange directory structure of Win installer
* Bug #1973: BornAgain functional tests fail under Python 3.6
* Bug #1976: BornAgain GUI style in Windows and MacOS is not flat anymore in Qt5.10
* Bug #1977: GUI on mac os x: Python script view window cannot be resized
* Bug #1978: GUI on mac os x: Number of MC points drops to zero
* Bug #1979: BornAgain GUI: cannot fit the constant background
* Bug #1980: GUI: fitting of incident angle
* Bug #1981: BornAgain GUI: cannot fit beam parameters with distributions
* Bug #1982: GUI: fit of particles with size distributions causes negative values
* Bug #1983: GUI crash on project close
* Bug #1985: Changing parameter in realtime view switches back to fitview
* Bug #1986: GUI: splitter between ColorMap and RealTimeWidget jumps on parameter tuning
* Bug #1989: BornAgain crash after loading different project
* Feature #1005: Create off-specular simulation functional test
* Feature #1772: GUI: implement projections editor for ImportView widget
* Feature #1783: GUI: get rid of ScientificDoubleProperty
* Feature #1786: Switch source *.h *.cpp files to new version of header (copyright, authors)
* Feature #1814: GUI: provide FitView with possibility to set same color scale for real and simulated data
* Feature #1818: Investigate simulation performance in the case of large detectors
* Feature #1826: GUI: revise all tooltips of InstrumentView
* Feature #1842: Improve simulation performance in the case of large detectors
* Feature #1848: GUI: provide polarized beam and polarization analysis for detector
* Feature #1849: Provide materials with magnetization in GUI
* Feature #1850: GUI: provide correct translations for polarized scattering: GUI -> domain
* Feature #1853: Provide Python3 based Windows installer
* Feature #1854: Provide Python3 based MacOS installer
* Feature #1855: Modify installation instructions for Win and MacOS to stress forthcoming Python3 transition
* Feature #1858: Make possible using scattering length, number densities and scattering length densities as input material data
* Feature #1859: Implement fitting for specular signal simulations
* Feature #1860: Allow for instrument resolution in specular calculations
* Feature #1865: GUI: provide correct translations for polarized scattering: domain -> GUI
* Feature #1866: GUI: provide correct translations for polarized scattering: GUI -> Python
* Feature #1868: GUI: provide off-specular instrument type in GUI
* Feature #1869: Implement transform from domain for off-specular instrument
* Feature #1870: Implement export-to-Python for off-specular instrument
* Feature #1874: Provide a way to add background to simulated data
* Feature #1878: GUI: provide prototype of ComponentEditor not relying on qtpropertybrowser framework
* Feature #1879: Set default beam intensity to 1 instead of 0
* Feature #1882: Provide material type functionality in GUI
* Feature #1884: Provide common interface for Simulation and SpecularSimulation
* Feature #1885: BornAgain GUI should open a project even if image files are missing
* Feature #1892: GUI: refactor instrument view for better appearance of polarization related widgets
* Feature #1895: Make an IDetector base class independent on dimensionality of the detector
* Feature #1902: Add 1D detector for specular simulations
* Feature #1904: Replace MaterialProperty and ColorProperty with universal property
* Feature #1905: Provide access to minimizer catalogue from python
* Feature #1906: Add functional test for specular simulation
* Feature #1907: Merge ComboProperty and GroupProperty
* Feature #1908: Add background option to GUI
* Feature #1909: Correctly provide translation of background to Python/GUI/domain
* Feature #1910: Employ 1D detector and get rid of virtual runSimulation in SpecularSimulation
* Feature #1912: Provide combobox for background selection
* Feature #1921: Move GUI unit tests from QtTest to google test
* Feature #1923: Propagate exception messages from python extensions of BornAgain library
* Feature #1929: Switch Python3 ON by default
* Feature #1931: Implement footprint correction
* Feature #1932: Implement rectangular detector for offspecular simulation
* Feature #1933: Provide same functionality for offspecular simulation as for GISASSimulation
* Feature #1935: GUI: create uniform icons for GISAS, OffSpec and Specular instruments
* Feature #1936: GUI: provide specular instrument type in GUI
* Feature #1947: Provide MaterialBySLD functional test
* Feature #1948: Provide fourier transformation of simulated image in GUI
* Feature #1951: Apply new unit conversion machinery for SpecularSimulation
* Feature #1955: Revise axes labels in all Python examples
* Feature #1969: Enable distribution of inclination angle in off-specular simulation
* Documentation #1852: Remove Eigen3 dependency on BornAgain website before releasing
* Documentation #1880: Provide example of new wavelength-independent material usage
* Documentation #1941: Website: port Python examples section to Hugo
* Documentation #1942: Website: port "Working with Python scripts" to Hugo, part 1
* Documentation #1946: Revise MaterialBySLD (user interface and documentation)
* Documentation #1956: Website: port "Working with Python scripts" to Hugo, part 2
* Documentation #1957: Website: port "Working with Python scripts" to Hugo, part 3
* Documentation #1958: Website: port "Working with Python scripts" to Hugo, part 4
* Documentation #1959: Website: port "Using Graphical User Interface" to Hugo
* Documentation #1960: Website: port "Troubleshooting and FAQ" to Hugo
* Documentation #1963: Website: web-link highlight in tables
* Refactoring #1856: Refactor JobView to present JobItem uniformly
* Refactoring #1881: Reduce SessionItem interface
* Refactoring #1917: Find a better way to carry specular data from Fresnel map to SpecularSimulation
* Refactoring #1925: Functional tests have become considerably slower starting from pull request #336
* Refactoring #1930: Refactor OffSpecSimulation
* Refactoring #1934: Move creation of simulation elements out of instrument/detector
* Refactoring #1943: Remove creation of simulation elements from SpecularDetector1D
* Refactoring #1949: Restrict usage of simulation results to result() method (remove the other ones)
* Refactoring #1953: Refactor real space viewing library for easy integration into GUI and better maintenance
* Testing #1867: Provide functional test for translation of magnetic scattering properties
* Testing #1965: Provide an example of fitting real reflectometry data with BornAgain
* Configuration #1851: Review, define and configure build configurations on the buildserver
* Configuration #1863: Fix changing of working directory by build script on Windows buildslave
BornAgain-1.10.0, released 2017.10.09
> MacOS specific
1) 10.9 (Mavericks) is not supported anymore. Minimum supported 10.10 (Yosemite).
> API changes
1) FormFactorTrivial renamed to FormFactorDot
2) IParticle: applyTranslation -> translate; applyRotation -> rotate
> Summary:
1) Integration over rotation angle for square and hexagonal lattices.
2) Trapezoid resolution function to describe instruments with neutron velocity selector.
3) GUI: possibility to rotate imported experimental data.
4) GUI: support for mesocrystals.
5) GUI: added form factor of a dot.
6) GUI: import of sample from Python script to GUI (experimental).
7) Bugfixes.
* Bug #1509: Version string should be different for executables generated from 'develop', from feature branches, or from 'master'
* Bug #1626: Specular calculation gives weird results below critical angle in presence of top layer absorption
* Bug #1788: Numerical instability in triangular ripple form factor
* Bug #1806: GUI: Zoom of imported data does not work after applying a mask or ROI
* Bug #1815: GUI: FitView sometimes stops fit progress update
* Bug #1827: GUI: fix SessionModelDelegate for group property
* Bug #1828: Simulation cloning might lead to segfault if SampleBuiler present
* Bug #1830: Integration over xi is not translated to Python for square and hexagonal lattices
* Bug #1832: Fitting example FitSphereInHexLattice runs suspiciously long
* Bug #1834: Python examples do not work in Jupiter notebook
* Bug #1845: GUI: add and implement correct translators for the parameters of MesoCrystalItem
* Feature #1257: GUI: provide import into GUI model from python script
* Feature #1579: provide trapezoid resolution function to describe instruments with neutron velocity selector
* Feature #1617: Implement rotation of 2D OutputData on 90 deg
* Feature #1618: Implement rotation of imported data in ImportData view
* Feature #1684: nicer layout for newsletter@bornagainproject.org
* Feature #1691: Decrease number of warnings produced by Windows build
* Feature #1780: CMake: provide check for Python configuration consistency
* Feature #1795: GUI: make parametrization of FormFactorTruncatedSphere and FormFactorTruncatedSpheroid as in Core
* Feature #1803: Make plot_intensity_data util aware of current axes units
* Feature #1804: Implement FormFactorTrivial in GUI
* Feature #1807: Provide integration over xi for 2d lattice interference function
* Feature #1808: GUI: restore all form factor tooltips
* Feature #1819: Review custom form factors after graded layer approximation
* Feature #1824: Revise current Python examples
* Feature #1825: GUI: revise all tooltips of SampleView
* Feature #1829: Revise fresnel coefficients calculations in the case of Monte-Carlo integration
* Feature #1836: GUI: update qcustomplot library
* Feature #1838: Create simplified MesoCrystal user example
* Feature #1839: Provide export to python script for domain objects containing mesocrystals
* Feature #1840: Implement mesocrystals in GUI
* Feature #1841: Implement transform from domain to GUI for mesocrystals
* Feature #1843: Create icon for MesoCrystal in GUI (widget)
* Documentation #1823: Revise current list of Redmine issues
* Documentation #1831: Add top cap removal parameterization to documentation of truncated sphere and spheroid form factor
* Documentation #1833: Create prototype of hugo-based documentation website.
* Refactoring #1835: Review/refactor slicing machinery
* Refactoring #1844: Verify composition hierarchy of IParticle types in GUI and core
BornAgain-1.9.0, released 2017.07.04
> No API changes
> Summary:
1) Magnetic scattering: New formalism that uses the magnetization of the different materials instead of the B-field.
2) GUI: Project saving now done in seperate thread.
3) Documentation: tutorials explaining interference functions and magnetic scattering
4) Bugfixes.
* Bug #1580: ParticleComposition w/ distructive interference (selection rules not met)
* Bug #1765: GUI: ExportToPython generates unsorted material labels.
* Bug #1790: MacOS dmg installer contains garbage from libgtest
* Bug #1791: Python example FitGalaxiData became much slower
* Bug #1792: Invalid memory access in MaskGraphicsScene destructor
* Bug #1793: GUI: get rid of memory leackages in graphics widgets
* Bug #1798: Provide check for negative absorption values
* Bug #1809: Review cross correlation length of multi layer
* Bug #1810: GUI: unconsistency in deg2rad convertion for angle distributions
* Bug #1811: GUI: fitting of roughness parameters is broken for two layers systems
* Bug #1816: GUI: minimum value of particle density in particle layouts is fixed to 0.001, which is too strict
* Bug #1821: SpecularSimulation gives slightly different results compared to GISASSimulation with specular peak
* Feature #1740: Implement polarized scattering on magnetic nanoparticles using the magnetization instead of the B-field
* Feature #1762: GUI: create tooltips for interference function items
* Feature #1812: GUI: provide saving of project in separate thread
* Feature #1813: GUI: pop-up modal progress bar dialog on project load
* Documentation #1131: Create tutorial explaining interference function parameterization
* Documentation #1522: Create python example with polarized neutrons and magnetic materials
* Documentation #1797: Provide prototype of statically generated documentation based on GitHub pages
* Documentation #1820: Provide Jülich logo on website
* Testing #1609: Clarify relation between PyPersistence tests and tutorial examples
BornAgain-1.8.1, released 2017.05.12
> Hotfix:
* Bug #1799: Average layer material doesn't work with ParticleComposition
* Bug #1800: GUI: missing sigma factor in gate distribution causes problem
* Bug #1801: GUI crashes on welcome screen
* Bug #1802: GUI: hexagonal lattice becomes square during simulation
BornAgain-1.8.0, released 2017.04.06
> API changes
1) ParticleLayout: addInterferenceFunction -> setInterferenceFunction
> Summary:
1) Fitting: all reasonable parameters can now be used for fitting.
2) GUI: plot settings are now persistent.
3) Graded layer approximation: simulations can now use the average refractive index as the background.
Layers can be split into multiple slices with different average material, depending on the particle content.
4) Particles can now cross layer interfaces.
5) Import of Tiff data improved.
6) Lots of refactoring and bug-fixing.
* Bug #1633: Possible memory leakage in LayerStrategyBuilder.
* Bug #1634: MacOS dmg 1.7 installation is partly broken
* Bug #1639: GUI: crash if fitting parameter removed
* Bug #1641: histogram2d test fails under certain configurations
* Bug #1658: add qt5-svg as a dependency
* Bug #1661: FitSuite doesn't know about TestMinimizer
* Bug #1662: CMake: require Qt version 5.4
* Bug #1664: FitSuite.runFit() crashes with unclear error message
* Bug #1674: Possible bug introduced in Polygon in Python context
* Bug #1681: Fitting GUI: free parameter error
* Bug #1687: LMA is incorrectly normalized
* Bug #1692: GUI and Py: simulation crash when sample contains undefined material
* Bug #1705: Py Fit crashes for zero fit parameters
* Bug #1745: GUI: resolution function for spherical detector doesn't affect simulation.
* Bug #1746: Zero scattering for buried particle in magnetic layer
* Bug #1759: GUI: sample script view shows false warnings
* Bug #1764: Rotation of magnetic particle insided magnetic layer behaves erroneously
* Bug #1776: SpecularSimulation gives wrong results when top layer is not vacuum
* Bug #1789: GUI: axes range of color map
* Feature #163: implement IsGISAXS Example 14 (graded layer)
* Feature #1238: nicer layout for newsletter@bornagainproject.org (reopened: v1.6.0 round mail still had black bars)
* Feature #1478: Refactor FitParameterLinked to provide simultaneous fit of several sample parameters
* Feature #1562: Provide ISample with possibility to export parameter tree in Python dictionary
* Feature #1616: For correct computation of mean refractive index, no longer allow embedding particles in the semi-infinite top layer
* Feature #1624: Make all reasonable parameter values into fittable parameter
* Feature #1653: Outcome of BornAgain user meetings in November
* Feature #1667: Read DESY/dpdak tiff files to BornAgain GUI
* Feature #1669: Allow for multiple form factors (dwba or not) in FromFactorWrapper and rename accordingly
* Feature #1670: Provide interface for adding particle shapes in different layers that are to be treated coherently (at fix relative position)
* Feature #1671: Provide automatic splitting of particle shapes when they cross a layer interface
* Feature #1672: Implement subdivision of a layer into multiple layers for graded interface calculations
* Feature #1680: Provide 1.7.1 hotfix
* Feature #1683: GUI: provide persistence of plot settings (interpolation, color scale, ...)
* Feature #1696: GUI: Improve drag-and-drop construction of a MultiLayer.
* Feature #1702: Fit: Provide extended print output for fit parameters during iterations.
* Feature #1753: Create specular peak user example and functional test.
* Feature #1763: Revise ParameterDistribution constructors and exceptions
* Feature #1769: support TIFF data from A. Nent
* Feature #1774: Check and document best way of handling magnetic materials under rotations
* Feature #1782: GUI: provide restore project on GUI crash
* Feature #1785: Add graded layer approximation to GUI
* Feature #1787: Include option for specular peak in GUI
* Documentation #1523: explain numeric value of HomogeneousMagneticMaterial::m_magnetic_prefactor
* Refactoring #1484: GUI: refactor InstrumentItem and DetectorItem
* Refactoring #1485: GUI: refactor InstrumentView
* Refactoring #1490: GUI: refactor JobView and IntensityData widgets
* Refactoring #1492: GUI: Unify WarningSignWidget usage across the whole project
* Refactoring #1604: move expected inaccuracy (m_variability) out of class OutputData
* Refactoring #1623: Parameter name translation (GUI -> domain)
* Refactoring #1652: Sort namespaces, and provide Doxygen comments
* Refactoring #1659: rename PixelMap -> Pixel
* Refactoring #1660: remove global functions
* Refactoring #1730: Refactor ICompositeSample hierarchy
* Refactoring #1733: Avoid multiple calculations of same RT coefficients
* Refactoring #1743: resolve mutual directory dependence Parametrization <-> Scattering
* Refactoring #1744: resolve mutual directory dependence Aggregate <-> Multilayer
* Refactoring #1784: Clean up code after implementation of graded layer approximation
* Configuration #1496: Switch Windows10 buildslave from virtual box to vagrant box
* Configuration #1536: prevent Drupal from sending HTML mails with black horizontal header bar, without left margin, and in grey font
* Configuration #1635: update to gtest-1.8
* Configuration #1729: Fix centos7 CI build on buildbot
BornAgain-1.7.1, released 2016.12.01
> Hotfix:
* Bug #1679: Remove leading U+FEFF from FindYamlCpp05.cmake
* Bug #1682: hotfix: rm local version of FindBoost.cmake
* Bug #1658: add qt5-svg as a dependency
* Bug #1662: CMake: require Qt version 5.4
* Bug #1687: LMA is incorrectly normalized
* Bug #1692: GUI and Py: simulation crash when sample contains undefined material
* Bug #1681: Fitting GUI: free parameter error
* Bug #1661: FitSuite doesn't know about TestMinimizer
* Bug #1639: GUI: crash if fitting parameter removed
BornAgain-1.7.0, released 2016.11.14
> API changes
1) The one-argument constructors of FormFactorGauss and FormFactorLorentz now accept a length instead of a volume
2) GUI project back-compatibility broken
> Summary:
1) We moved the source repository from our own server to GitHub,
https://github.com/scgmlz/BornAgain.
This makes it easy for external contributors to propose changes in form of pull requests.
Appveyor and Travis continuous integration server automatize tests.
Python usage examples are now also covered by tests.
2) GUI support for fitting real data extended: masking, region of interest, linking dataset to defined instrument.
Control parameters for different fit engines unified.
3) Behind the scenes: many directories, files, classes renamed or reorganized.
* Bug #1498: Fitting in GUI: values for all fitting parameters are reported as the same
* Bug #1499: GUI Segmentation fault if layer is too thick
* Bug #1511: Roughness simulations give incorrect scattering contribution below the sample horizon
* Bug #1512: GUI crashes when simulating for a lognormal distribution of wavelength with scale parameter zero
* Bug #1515: GUI: error in determination of size of imported tiff file causes crash of fitting
* Bug #1516: Consider include of ms-win-runtime library into Windows installer
* Bug #1520: GUI: global progress bar seems to be not updating
* Bug #1558: Memory leakges in Python on Simulation::getIntensityData call
* Bug #1559: Restore intensitydata.py functional test
* Bug #1571: PyCoreTest overlooks complete obstruction of simulation
* Bug #1576: bornagain/__init__.py must not require matplotlib
* Bug #1583: PyPersist tests fail if build directory path contains a '.'
* Bug #1600: PyPersistenceTest throws an exception from regex
* Bug #1603: GUI: Cancel job is not working anymore after the refactoring of ProgressHandler, GUI real-time performance is heavily affected too
* Bug #1613: detector.setPerpendicularToReflectedBeam moves detector in the case of the beam divergence
* Bug #1621: Broken parameter name translation for certain names in GUI fitting job
* Bug #1630: Monte Carlo and multithreading options are not propagated to GUI fitting
* Feature #1120: Calculate the specular peak intensity: |R|^2 at the specular pixel
* Feature #1238: nicer layout for newsletter@bornagainproject.org (reopened: v1.6.0 round mail still had black bars)
* Feature #1475: DOI for BornAgain
* Feature #1513: Provide more informational throw message from RealParameterWrapper.
* Feature #1543: decouple FitKernel from FitSuite
* Feature #1560: Provide simulation running from Python with text version of progress bar
* Feature #1561: merge FTDistribution.. and FTDecayFunction..
* Feature #1563: Investigate time-of-life of SampleBuilder in Python context
* Feature #1564: split "Pi.h" from Units.h
* Feature #1573: facilitate plotting from Python scripts exported by PyCore tests.
* Feature #1620: Extend numpy support
* Documentation #991: Revise and reintegrate chapter on particle distributions
* Documentation #1351: Drupal: update installation instructions, tutorials for coming release
* Documentation #1412: avoid horizontal scrolling in code examples
* Documentation #1517: Add the case with missed msvc2015 runtime library on Windows systems to the troubleshooting section
* Documentation #1589: Clone drupal website
* Documentation #1590: Update to drupal 8
* Refactoring #1419: move test code out of core
* Refactoring #1428: Compactify code that handles parameters (use abstract mechanism instead of treating each single parameter explicitly)
* Refactoring #1440: cover Python examples by functional tests
* Refactoring #1466: Refactor core Minimizer family to match the GUI presentation
* Refactoring #1477: Provide more detailed info on Exception thrown from Polyhedron based form factors
* Refactoring #1487: GUI: introduce ROI (region of interest) in MaskEditor
* Refactoring #1488: GUI: provide integration of ImportDataView and InstrumentView
* Refactoring #1497: Agree on new Core directory structure and class renaming to Rename certain classes and methods.
* Refactoring #1514: Remove code duplication in Distributions.h and .cpp
* Refactoring #1524: "FitSuite" currently used in two different meanings
* Refactoring #1526: replace "FunctionalTest" by more specific terms in several test machinery classes
* Refactoring #1527: simplify containsMagneticMaterial, printSampleTree, genPyScript
* Refactoring #1542: Make ParameterPool and RealParameter independent of IParameterized
* Refactoring #1546: disambiguate getRadius()
* Refactoring #1550: in .h file header comments, replace »Declares« by »Defines«
* Refactoring #1556: FormFactorInfo: remove unused m_pos_x, m_pos_y
* Refactoring #1565: to associate units with parameters, use string instead of inheritance
* Refactoring #1588: FitSuiteParameters inhibits Python iterator
* Refactoring #1593: Remove soft particle constructors that have a volume argument instead of the usual length
* Refactoring #1594: Review and possibly refactor IFormFactor class hierarchy
* Refactoring #1605: Revise public API of fitting classes
* Configuration #1255: MacOS: provide vagrant build configurations for Mavericks
* Configuration #1344: MacOS: install buildslave to macmini
* Configuration #1447: Migrate to GitHub
* Configuration #1483: Fix shuwdown of Windows10 build slave
* Configuration #1501: version tag must start with 'v' (change release script or instructions)
* Configuration #1502: rebase all branches after release (change release script or instructions)
* Configuration #1577: Qt qcreator navigation/recognition is broken for all unit tests
* Configuration #1595: Fix Windows builds
BornAgain-1.6.2, released 2016.07.15
> Hotfix:
* Bug #1558: Memory leakages in Python on Simulation::getIntensityData call
BornAgain-1.6.1, released 2016.07.15
> Hotfix:
* Bug #1499: GUI Segmentation fault if layer is too thick
* Bug #1512: GUI crashes when simulating for a lognormal distribution of wavelength with scale parameter zero
BornAgain-1.6.0, released 2016.06.30
> Summary:
1) Python3 support
2) GUI: beta version of fitting
3) Core: new roughness calculation that is more stable for large roughness
4) Core: new formfactors dodecahedron and icosahedron
5) Windows: switched to 64-bits
* Bug #1084: MultiLayer samples with roughness (and without particles) report wrong progress to the GUI's progress bar
* Bug #1113: GUI: python script view is not updating while selecting different multilayers
* Bug #1274: GUI: rotated ellipse in MaskEditor is wrongly propagated to domain
* Bug #1294: provide substantial unit tests for factor computations
* Bug #1338: Crash while saving certain project file
* Bug #1343: GUI: online update notifier is not working
* Bug #1358: for complex vector3D, functions mag() and mag2() should return a real, not a complex number
* Bug #1367: Fix python bindings to make fitting example FitAlongSlices working
* Bug #1370: Fix numerous "features" introduced by latest major GUI refactoring
* Bug #1396: GUI: Provide limits for all properties
* Bug #1401: correct inaccurate numerics near removable singularity in form factors Tetrahedron and Prism3
* Bug #1404: compilation broken for libgsl2
* Bug #1405: Implementation error in MultiLayerRoughnessDWBASimulation
* Bug #1413: polyhedra won't react to ex-post parameter variation
* Bug #1429: Unit tests files are not shown in Qt Creator IDE
* Bug #1449: Apply detector resolution function can give negative results
* Bug #1455: RuntimeError if CrossCorrLength=0
* Bug #1458: Compilation under Mac OS is broken
* Bug #1465: Repair MacOS cmake machinery
* Bug #1470: Revise all README's in BornAgain source directory.
* Feature #335: Check Python 3 compatibility
* Feature #1075: Cone6 form factor -> analytic
* Feature #1126: GUI: improve performance of IntensityDataWidget while dragging colorbar
* Feature #1138: GUI: provide uniform style for double numbers in GUI-generated Python script
* Feature #1180: GUI: refactor material editor to make select/cancel behavior less confusing
* Feature #1238: nicer layout for newsletter@bornagainproject.org
* Feature #1245: Investigate alternative Python API generation (for c++11)
* Feature #1281: GUI: provide widget for fit parameters settings
* Feature #1305: GUI: Make real time simulation aware of current zoom level to speed up the performance
* Feature #1342: GUI: add Monte-Carlo integration option in the simulation
* Feature #1365: Replace old ./App based performance test machinery with new one
* Feature #1387: GUI: finalize FitWidget
* Feature #1388: GUI: refactor RealTimeActivity
* Feature #1408: GUI: refactor/beautify/finalize FitWidget
* Feature #1409: accelerate Ripple1
* Feature #1427: Implement new roughness calculation that is more stable for large roughness
* Documentation #1262: Fix IsGISAXS references in form factor section
* Documentation #1269: Update documentation for new phi angle definition
* Documentation #1280: draw tetrahedron as seen from -x
* Documentation #1351: Drupal: update installation instructions, tutorials for coming release 1.6
* Documentation #1400: blender: paint dodecahedron and icosahedron
* Refactoring #1217: Cleanup App directory from all obsolete code
* Refactoring #1258: GUI: move XML related methods outside of the SessionModel
* Refactoring #1295: remove 'inc/ and 'src/' directory level
* Refactoring #1296: update internal information about performance tests
* Refactoring #1333: MSC switches hopefully obsolete
* Refactoring #1334: Core: remove ProgramOptions from the simulation
* Refactoring #1352: GUI: refactor SessionModel and ParameterizedItem
* Refactoring #1353: GUI: refactor AwesomePropertyEditor to rely on new GUI model
* Refactoring #1424: reduce verbosity of googletest output
* Refactoring #1472: Introduce additional template parameter for IFactory to be able to use QString as a key
* Testing #1345: Vagrant: Provide Win10 Vagrant box running on build server
* Testing #1346: Winbuild: Provide GSL/Cmake based compilation uder MSVC 2015
* Testing #1347: Winbuild: Provide compilation of BornAgain in MSVC 2015 Comunity edition (64bits, Python2 and 3)
* Configuration #1350: Buildbot: provide set of configurations for buildbot-based BornAgain's builds
BornAgain-1.5.1, released 2016.02.18
Hotfix:
* Bug #1341: GUI crashes if simulating with 1D lattice interference function
* Bug #1338: Crash while saving certain project file
BornAgain-1.5.0, released 2016.02.15
> API changes
1) FTDecayFunctions introduced to use together with lattices (setDecayFunction)
FTDistributions are used, as before, with paracrystals.
> Summary:
1) Core: interference function calculates particle densities automatically
2) GUI: 1D interference function, Rectangular detector, Mask editor
3) GUI: Selection of axes (degrees, radians,number of bins, Q-space) for intensity data
3) Documentation: new tutorials on web site (rectangular detector, fitting, data treatment, rectangular grating)
4) Various bugfixes
* Bug #1276: Fix thread concurrency while repoorting progress update in DWBASimulattion
* Bug #1297: Reading ASCII intensity files not culture invariant
* Bug #1298: Mac os x: BornAgain.app crashes (cannot load the QtNetwork library)
* Bug #1302: Script updates following API change
* Bug #1303: Functional test montecarlo_integration.py fails
* Feature #1035: Revise IFormFactor::getRadius and IFormFactor::getHeight
* Feature #1045: Use interference funtion's properties to set total particle surface density
* Feature #1148: MacOS: provide generation of dmg installer using Qt5.5
* Feature #1149: MacOS: provide Maverick compilation using MacMini and vagrant
* Feature #1184: Implement transformation to q-space for intensity image
* Feature #1211: Switch to C++-11 for the whole project
* Feature #1213: Implement choice of detector in GUI
* Feature #1230: GUI mask editor: implement mask editor basic functionality
* Feature #1231: GUI mask editor: integrate mask editor into InstrumentView
* Feature #1232: GUI mask editor: provide transform from C++ domain to GUI domain
* Feature #1233: GUI mask editor: provide transform from C++ domain to python domain
* Feature #1234: GUI mask editor: provide functional tests for all 3 domains
* Feature #1235: GUI mask editor: integrate IntensityData widget into GraphicsScene
* Feature #1246: Investigate refactoring of ParameterizedItem structure
* Feature #1259: Add 1D lattice interference function to GUI
* Feature #1260: Windows: installer should create PYTHONPATH environment variable in system scope and not in user scope
* Feature #1266: GUI: Implement collapsable Accordion widget
* Feature #1267: GUI: implement update online notification widget
* Feature #1272: GUI: provide run of the fitting in GUI thread
* Feature #1275: Provide rectangle detector examples and functional tests
* Feature #1283: Provide functional test for all formfactors, when they are rotated and in the presence of absorption
* Documentation #1261: Drupal: update installation instructions, tutorials for coming release 1.5
* Documentation #1262: Fix IsGISAXS references in form factor section
* Documentation #1269: Update documentation for new phi angle definition
* Refactoring #1061: describe or remove morphology mode
* Refactoring #1236: Clean up remote git branches
* Refactoring #1237: GUI: generate distributed parameter names from GUI sample model instead of core model
* Refactoring #1264: Refactor ParameterizedItem's different naming schemes
* Refactoring #1265: Refactor RectangularDetector API to correspond with the tutorial
* Refactoring #1268: Change phi angle convention
* Refactoring #1270: Clarify and refactor different naming properties of ParameterizedItem
* Refactoring #1271: Investigate necessity of having a separate list for subitems and refactor accordingly
* Refactoring #1278: Deprecated declarations by compiling on new systems
BornAgain-1.4.0, released 2015.10.30
> No API changes
> Summary:
1) Improved usability of IntensityData objects (slicing, histogram filling, ...)
2) GUI: export of simulation results into tiff or ascii file
3) Core: rectangular detector added (not yet in GUI)
4) Documentation: extra fitting examples on website
5) Various bugfixes
> Details of Sprint #29 (see http://apps.jcns.fz-juelich.de/redmine/projects/bornagain/issues)
* Bug #1083: Trivial MultiLayer samples (no roughness, no particles) cause simulation crash.
* Bug #1130: Validate form factor of truncated sphere for absorption case
* Bug #1136: Numerical instability at phi_f=0 on MacOS for Pyramid based form factors
* Bug #1152: In Real Time Activity view, negative positions cannot be achieved
* Bug #1157: Qt dependency is not mentioned in INSTALL
* Bug #1158: many checks fail (1.3.0)
* Bug #1167: GUI crash when showing projection
* Bug #1170: GUI: InstrumentView alignment problem in detector parameters
* Bug #1171: GUI: make thickness disabled for air and substrate layers
* Bug #1173: Revise ParticleDistribution base class
* Bug #1174: GUI: color of layer does not change if color of material has been changed
* Bug #1198: GUI: fix simulation for particle distributions and negative z coordinate
* Bug #1212: Windows: modify installer to prepend BornAgain location to system PATH instead of appending to it
* Bug #1215: Repair wrong usage of double_epsilon in Core
* Bug #1216: GUI: normalization of intensity
* Bug #1223: FormFactorTruncatedCube instability under MacOS
* Feature #922: Add slicing to IntensityDataFunctions
* Feature #948: Implement new IntensityData object with improved usability
* Feature #1055: Implement Genetic minimizer to get rid from ROOT dependency
* Feature #1081: GUI: provide export of simulation results into tiff file
* Feature #1095: Implement rectangular (real space) detector
* Feature #1099: Repair fitting with masks
* Feature #1179: GUI: provide export of simulation results into text file (*.int)
* Feature #1186: Implement tiff import/export in kernel
* Documentation #1176: Drupal: update installation instructions, tutorials for coming release 1.4
* Documentation #1181: Drupal: provide fitting example along slices
* Documentation #1182: Drupal: provide fitting example with simultaneous fit of two datasets
* Refactoring #619: Masked simulation doesn't use all threads all the time
* Refactoring #1064: Get rid of "pylab" in Python scripts
BornAgain-1.3.0, released 2015.07.30
> API Changes:
1) Removed 'depth' from ParticleLayout::addParticle: new interface provides for abundance, position and possible rotation
> Summary:
1) Documentation: description of using positions/rotations for particles
2) Documentation: description of building complex shapes by assembling elementary shapes together
3) New functional test machinery, covering more test cases in a more consistent way
4) Windows installer: for GUI use, python installation is no longer required
5) GUI: added position/rotation to ParticleComposition and ParticleCoreShell and enabled adding ParticleComposition to another ParticleComposition
6) Various bugfixes
> Details of Sprint #28 (see http://apps.jcns.fz-juelich.de/redmine/projects/bornagain/issues)
* Bug #1092: BornAgain crashes when connecting ParticleCoreShell to ParticleDistribution
* Bug #1101: Fix Python script generation (since refactorings in last release)
* Bug #1106: Fix GUI example
* Bug #1108: GUI Crash when inserting Distributed Particle in 'Rotated pyramids' example
* Bug #1112: Validate domain/GUI/domain convertion of samples with two types of distributed particles
* Bug #1114: New functional test PySuite/RectParaCrystal is failing
* Bug #1115: New functional test ParticlesInSCCA is failing
* Bug #1117: Implement GUI/PyScript functional tests for 2D para crystal and various FTDistributions function
* Bug #1118: Implement partial loading from BornAgain-1.2 project files to current 1.3
* Bug #1127: Crash after dragging MultiLayer into MultiLayer
* Bug #1147: GUI: project open failure for the project file of 1.1 version containing core shell particle
* Feature #887: Windows: provide compilation of BornAgain using MSVC2013
* Feature #888: Windows: consider include of python27.dll into the installer
* Feature #925: Review collection of functional tests
* Feature #1020: Refactor GUI (and possibly core) version of Transformation to enable a distribution of position/rotation (2)
* Feature #1105: Provide captcha for Drupal site
* Feature #1107: Rename 'Transformation' in GUI when only a rotation is meant
* Feature #1111: Implement DetectorResolution in python script generator
* Feature #1140: Write intensity output file (.int) as matrix having the same dimensions as the intensity array
* Documentation #1098: Add two existing Python examples to Drupal
* Documentation #1100: Create fitting tutorial for drupal site
* Documentation #1132: Drupal: describe particle positioning
* Documentation #1133: Drupal: describe particle rotation
* Documentation #1134: Drupal: describe complex shapes via particle composition
* Documentation #1137: Drupal: update installation instructions, tutorials for coming release 1.3
* Refactoring #1121: Remove position/rotation from ParticleDistribution
* Testing #1013: Check consistency of depth and abundance between GUI and core
* Testing #1016: Implement all form factors GUI functional test
* Testing #1122: Provide functional tests to validate particles rotation and positioning
BornAgain-1.2.0, released 2015.06.10
> API Changes:
1) Rename: 'Simulation' --> 'GISASSimulation' for consistency with other types of simulations
2) Removed 'ParticleInfo' completely from public API: position information is now encoded in the Particle's themselves
> Summary:
1) Documentation: scalar scattering theory in manual
2) Support for polarized neutron scattering with polarization/analysis along different axes (not restricted to z-axis)
3) New features in Graphical User Interface
a) GUI real time view is now saved in projects
b) Beam divergence can be exported to Python script
c) InstrumentView allows to change beam divergency with the help of fancy distribution viewer
d) JobView allows to normalize all selected jobs to the specific min, max to simplify intensity map comparison
4) Various bug fixes
> Details of Sprint #27 (see http://apps.jcns.fz-juelich.de/redmine/projects/bornagain/issues)
* Bug #1047: Release script: move MAC dmg package into 'old' directory
* Bug #1048: Update release script for new user manual
* Bug #1050: GUI: Variation of lattice orientation in real time view does not work for example 'Hexagonal lattice with basis'
* Bug #1057: GUI: run job that was 'Submit only' does not produce a plot
* Bug #1066: Model lost after unsuccessful load
* Bug #1067: Keyboard shortcuts not always working
* Bug #1069: Crash when entering parameter out of range in sample view
* Bug #1077: Fix min, max handling for z-axis of ColorMap plot
* Bug #1079: Fix appearance of tab with job details on JobView
* Bug #1085: Fix crash of GUI while trying to save the project under the name containing special characters
* Bug #1091: BORNAGAIN_APP flag does not automatically build 'App'
* Bug #1093: showstoppers for release of manual v1.x
* Bug #1097: update reference data for functional test 65: montecarlo_integration.py
* Feature #957: Investigate automatic generation of meaningful docstring for PythonAPI
* Feature #959: GUI: implement saving of RealTimeView content in JobModel
* Feature #979: Add standard GNU options -v --version to command bornagain
* Feature #996: GUI: implement export to Python in the case of beam divergence
* Feature #1015: Implement polarized neutron scattering with beam density matrix and analyser spin filter
* Feature #1040: Change angle units from radians to degrees while exporting from PyGenVisitor
* Feature #1051: Implement warning sign widget in real time view
* Feature #1056: Make default build to not to use system's ROOT
* Feature #1062: Add item in drupal's troubleshooting section explaining possible interference between BornAgain and Mantid on MacOS
* Feature #1063: Add item in drupal troubleshooting section explaining conflict with previous BornAgain installation
* Documentation #915: Provide poster for Galaxi control room
* Documentation #990: Proof-read chapter on scalar scattering theory
* Documentation #1058: Describe how to install BornAgain on mac to user home folder
* Documentation #1059: Provide poster for our building
* Refactoring #1046: Replace unnecessary shared_ptr's with scoped_ptr's
* Refactoring #1074: Replace complex OutputData structures at low level with vector of required input/output
BornAgain-1.1.0, released 2015.04.15
> Summary:
1) New form factor of truncated cube
2) New features in Graphical User Interface
a) Beam divergence, detector resolution function
b) ParticleComposition (particle composed from other particles)
c) ParticleDistribution (particle with size distribution)
d) Export of GUI simulation into a Python script for novice users
3) Changes in PythonAPI:
a) LatticeBasis now is called a ParticleComposition
b) Transform3D object is removed in the favor of RotationX, RotationY, RotationZ and RotationEuler objects
> Details of Sprint #26 (see http://apps.jcns.fz-juelich.de/redmine/projects/bornagain/issues)
* Bug #951: Unit tests failing with boost-1.57
* Bug #968: Merge forked bibliography files
* Bug #969: Let user manual version be same as software version
* Bug #974: rename BORNAGAIN_MAN
* Bug #997: GUI: progress bar shows wrong progress in the case of beam divergence
* Bug #998: GUI: beam wavelength with wide gaussian distribution cause crash
* Bug #999: GUI: Mouse wheel events on InstrumentView affects values in combo widgets
* Bug #1001: GUI: Applying LogNormal distribution to inclination angle causes simulation job failure
* Bug #1011: GUI crashes at wrong formfactor parameters
* Bug #1037: Doubling of unit cell in hexagonal lattice yields wrong results
* Bug #1038: GUI: python script generation fails for the distributed particle
* Bug #1041: GUI: depth of particles cannot be negative
* Bug #1043: Check R,T coefficients provided by SpecularSimulation class
* Feature #827: Forbid in-source build
* Feature #834: Integrate python script generation in GUI
* Feature #883: Provide the Simulation with possibility to post process IntensityData with the detector resolution function
* Feature #895: GUI: implement Python script viewer in SampleView
* Feature #924: GUI: update list of saved projects
* Feature #937: Revise content and behaviour of GUI's widgetbox for standard samples
* Feature #941: GUI: implement detector resolution function
* Feature #943: Implement beam divergence in GUI
* Feature #972: Setup and describe GUI-version as the default program, add Qt5 dependences to online installation instructions, and use the distributions' native Qt5
* Feature #973: GUI invocation: 'BornAgain' -> 'bornagain' (Unix commands must be all lowercase)
* Feature #977: Implement GUI version of LatticeBasis
* Feature #1006: Make icon for Particle Collection in GUI
* Feature #1007: Implement support for Particle Collection in python script generation
* Feature #1008: Provide GUI functional test for ParticleComposition
* Feature #1010: GUI: provide possibility to fix min, max intensity values while tuning parameters in RealTimeView
* Feature #1017: Provide basic working GUI version of ParticleDistribution with single parameter distribution
* Feature #1018: Refactor GUI (and possibly core) version of Transformation to enable a distribution of position/rotation
* Feature #1036: Implement FormFactorTruncatedCube in GUI
* Documentation #394: Write man page(s)
* Documentation #659: Extend introduction of User manual
* Documentation #942: Write release 1.0.0 news letter for extended mailing list
* Documentation #944: Drupal: add small gallery on Welcome page
* Documentation #946: Drupal: write how to get help and how to request a new feature in FAQ section
* Documentation #949: Drupal: implement tracking of BornAgain downloads number in Google Analytics
* Documentation #952: Mention python gdal module in the description of the load tiff data example
* Documentation #956: FormFactorTetrahedron: difference in equations in .cpp file and the manual
* Documentation #965: convert user manual to xelatex
* Documentation #978: Make index for User Manual
* Refactoring #950: Refactor JobQueueModel to rely on standard SessionModel
* Refactoring #960: GUI: refactor SampleDesigner to use UniversalPropertyEditor
* Testing #555: Implement ParticleCoreShell unit test
* Testing #1000: Implement ParameterDistribution and DistributionHandler unit tests
* Testing #1003: Implement LatticeBasis unit test
* Support #577: Implement form factor of truncated cubes
BornAgain-1.0.0, released 2015.01.29
> Summary:
1) Graphical User Interface officially included into the Release
2) Refactoring and extension in the collection of user Python examples
3) New website www.bornagainproject.org is online
4) R,T coefficients exposed to Python within new SpecularSimulation class
5) Minor changes in PythonAPI (particles with size distribution, LatticeBasis construction, InterferenceFunction1DParacrystal)
> Details of Sprint #25 (see http://apps.jcns.fz-juelich.de/redmine/projects/bornagain/issues)
* Bug #788: Fix release script to process CHANGELOG correctly
* Bug #872: PyScript functional tests fail on iffds
* Bug #873: Replace IntensityDataIOFactory::writeIntensityData format from .txt to .int in all App cases
* Bug #874: Fix undefined reference
* Bug #876: Fix small release script issues
* Bug #935: It is not possible to change phi_f in InstrumentView
* Feature #544: Provide example with user's form factor extension from python
* Feature #737: Provide example demonstrating Monte-Carlo integration for big particles
* Feature #783: Design BornAgain main application icon
* Feature #787: Revise build instruction for Mac
* Feature #841: Implement 'About BornAgain' widget in Menu/Help
* Feature #851: GUI: disable qDebug() outputs for Release build
* Feature #854: Provide splash screen for starting GUI
* Feature #855: Check implementation of radial averaging for paracrystal
* Feature #866: Revise list of python examples going into release 1.0.0
* Feature #871: Revise deployment instruction for Mac
* Feature #885: Provide web statistics
* Feature #894: GUI: create collapsible group box
* Feature #898: Create setup.py for moving BornAgain libraries into users Python
* Feature #908: Create 3 user examples demonstrating DA, LMA and SCCA difference
* Feature #909: Expose MultiLayer's R,T coefficients into Python
* Feature #910: Implement automatic check of python examples from users examples directory
* Feature #911: Revise usage of PositionParticleInfo
* Feature #912: Create example of hexagonal lattice with basis
* Documentation #197: Unified header comment for all source files
* Documentation #781: Provide short description of GUI functionality
* Documentation #848: Create BornAgain documentation prototype using Sphinx
* Documentation #849: Replace old weblink with bornagainproject.org in user manual
* Documentation #860: Update installation section with how to compile graphical user interface
* Documentation #864: Provide Drupal site with minimum set of pages
* Documentation #865: Switch bornagainproject.org to new website
* Documentation #867: Update User Manual with examples description corresponding to release-1.0.0 list
* Documentation #877: Provide draft webpage
* Documentation #891: Check and fix examples
* Documentation #893: Check feasibility of custom form factor example in Python
* Documentation #901: Fill in Sphinx functionality overview section
* Documentation #902: Fill functionality overview section in Drupal
* Documentation #905: Clean up doxygen documentation
* Refactoring #242: use GSL for random number sampling
* Refactoring #258: Make enumerator look the same everywhere
* Refactoring #568: Refactor ParticleBuilder
* Refactoring #830: Check pass by value for Eigen matrices of fixed size
* Refactoring #889: Remove Stochastic parameters in favour of IDistribution classes
* Refactoring #913: Remove FormFactorDWBAConstZ
* Testing #795: Test dmg package
BornAgain-0.9.9, released 2014.10.29
> Summary:
1) Further GUI development: QuickSimulationView, exception catching, property limits
2) Few bugfixes, support for multiple layout objects per layer, python script generation, minor refactoring in UserAPI.
3) User Manual: new appendix with python examples
> Details:
* Bug #776: GUI: InterferenceFunction2DParaCrystal rotation angle activation
* Bug #780: Windows: pixmap of item being dragged is not displayed on DesignerScene
* Bug #791: LLDataTest.DataAssignment Unittest failure
* Bug #821: Remove interference function approximations from GUI
* Bug #826: cmake fails under Debian/testing; problem with Python
* Bug #829: CMake is not able to find right Python version when there is a Python2 and Python3 on the system
* Bug #833: Duplicate transformation in Real Time Activity view
* Bug #835: In Real Time Activity view, setting wavelength to zero causes a crash
* Bug #843: Fix nightly build (python script generation functional tests failing)
* Feature #393: Create Mac installer
* Feature #677: Provide validation of GUI sample for corectness and corresponding info widget
* Feature #680: Provide ParameterizedItem's property with tooltips.
* Feature #768: Integrate QuickSimulationView into JobView
* Feature #769: Remove SimulationDataModel
* Feature #778: Windows installer: implement add/remove BornAgain desktop icon
* Feature #784: Revise workspace behaviour in DesignerScene
* Feature #803: Implement correct handling of simulation failure in JobItem
* Feature #805: Implement simple crash handler widget to report bugs
* Feature #814: Implement exceptions catching in the Core to report exception from a thread to main thread
* Feature #819: Move DA, LMA, SSCA to ParticleLayout and propagate to GUI
* Feature #820: Implement reset of JobItem's sample and instrument models to the original.
* Feature #822: Revise submit job logic
* Feature #823: Allow multiple ILayout objects per layer
* Feature #825: Update default behaviour of OutputDataWidget
* Feature #828: Trivial form factor for demonstration purposes
* Feature #837: Provide all item's properties with correct limits
* Feature #838: Merge python script generation branch of Abhishek
* Feature #845: API: remove Lattice2DIFParameters from InterferenceFunction2DLattice constructor and implement static creators for square and hexagonal lattice IF's
* Feature #856: Modify Python Example005 Disorder2 to match description in User Manual
* Feature #857: Include GUI into Linux 'make install' command
* Documentation #429: Write Appendix which lists all implemented examples from Examples section
* Documentation #846: Adapt manual to new constructor for InterferenceFunction2DLattice
* Refactoring #786: Remove unnecessary calls to getOutCoefficients
* Refactoring #818: Review SimulationParameters
BornAgain-0.9.8, released 2014.08.28
> Summary:
1) Further GUI development toward first beta scheduled for October, 2014.
Implemented rotation of particles in GUI, real time simulation window.
2) Few bugfixes, minor refactoring in UserAPI.
> Details:
* Bug #741: ScalarSpecularInfoMapTest failing under Debian 32 bits
* Bug #764: Memory leackage in mesocrystal simulation.
* Bug #765: Genetic minimizer crashes for certain ROOT configurations
* Bug #779: Transformations on core/shell are not being used
* Feature #465: Organize BornAgain mail list with subscription
* Feature #604: Implement QStandartItemModel hierarchy
* Feature #682: Provide PlotWidget with x,y-axis in both, radians and degrees.
* Feature #702: Implement position particle info equivalent in GUI
* Feature #703: Implement rotation of particles in GUI
* Feature #704: Implement Lattice2D interference function in GUI
* Feature #736: Compile GUI under Windows with Qt5.3 and provide installer.
* Feature #738: Perform new round of profiling and memory leackage investigation
* Feature #746: Refactor GUI's OutputDataWidget to disantagle projections/property editor/plot widget.
* Feature #747: Finalize QuickSimulationView.
* Feature #748: Refactor IAxis family
* Feature #763: Provide icon set for recent widgets
* Feature #766: Propagate latest API changes (IAxis, IntensityDataIOFactory) into user manual.
BornAgain-0.9.7, released 2014.07.31
> Summary:
1) Further GUI development toward first beta scheduled for October, 2014.
2) Redesign of RT coefficient calculations to reduce numerical instabilities in very thick layers.
3) Improvements in Monte-Carlo integration to cope with highly oscillatory form factors of super large particles.
4) Experimental support for running BornAgain on high performance computing clusters under OpenMPI environment.
> Details:
* Bug #578: Initialization problem in LLData class
* Bug #706: Layer cannot be dropped from widgetbox to designer scene
* Bug #709: Take care of thick layers
* Feature #523: Expose to python MSG::SetLevel
* Feature #600: Provide compilation of BornAgain at lrz cluster
* Feature #604: Implement QStandartItemModel hierarchy
* Feature #663: Improve MaterialEditor logic
* Feature #675: Provide widgetbox with tooltips.
* Feature #679: Revise location of auto generated BAVersion and similar files
* Feature #681: Provide Paracrystal1D with possibility to set different probability distributions.
* Feature #687: Provide unit test machinery for GUI.
* Feature #688: Include GUI in nightly build
* Feature #694: Provide select all functionality for SampleView
* Feature #695: Provide panning functionality for SampleView
* Feature #696: Implement check for unsaved project and corresponding save/discard widget
* Feature #699: Implement ParameterModel and corresponding view delegates for real time SimulationView
* Feature #700: Implement core shell particles in GUI
* Feature #701: Implement layer roughness in GUI
* Feature #705: Implement Monte Carlo integration also for polarized simulations
* Feature #710: Provide toy OpenMPI application to run at LRZ
* Feature #713: Provide simplified OpenMPI support in runSimulation
* Feature #729: Integrate Mahadi's QuickSimulation widget into run simulation evironment.
* Documentation #691: Provide simple cartoons for concepts that are otherwise difficult to understand
* Refactoring #581: Check naming of the coherence length
* Testing #674: Provide functional test machinery for GUI.
BornAgain-0.9.6, released 2014.06.04
> Summary: Diverse GUI items (OutputData Widget, basic simulation functionality) + big form factor issue
* Feature #597: Attach Instrument view to session model
* Feature #598: Implement OutputData widget
* Feature #599: Extend OutputData widget with projections
* Feature #603: Rafactor GUI version of MaterialManager
* Feature #610: Generate QStandardItem objects from the domain objects
* Feature #613: Complete correspondence between domain and GUI model objects
* Feature #622: Implement JobQueueModel and View
* Feature #629: Complete connection between SessionModel and JobQueueModel
* Feature #635: Integrate Mahadi's OutputDataWidget into JobQueueView
* Feature #646: Implement serialization of subitems of ParameterizedItem
* Feature #647: Implement serialization of MaterialManager
* Feature #648: Provide serialization of ParticleItem
* Feature #653: Implement ParticleView representing ParticleItem
* Feature #654: Complete IsGISAXS01 sample generation from GUI
* Feature #655: Implement parameterized items for 1D and 2D paracrystals
* Feature #657: Provide solution for form factor of big particles
* Feature #673: Provide editing of ParameterizedItem's name in property editor.
* Feature #678: Provide automatic switch to JobView after the job is completed.
* Feature #684: Test remote compilation via distcc
BornAgain-0.9.5, released 2014.04.11
> Summary: Refactoring in user API, working on GUI toward first beta.
* Bug #605: Fitting examples under Windows doesn't update graphics in realtime
* Feature #595: Implement saving of general GUI settings
* Feature #596: Investigate serialization of QStandardItemModel
* Feature #608: Basic QStandardItemModel structure
* Feature #609: Generate domain objects from GUI model objects
* Feature #611: Attach drag&drop view to the underlying QStandardItemModel
* Feature #612: Attach Property Editor View to the underlying QStandardItemModel
* Feature #615: Implement add/remove/move in TreeView
* Feature #616: Implement new FormFactor pictograms in widgetbox
* Feature #623: Implement basics of JobQueueItem and JobQueueModel
* Feature #624: Implement JobQueueView with tree representation of queue's properties and corresponding OutputData widget
* Feature #625: Implement basic logic for add/remove/cancel/unddo for JobQueueView
* Feature #626: Implement ProgressBar in Coregui and JobQueueModel
* Feature #627: Implement serialization of JobQueueModel
* Feature #628: Implement call back from Simulation to the ProgressBar of JobQueueView
* Feature #641: Drag items to root in treeview
* Feature #642: Implement normalization of IntensityData in Python
* Feature #645: Implement formfactory property as combobox in property editor
* Documentation #584: Write small explanation about core shell form factor in FormFactor's Appendix
* Documentation #589: Reduce size in Mb of user manual
* Documentation #590: Write Appendix section about interference functions available
* Documentation #591: Write Doxygen section about interference functions available
* Refactoring #266: Refactor MaterialManager
* Refactoring #594: Revise ParticleDecoration appearance/naming in UserAPI
BornAgain-0.9.4, released 2014.02.07
> Summary: Off specular simulation, beam divergence, support for MacOS Maverick, new form factors
* Bug #220: Gui: provide GUI compilation under Qt5/linux
* Bug #461: Provide compilation on latest MacOS Maverick
* Bug #545: PolarizedDWBAZeroMag functional test fails under windows
* Bug #567: Restore PythonAPI generation under Maverick
* Bug #576: Fix functional tests under Maverick
* Bug #582: Silent sigmentation fault in InterferenceFunction2DLattice
* Feature #304: Provide compilation of HipGISAXS and run test simulation on GPU
* Feature #318: Implement beam divergence and wavelength distribution
* Feature #400: Move QtVariantManager into directory "externals" as static library
* Feature #446: Repair broken Genetic minimizer after we get rid from ROOT dependency
* Feature #482: Implement/review Full spheroid formfactor
* Feature #484: Implement/review Ellipsoid formfactor
* Feature #485: Implement/review Anisotropic hemi-spheroid formfactor
* Feature #486: Implement/review Spheroid formfactor
* Feature #491: Provide https access to git repository
* Feature #521: Implement polarized DWBA with cylindrical particles functional test
* Feature #526: Implement the ripple 1 (gaussian) formfactor
* Feature #543: Review release script
* Feature #553: Provide interface to perform off-specular scattering simulations
* Feature #569: Provide complex Bessel functions in C++ by wrapping existing fortran code
* Feature #571: Replace real Bessel with complex one where needed
* Documentation #546: Complete Appendix with all form factors listed
* Documentation #549: Doxygen API: review form factors description
* Documentation #565: Provide simulation and fit examples for spheres with size distribution
* Documentation #566: Provide ripple2 example
* Testing #445: Implement BornAgainFit unit test infrastructure
* Testing #537: Create MultiLayer unit test
* Testing #551: Implement tests for AttLimits, FitParameter, FitParameterLinked
* Testing #554: Implement ParticleDecoration unit test
* Testing #556: Implement HomogeneousMaterial and HomogeneousMagneticMaterials unit tests
* Testing #557: Implement OutputData<Eigen::Matrix2d> unit test
* Testing #559: Implement SpecularMatrix unit test
* Testing #560: Implement ScalarRTCoefficients unit test
* Testing #561: Implement MathFunctions unit test
* Testing #562: Implement MatrixRTCoefficients unit test
* Testing #563: Revise Beam unit test
* Testing #564: Implement ScalarSpecularInfoMap and MatrixSpecularInfoMap test
* Testing #573: Implement DWBASimulation unit test
BornAgain-0.9.3, released 2013.12.20
> Summary: new form factors, user requests, refactoring
* Bug #469: Review form factor calculation for big particle dimensions
* Bug #499: Simulated formfactors sphere (for H=2R) and fullsphere are squeezed
* Bug #505: Investigate and possibly fix transformations for polarized mesocrystals
* Bug #508: Pacman assymetry in peaks of meso crystal simulation
* Bug #509: OutputData<T>.setAllTo(value) crashes (nullpointer) after clear()
* Bug #512: Particles' magnetic materials are not transformed
* Bug #516: Simulation of mesocrystal differs when doing 4 vs 8 threads
* Feature #288: Provide correct implementation of tilted cylinder (and cone) formfactor for complex wavenumbers
* Feature #410: Review and improve on mesocrystal form factors
* Feature #430: Examples: prepare example with core shell nanoparticles
* Feature #435: Request: provide JFM with the python script simulating the sample_jfm1
* Feature #454: Change behavior of setParameterValue
* Feature #477: Implement/review Cone formfactor
* Feature #478: Implement/review Tethraedron formfactor
* Feature #479: Implement/review Prism6 formfactor
* Feature #480: Implement/review Cone6 formfactor
* Feature #481: Implement/review Cybooctaedron formfactor
* Feature #483: Implement/review Anisotropic pyramid formfactor
* Feature #494: Implement all IsGISAXS distribution functions
* Feature #506: Refactor all tests to use new SimulationRegistry
* Feature #527: Implement the ripple 2 (triangular) formfactor
* Feature #540: Provide consistent propagation and composition of transformations
* Documentation #426: Examples: prepare C++ standalone example in Examples section
* Documentation #432: Examples: prepare example with correlated roughness interface
* Documentation #471: Write down formalism for polarized DWBA on embedded particles
* Documentation #475: Create prototype of latex (pdf) page representing form factor
* Documentation #489: Python docstrings
* Documentation #501: API reference for manual
* Refactoring #232: rename "min" and "max" in TRange, ...
* Refactoring #302: Return global static constants in the namespace back
* Refactoring #303: Drop shared_ptr usage for BasicVector3D
* Refactoring #416: CHeck and fix //TODO's and //FIXME's
* Refactoring #436: Refactor ISample, IParameterized and ParameterPool for better access to global ISample's parameter pool
* Refactoring #507: Wrap SampleBuilder in the shared pointer
* Refactoring #522: Clean up in App and FunctionalTests
* Testing #127: Add LLData Unit tests
* Testing #413: Repair MesoCrystal functional test
* Testing #414: Implement functional test: polarized DWBA with zero magnetic field
* Testing #421: Repair Performance test
* Testing #524: Produce a functional test for the layer with roughness
* Testing #529: Create TRange unit test
* Testing #530: Create AxisBin unit test
* Testing #535: Modify Particle unit test
* Testing #536: Create FTDistributions unit test
* Support #511: Provide example with 2 parameter fit of spheres in a hex lattice
BornAgain-0.9.2, released 2013.10.14
> Summary: build issues, fitting interface, user manual, conferences
* Bug #447: Our minimum required cmake version 2.8.0 doesn't contain PARSE_MACRO
* Bug #462: Provide compilation on Jülich MacOS server
* Bug #463: Provide compilation under Jülich CentOS 5.10
* Bug #468: Make use of python interpreter to guess libpython location
* Bug #470: fitting example failure
* Bug #473: Simulation fails at zero abundance in particle_decoration.addParticle
* Bug #497: Access to axis of IntensityData in Python leads to the segmentation fault
* Feature #396: Create deb package
* Feature #417: implement automatic propagation of BornAgain version number into cmake
* Feature #419: Write deployment script which will automatize the release
* Feature #431: Build: provide thisbornagain.sh to set system PATHs to the installation directory
* Feature #437: Provide OutputData with ExportToNumpy function for PythonAPI
* Feature #438: Adjust existing python examples to conform PEP8 style
* Feature #444: Prepare talk for ILL
* Feature #450: Provide python function to retrieve polarized output data
* Feature #493: Set PYTHONPATH under windows at the end of installation
* Documentation #372: Review fitting section
* Documentation #398: default installation from tgz; direct only experts to git snapshot
* Documentation #404: Prepare poster for GISAXS2013 Workshop in Hamburg
* Documentation #423: Prepare demo for GISASXS 2013
* Documentation #439: Explain sample parameters paradigm in simulation examples section
* Documentation #440: Create svg plot representing minimization flow
* Documentation #441: Prepare talk for Koordinierungstreffen
* Documentation #448: Examples: prepare FitCylindersAndPrism_detailed example
* Documentation #449: Review manual's simulation python example section to conform changes in the script itself
* Documentation #455: Add demos into Examples/python section
* Documentation #456: Prepare talk "Data Analysis in HEP" for ILL
* Documentation #458: Prepare talk about Python bindings for ILL
* Documentation #459: Review installation section
* Refactoring #443: Refactor IMinimizer for better control of minimizer option
* Support #460: Create git repository for user related info
BornAgain-0.9.1, released 2013.09.27
> Summary: Windows build, polarized neutrons and magnetic domains
* Bug #403: Debian unittest failure
* Feature #14: Choose platform-independent build system
* Feature #314: Windows compilation part 2
* Feature #360: Compile BornAgainCore and corresponding functional tests
* Feature #361: Compile BornAgainFit and corresponding minimizer libraries and functional tests
* Feature #362: Compile PythonAPI and run python functional tests
* Feature #363: Compile App using cmake-mingw and cmake-msvc
* Feature #364: Switch to cmake build system in windows build
* Feature #365: Switch to Microsoft VC2012 in windows build
* Feature #366: Create windows installer package
* Feature #367: Provide treatment of detector resolution for polarized neutrons
* Feature #368: Provide correct normalization of polarized neutron intensity
* Feature #388: Test polarization simulation with IsGISAXS03 example
* Feature #389: Make common interface for reflection/transmission coefficients and their maps
* Feature #390: Make implementations of interference functions transparent to whether coefficients are matrix- or scalar-valued
* Feature #391: Compile GUI for windows using cmake-mingw and cmake-msvc
* Feature #392: Use scalar reflection/transmission coefficients in absence of magnetization in layers (also when the particles might be magnetized)
* Feature #399: Provide diffuse calculation for polarized mesocrystals
* Feature #402: Use cmake in eclipse build
* Feature #411: Provide help functions for analysis of polarized OutputData structures
* Documentation #406: Review Software Architecture section
* Documentation #407: Review Installation section
* Documentation #408: Update wiki page to conform with the UserManual
* Refactoring #370: Remove unnecessary code duplication introduced during implementation of polarization
* Support #371: Simulate S. Disch's sample
BornAgain-0.9, released 2013.08.23
* FunctionalTests: fitting from python works two times faster than fitting from C++
* Compile Error on Ubuntu 12.04
* Strange warning in boost::python api generation
* crash on addInterferenceFunction() without any error message
* Fix zero eigenvalue case for specular magnetic case
* Move ROOT minimization into ThirdParty and so get rid from ROOT dependency
* Change conventions (feedback from GISS Workshop)
* Ease installation for users
* Implement batch mode for the Simulation (suggestion of Gunthard Benecke)
* Develop enough neutron polarization support to simulate samples from S. Disch and A. Klapper
* Remove Decorator pattern from user interface
* Move specular calculation to the SpecularMatrix class (for scalar)
* Add polarization state to Beam
* Add magnetic materials
* Develop MatrixSpecular for magnetic materials
* Use magnetic calculation when a magnetic material is present
* Add DWBA for magnetic particles
* Develop roughness calculation for matrix formalism
* Add new cmake build configuration to TeamCity
* Write description of isgisaxs01 example for User Manual using latex
* Populate examples directory with several well commented python scripts
* Write how to install in manual and wiki
* Adapt local python script for plotting data
* Write simple fitting example and corresponding section in the documentation
* Provide import of ProgramOptions (nthreads, level of logging) into libBornAgainCore
* Replace Particle's index of refraction with material
* Move all IsGISAXS geometries to Core/StandardSample directory
* cmake build in Ubuntu and corresponding how to in the documentation
BornAgain-0.8.2, released 2013.07.30
* Particle interface changed to accept HomogeneousMaterial
BornAgain-0.8.1, released 2013.07.26
* CMake based build system
* PythonAPI automatic code generation redesign
* User Manual v0.1
* libBornAgainFit
* FunctionalTest collection
BornAgain-0.7.0, released 2013.04.10
* First public release
|