Framework Changes

Changes

  • Mantid now supports automatic updates to the facilities.xml file in the same way that it does the instrument definitions. This allows extensions and changes to the list of supported instruments without needing to install a new release of Mantid.
  • This has been initially put into place to support a data file naming change for Vesuvio, but will help for future changes as well.
  • Mantid is aware of the change to file naming for Vesuvio, you can continue to use EVS or VESUVIO as a prefix when trying to load files from this instrument, and Mantid will map that to the correct filenames.
  • Mantid will correctly handle the naming format changes to Polaris, it will automatically select between the old and new filename format whilst loading files correctly.

Algorithms

New

Improved

  • CalculateFlatBackground has a new mode ‘Moving Average’, which takes the minimum of a moving window average as the flat background.

  • StartLiveData and its dialog now support dynamic listener properties, based on the specific LiveListener being used.

  • All algorithms using AsciiPointBase now have a new property ‘Separator’ which allows the delimiter to be set to either comma, space or tab. This affects SaveReflCustomAscii, SaveReflThreeColumnAscii, SaveANSTOAscii and SaveILLCosmosAscii.

  • ReplaceSpecialValues allows for ‘small’ values, which are below a user specified threshold, to be replaced.

  • Stitch1DMany has a new property ‘ScaleFactorFromPeriod’, which enables it to apply scale factors from a particular period when stitching group workspaces. The documentation for this algorithm has also been improved.

  • SaveMDWorkspaceToVTK has a working progress bar.

  • SumSpectra has an option to ignore special floating point values called ‘RemoveSpecialValues’. This is off by default. When enabled it will ignore values such as NaN or Infinity during the summation of the spectra. It was also updated to fix special values being used in some cases when the option was selected.

  • MonteCarloAbsorption:
    • An Interpolation option has been added. The availabile options are: Linear & CSpline.
    • The method of selecting the scattering point has ben updated to give better agreement with numerical algorithms (e.g. CylinderAbsorption).
  • SetSample now accepts an Angle argument for defining a rotated flat plate sample.

  • SavePlot1D now supports optional SpectraList for plotting

  • MaskDetectors has a new option to mask detectors by the instrument’s component name. It can accept a masked workspace with a differing number of spectra to the input workspace, providing that the number of detectors match. This can be useful in the case of hardware grouped detectors.

  • LoadIsawDetCal now accepts multiple files in a single Filename property.

  • SavePlot1D now supports optional SpectraList for plotting

  • MayersSampleCorrection: The calculation of the azimuth angle has been fixed. Previously it was set equal to the Mantid definition of phi but the old code defined it as the angle away from the scattering plane.

  • MatchPeaks performs circular shift operation (numpy roll) along the x-axis to align the peaks in the spectra.

  • FindEPP is improved to better determine the initial parameters and range for the fitting.

  • StartLiveData can now accept LiveListener properties as parameters, based on the value of the “Instrument” parameter.

Bug Fixes

  • Bin masking information was incorrectly saved when converting workspaces into nexus files, which is now fixed.
  • LoadEventNexus should no longer leak memory when the execution is cancelled.
  • LoadNexusProcessed will now load the stored workspace names from a processed Nexus file in the case of multiperiod data.
  • If a run is aborted and restarted, the running log in the workspace will correctly reflect this. (running will be false at all times before the abort.)
  • Fixed several issues with masked detectors and neighbour counts in the nearest-neighbour code used by a few algorithms.
  • Issues with CalculateFlatBackground with Return Background option returning fake values has been fixed.
  • ShiftLogTime now correctly handles shift in the negative direction

Deprecated

Removed

The following (previously deprecated) algorithms versions have now been removed:

  • LoadEventPreNexus v1
  • LoadLogsForSNSPulsedMagnet v1
  • Lorentzian1D v1
  • ProcessDasNexusLog v1
  • LoadILL v1
  • SANSDirectBeamScaling v1

CurveFitting

  • Recommendations for which fitting method to use for a given data set has been added to FittingMinimzers page.
  • Improved documentation of the these fitting minimizers.
  • Algorithm CalculateCostFunction calculates a value of any available cost function.
  • Algorithm EstimateFitParameters estimates the initial values of a fiting function in given intervals.
  • Exclude is new property of Fit, which allows for a user defined range to be excluded from a fit.
  • System tests and Fitting Benchmarks have been added for testing the minimizer, the scripts generate the tables displayed on FittingMinimzers page. This System tests also demo how these tables can be created as a standard Mantid script.

The work on benchmarking fitting has received funding from the Horizon 2020 Framework Programme of the European Union under the SINE2020 project Grant No 654000

Improved

  • The Peak Radius global setting for 1D peaks is replaced with PeakRadius property of the Fit algorithm (see algorithm’s description for the details).
../../_images/NoPeakRadius_3.9.png
  • The output and normalization MDHistoWorkspaces from MDNormSCD and MDNormDirectSC have the ‘displayNormalization’ set to ‘NoNormalization’. For older outputs, the setDisplayNormalization function is now exposed to python.

Full list of Framework and Python changes on GitHub