\(\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=False
option 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_token
option in theMantid.user.properties
file.Added the
AppendYAxisLabels
option 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
NumberOfCylinderSlices
and will default to10
, 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
RuntimeError
toTypeError
to be more consistent with the convention in Python.The
OutputWorkspace
for the GroupWorkspaces algorithm is now allowed to be the same name as one of theInputWorkspaces
. In this case, the new group workspace will supplant the old workspace, and_1
will be appended to the name of the old workspace.When the
StoreInADS
algorithm property is False, it is now optional to provide a value forOutputWorkspace
.
Bugfixes¶
Added warning message when
ConvertUnits
orConvertAxisByFormula
fails 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_40380
was 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
DSFinterp
algorithm 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
DSFinterp1DFit
fit function has been deprecated. It was not being registered due to a missing dependency.
Data Handling¶
Bugfixes¶
Fixed a bug where
FilteredTimeSeriesProperty::timeAverageValue
would 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_name
andunique_hidden_name
function 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.