\(\renewcommand\AA{\unicode{x212B}}\)
Framework Changes¶
Algorithms¶
New features¶
- The RebinRagged algorithm has been converted from a Python algorithm to a C++ algorithm. This should improve the performance of the algorithm. You can still use the Python version of RebinRagged by adding the option - Version=1.
- The - PreserveEvents=Falseoption in the Rebin algorithm allows you to skip the sorting of events before rebinning. This gives a performance improvement.
- Added support for fine-grained GitHub access tokens for authenticated calls. These tokens can be set via the - network.github.api_tokenoption in the- Mantid.user.propertiesfile.
- Added the - AppendYAxisLabelsoption to the AppendSpectra algorithm. This will append y-axis values from input workspaces to the output workspace when True.
- Added the option to change the number of points used in the SolidAngle algorithm when triangulating a cylinder, which is what happens for tube detectors. The new argument is called - NumberOfCylinderSlicesand will default to- 10, which is the current number of slices used.
- Improved the error messages when calling Algorithms with either missing arguments or invalid arguments. The type of the exceptions is changed from - RuntimeErrorto- TypeErrorto be more consistent with the convention in Python.
- The - OutputWorkspacefor the GroupWorkspaces algorithm is now allowed to be the same name as one of the- InputWorkspaces. In this case, the new group workspace will supplant the old workspace, and- _1will be appended to the name of the old workspace.
- When the - StoreInADSalgorithm property is False, it is now optional to provide a value for- OutputWorkspace.
Bugfixes¶
- Added warning message when - ConvertUnitsor- ConvertAxisByFormulafails to do the conversion for certain detectors. Previously the warning was an information message.
- Fixed an error if algorithms are still running in the background when a python script finishes. 
- The LoadAscii algorithm has been sped up by at least one order of magnitude. 
- The performance of the FilterEvents algorithm has been significantly improved for a use case with fast changing logs. The - REF_M_40380was acquired with a 10 kHz trigger (on/off). It has 1.3 M events and 30 M splitters. The execution time of the MRFilterCrossSections algorithm on this data has been reduced from 50+ hours to 3 minutes.
- Improved parameter validation to check for the case of the bin width being too large when specifying bins in the Sample Transmission Calculator. 
- Fixed a bug in the Integration algorithm caused by division by 0 when normalizing. 
- Fixed a miscalculated Debye-Waller factor in the ComputeIncoherentDos algorithm. 
- The - DSFinterpalgorithm has been deprecated. It was not being registered due to a missing dependency.
Fit Functions¶
New features¶
- A new 1D peak finding Algorithm FindPeaksConvolve has been added to the Framework and is available in the - FitPropertyBrowser. It has been added as an alternative to the FindPeaks algorithm with the intention of improving peak finding.
Bugfixes¶
- The - DSFinterp1DFitfit function has been deprecated. It was not being registered due to a missing dependency.
Data Handling¶
Bugfixes¶
- Fixed a bug where - FilteredTimeSeriesProperty::timeAverageValuewould return an incorrect value for datasets with only one data point in the filter.
Data Objects¶
New features¶
- The - AnalysisDataService::clear()function now displays a warning that workspaces might be removed even though they are still used by one of the interfaces.
Python¶
New features¶
- Added new pytest fixtures that can be used in other projects to make testing with mantid more convenient and intuitive. Usage 
- Added the HFIRGoniometerIndependentBackground algorithm for generating a background workspace from a 3 dimensional MDHistoWorkspace. 
- The ConvertWANDSCDtoQ algorithm now accepts a background MDHistoWorkspace - to be converted and subtracted from the input workspace. 
- The ConvertWANDSCDtoQ algorithm can now perform Symmetry Operations from a provided SpaceGroup, PointGroup or list of Symmetry Operations. 
- Added a custom matplotlib backend for PyCharm to the backend cast function. 
- Added a new context manager, amend_config, that allows you to temporarily change Mantid User Properties in a safe and efficient way. 
- Added a new testing function assert_almost_equal to make testing equality between workspaces more convenient. 
- Added the - unique_nameand- unique_hidden_namefunction to the AnalysisDataServiceImpl class to assist in creating unique workspace names.
Bugfixes¶
- Fixed a deadlock that occured when using debug level logging and PythonStdoutChannel or PythonLoggingChannel. 
Dependencies¶
New features¶
- Updated boost to 1.78.