Diffraction Changes

Powder Diffraction

New Algorithms

  • LeadPressureCalc to calculate the pressure of a sample given the d-Spacing of the Lead (111) peak and the sample temperature

  • PEARLTransfit for PEARL that uses a TransVoigt function to determine the temperature of a given sample

  • PaalmanPingsAbsorptionCorrection uses a numerical integration method to calculate attenuation factors for all Paalman Pings terms

  • CorelliCalibrationDatabase to save CORELLI geometry calibration to database

  • CorelliCalibrationApply to apply a CORELLI calibration table to CORELLI EventWorkspace

  • ClipPeaks to clip peaks, providing a background estimation.

  • PolDiffILLReduction to perform polarised diffraction data reduction for the ILL D7 instrument

  • D7AbsoluteCrossSections to separate magnetic, nuclear coherent, and incoherent cross-sections using spin-flip and non-spin-flip cross-sections, and to normalise D7 data to a given standard



  • Nexus files from ILL’s instrument D1B can now be loaded (see InstrumentViewer)

  • Powder diffraction support (instruments D2B and D20) has been added to DrILL interface. See DrILL documentation for more information.

  • The height of the BackToBackExponential peak is now preserved when changing the FWHM sliders during fitting

  • PaalmanPingsMonteCarloAbsorption can now use tabulated density values, and allows for overridden X Sections

  • Add ability to store multiple alternative attenuation file paths in the PEARL YAML configuration file

  • Add sample_empty and sample_empty_scale into PEARL powder diffraction scripts

  • Modify filenames of XYE outputs from running a focus in the PEARL powder diffraction scripts

  • Remove _noatten workspace that was produced by the PEARL powder diffraction scripts when run with perform_attenuation=True

  • Speed up focus action in ISIS powder diffraction scripts by saving pre-summed empty instrument workspace during calibration step

  • SNSPowderReduction now includes several different absorption correction methods

  • The vanadium absorption correction in SNSPowderReduction is now calculated using numerical integration rather than Carpenter method

  • In the creation of absorption input in SNSPowderReduction automatically gets information from sample logs

  • Added new absorption options from SNSPowderReduction to Powder Diffraction Reduction GUI

  • PDCalibration now supports workspaces with grouped detectors (i.e. more than one detector per spectrum)

  • AlignAndFocusPowderFromFiles copies the sample from the absorption workspace to the output workspace

  • Scripts for pixel calibration of CORELLI 16-packs produce a calibration table, a masking table, and a goodness of fit workspace

  • WANDPowderReduction now accepts a sequence of input workspaces, combining them to reduce to a single spectrum

  • The HB2AReduce now can save reduced data to GSAS or XYE file

  • PowderILLDetectorScan is corrected when treating multiple scans merged

  • The D7YIGPositionCalibration now can do the YIG Bragg peak fitting individually or simultaneously, or not at all and provide feedback on the initial guess quality

  • PDCalibration now intitialises A,B and S of BackToBackExponential if correpsonding coeficients are in the instrument parameter.xml file.

  • PaalmanPingsMonteCarloAbsorption can now make use of predefined sample and container geometries


  • Dummy detectors in POLARIS workspaces no longer prevent unit conversion

  • Focus in PEARL powder diffraction scripts no longer fails if previous run has created a Van splines WorkspaceGroup

  • Fix out-of-range bug in FitPeaks for histogram data.

  • Fix bug to actually implement intended sequential fit of DIFC, DIFA, TZERO in PDCalibration.

  • WANDPowderReduction once again accepts multiple input workspaces and outputs a WorkspaceGroup when specified by user

Engineering Diffraction

New features

  • Added refined BackToBackExponential coefficients (from standard Ceria run) to ENGIN-X Parameters.xml so A, B and S are guessed automatically.

  • The plot pane in the Engineering Diffraction GUI can now be undocked from the main window, making this more clear, especially with the fit browser open.

  • The fitting tab now creates a WorkspaceGroup that stores the model string, the fit value and error on each parameter for each loaded workspace.

  • Sequential fitting now provided in fitting tab by average value of a log set in settings


  • The default load path in the fitting tab of the Engineering Diffraction GUI is now set to the most recently focused files.

  • When a fit is successful, the model will be stored as a Custom Setup in the fit property browser under the name of the workspace fitted.

  • In the fit browser, the user is no longer asked before overwriting an automatically generated model Custom Setup; it is overwritten.

  • When a sequential fit is performed in the fitting tab, the status of the fit is updated in the fit browser.

  • The generic Sequential Fit button removed from fit menu (users should use sequential fit button below the table in the fitting tab).


  • GUI Settings are now saved only when the Apply or OK button are clicked (i.e. clicking Cancel will not update the settings).

  • For focussed data in the fitting tab, each sample log will only be averaged if the log exists

Single Crystal Diffraction

New Algorithms

  • ConvertQtoHKLMDHisto to convert from a QSample MDEventWorkspace to HKL MDHistoWorkspace with correct peak overlaying

  • SaveHKLCW for SHELX76 constant wavelength format

  • HB3AAdjustSampleNorm to convert DEMAND data to Q-space and allow the detector position to be adjusted by offsets

  • HB3AFindPeaks to find peaks and set the UB matrix for DEMAND data

  • HB3APredictPeaks to predict peaks for DEMAND data

  • HB3AIntegratePeaks used to integrate peaks from an MDEventWorkspace and apply Lorentz correction on DEMAND data


  • Support added for DEMAND (HB3A) to PredictPeaks in order to handle additional goniometers.

  • Added refined BackToBackExponential coefficients (from standard sample) to WISH Parameters.xml so A, B and S are guessed automatically.


  • SaveHKL calculates the DirectionCosines correctly again.

  • SaveHKL only recalculates TBAR if it’s not already populated in the input peaks workspace

  • Matrix diagonalization is no longer returning NaNs in certain cases. The diagonalization is used in CalculateUMatrix and IntegratePeaksMD

Release 6.0.0