Framework Changes


New Features

  • A new algorithm Stitch will perform stitching of multiple 2D workspaces by calculating the scale factors as medians of point-wise ratios in the overlap regions.



  • Fix bug in DiscusMultipleScatteringCorrection where detector position was incorrectly determined on a workspace where the workspace index didn’t match the detector index e.g. if the workspace was loaded with SpectrumMin specified to exclude some monitors.
  • Fixed bug in ConvertToMDMinMaxLocal v1 where wrong min max calculated if the workspace includes monitor spectra or spectra without any detectors.
  • Added parser for input Names to CreateMDHistoWorkspace v1 to allow inputs such as Names=’[H,0,0],[0,K,0],[0,0,L]’.
  • Fixed a bug in FitGaussianPeaks algorithm in which a peak at the end of range would cause an error due to not enough data point being available to fit parameters.
  • Fixed a rare divide-by zero error when running GetEi on noisy data.
  • Fixed a crash when running IntegrateEPP on a workspace group via the algorithm dialog.
  • Fix problem with filtering of events based on pulse time in LoadEventNexus. There are two ways of filtering events by pulse time using this algorithm and both were giving incorrect results if the events in the input Nexus file were unsorted:
    • events can be filtered as part of the load by using the FilterByTimeStart and FilterByTimeStop parameters.
    • if the full event file is loaded, the filtering can be applied as a post process using the algorithm FilterByTime.
  • LoadNexusLogs now creates a warning message for logs that are poorly formed and the other logs are loaded. Previously it stopped loading logs at that point.
  • Fixed a bug where LoadRaw would not load all log files for raw files with an alternate data stream.
  • Fixed a problem calculating default beam size in MonteCarloAbsorption when sample is offset from origin.


  • All remote algorithms have been deprecated as they have not been used since v3.8.

Fit Functions

New Features

  • A new method, IPeakFunction.intensityError, calculates the error in the integrated intensity of the peak due to uncertainties in the values of the fit parameters. For more details see IPeakFunction.
  • Exposed the method functionDeriv to the python interface.

Data Objects

New Features

  • Sample shapes which are CSGObjects can now be plotted. Shapes can also be merged, such as a sphere with a cylindrical hole. For more details see 3D Mesh Plots for Sample Shapes.
  • CSGObject Sample Shapes defined with SetSample can be manually rotated using the rotate and rotate-all tags. Also, Sample shapes (both MeshObjects and CSGObjects) are automatically rotated by any rotations from SetGoniometer. This works with CopySample, so the copied shape can be plotted, but the goniometer angle set on the new workspace is applied.



  • Fixed a crash that occurs in plotting MD workspaces when “Normalize to bin width” is set to False.