forked from juanmcloaiza/BornAgain
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
1457 lines (1407 loc) · 95.4 KB
/
CHANGELOG
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
BornAgain-1.17.99, work in progress
> 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
> Changes in build configuration:
1) Python2 no longer supported
2) OpenGL can no longer be deselected
3) Eigen3 removed from ThirdParty; it is now a regular external dependence
> 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
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