From db0738d063ce29c947b75b196618a9c73fe4846d Mon Sep 17 00:00:00 2001 From: Duc Le <duc.le@stfc.ac.uk> Date: Fri, 24 Nov 2017 09:11:44 +0000 Subject: [PATCH] Re #20599 - added release notes and updated documentation --- .../algorithms/SofQWNormalisedPolygon-v1.rst | 76 +++++++++++++++--- docs/source/algorithms/SofQWPolygon-v1.rst | 18 ++++- docs/source/concepts/Workspace2D.rst | 18 +++++ docs/source/images/RebinnedOutputStep1.png | Bin 0 -> 13348 bytes docs/source/images/RebinnedOutputStep2.png | Bin 0 -> 12573 bytes docs/source/release/v3.12.0/framework.rst | 2 + docs/source/release/v3.12.0/spectroscopy.rst | 4 +- 7 files changed, 102 insertions(+), 16 deletions(-) create mode 100644 docs/source/images/RebinnedOutputStep1.png create mode 100644 docs/source/images/RebinnedOutputStep2.png diff --git a/docs/source/algorithms/SofQWNormalisedPolygon-v1.rst b/docs/source/algorithms/SofQWNormalisedPolygon-v1.rst index f9ea7635ce4..411f1f6d452 100644 --- a/docs/source/algorithms/SofQWNormalisedPolygon-v1.rst +++ b/docs/source/algorithms/SofQWNormalisedPolygon-v1.rst @@ -12,13 +12,55 @@ Description Converts a 2D workspace from :ref:`units <Unit Factory>` of spectrum number/**energy transfer** to the intensity as a function of **momentum transfer** :math:`Q` -and **energy transfer** :math:`\Delta E`. The rebinning is done as a -weighted sum of overlapping polygons with -fractional area tracking. The result is stored in a new workspace type: -**RebinnedOutput**. The new workspace presents the data as the -fractional counts divided by the fractional area. The biggest -consequence of this method is that in places where there are no counts -and no acceptance (no fractional areas), **nan**\ -s will result. +and **energy transfer** :math:`\Delta E`. + +.. figure:: /images/RebinnedOutputStep1.png + :align: center + +As shown in the figure, the input grid (pink-shaded parallelopiped, +aligned in scattering angle and energy transfer) is not parallel to the +output grid (square grid, aligned in :math:`Q` and energy). This means +that the output bins will only ever partially overlap the input data. To +account for this, the signal :math:`Y` and errors :math:`E` in the new +bins are calculated as: + +.. math:: Y^{\mathrm{new}} = \sum_i Y^{\mathrm{old}}_i F_i +.. math:: E^{\mathrm{new}} = \sqrt{\sum_i (E^{\mathrm{old}}_i)^2 F_i} + +In addition to weighting the signal and error values, the total +fractional weights: + +.. math:: F^{\mathrm{new}} = \sum_i F_i + +are also stored in the output of this algorithm which is a new workspace +type: **RebinnedOutput**. To see why this is needed, consider rebinning +the output on a larger grid: + +.. figure:: /images/RebinnedOutputStep2.png + :align: center + +If the fractional weights are not chained as shown, then the area +shaded in a lighter blue under :math:`A_1` (where originally there was +no data) would be included in the weights, which would be an +overestimate of the actual weights, leading to an overestimate of the +signal and error. + +Finally, if there is a bin in the output grid which only has a very +small overlap with the input grid (for example at the edges of the +detector coverage), the fractional weight :math:`F` of this bin, and +hence its signal :math:`Y` and error :math:`E` would be very small +compared to its neighbours. Thus, for display purposes, the actual +signal and errors stored in a RebinnedOutput are renomalised by the +weights: + +.. math:: Y^{\mathrm{display}} = Y^{\mathrm{new}} / F^{\mathrm{new}} +.. math:: E^{\mathrm{display}} = E^{\mathrm{new}} / F^{\mathrm{new}} + +at the end of the algorithm. The biggest consequence of this method is +that in places where there are no counts (:math:`Y=0`) and no acceptance +(no fractional areas, :math:`F=0`), :math:`Y/F=`\ **nan**\ -s will +result. + The algorithm operates in non-PSD mode by default. This means that all azimuthal angles and widths are forced to zero. PSD mode will determine @@ -26,11 +68,21 @@ the azimuthal angles and widths from the instrument geometry. This mode is activated by placing the following named parameter in a Parameter file: *detector-neighbour-offset*. The integer value of this parameter should be the number of pixels that separates two pixels at the same -vertical position in adjacent tubes. - - -See :ref:`algm-SofQWCentre` for centre-point binning or :ref:`algm-SofQWPolygon` -for simpler and less precise but faster binning strategies. +vertical position in adjacent tubes. Note that in both non-PSD and PSD +modes, the scattering angle widths are determined from the detector +geometry and may vary from detector to detector as defined by the +instrument definition files. + + +See :ref:`algm-SofQWCentre` for centre-point binning or :ref:`algm-SofQWPolygon` +for simpler and less precise but faster binning strategies. The speed-up +is from ignoring the azimuthal positions of the detectors (as for the non-PSD +mode in this algorithm) but in addition, :ref:`algm-SofQWPolygon` treats +all detectors as being the same, and characterised by a single width in +scattering angle. Thereafter, it weights the signal and error by the fractional +overlap, similarly to that shown in the first figure above, but then discards +the summed weights, producing a **Workspace2D** rather than a +**RebinnedOutput** workspace. Usage ----- diff --git a/docs/source/algorithms/SofQWPolygon-v1.rst b/docs/source/algorithms/SofQWPolygon-v1.rst index c736e673335..5dbb49f2f46 100644 --- a/docs/source/algorithms/SofQWPolygon-v1.rst +++ b/docs/source/algorithms/SofQWPolygon-v1.rst @@ -14,9 +14,21 @@ of spectrum number/**energy transfer** to the intensity as a function of momentum transfer :math:`Q` and energy transfer :math:`\Delta E`. -The rebinning is done as a weighted sum of overlapping polygons. See -:ref:`algm-SofQWCentre` for centre-point binning or :ref:`algm-SofQWNormalisedPolygon` for -more complex and precise (but slower) binning strategy. +The rebinning is done as a weighted sum of overlapping polygons. +The polygon in :math:`Q-\Delta E` space is calculated from the +energy bin boundaries and the detector scattering angle :math:`2\theta`. +The detectors (pixels) are assumed to be uniform, and characterised +by a single angular width :math:`\Delta2\theta`. The signal and error +of the rebinned data (in :math:`Q-\Delta E` space) is then the +sum of the contributing pixels in each bin weighted by their fractional +overlap area. Unlike the more precise :ref:`algm-SofQWNormalisedPolygon` +algorithm, these fractional weights are not thereafter retained in the +workspace produced by this algorithm. + +See :ref:`algm-SofQWCentre` for centre-point binning. +Alternatively, see :ref:`algm-SofQWNormalisedPolygon` for a +more complex and precise (but slower) binning strategy, where the actual +detector shape is calculated to obtain the input polygon. Usage ----- diff --git a/docs/source/concepts/Workspace2D.rst b/docs/source/concepts/Workspace2D.rst index 9288209f168..c041cb52d2c 100644 --- a/docs/source/concepts/Workspace2D.rst +++ b/docs/source/concepts/Workspace2D.rst @@ -22,6 +22,24 @@ histogram (with X,Y,E values) but preserves the underlying event data. For more information on what a Workspace2D contains, see :ref:`MatrixWorkspace <MatrixWorkspace>`. +There is also a specialised form of Workspace2D, called a RebinnedOutput +which is produced by :ref:`algm-SofQWNormalisedPolygon`. In addition +to the signal Y and error E values for each bin, it also carries the +fractional weight F of the signal in the bin. This is needed to keep +track of the portions of counts from bins in the original grid which has +been put into the new (rebinned) grid. A more detailed explanation is +given in the description of :ref:`algm-SofQWNormalisedPolygon`. +For correct handling of the fractional weights in rebinning, the user +is recommended to use the :ref:`algm-Rebin2D` algorithm in preference +to :ref:`algm-Integration` or :ref:`algm-SumSpectra` although the other +algorithms do account for the fractional weights. + +.. warning:: Note, however, that all binary and unary operations on + workspaces will ignore the fractional weights. Thus it is important + to handle all background subtractions and scaling in the original + reduced dataset(s) **before** conversion using + :ref:`algm-SofQWNormalisedPolygon`. + Working with Workspace2Ds in Python ----------------------------------- diff --git a/docs/source/images/RebinnedOutputStep1.png b/docs/source/images/RebinnedOutputStep1.png new file mode 100644 index 0000000000000000000000000000000000000000..06632d534a2aa396e2a3f5f09680bb456d94c541 GIT binary patch literal 13348 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 F{{YCKtM~u_ literal 0 HcmV?d00001 diff --git a/docs/source/images/RebinnedOutputStep2.png b/docs/source/images/RebinnedOutputStep2.png new file mode 100644 index 0000000000000000000000000000000000000000..7a1c20b1978e0df478ad7b8dfb3ef8994b8794cc GIT binary patch literal 12573 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 an|xyT&7rqT3HYxJfUKmVM46cWxBmgkC+M{R literal 0 HcmV?d00001 diff --git a/docs/source/release/v3.12.0/framework.rst b/docs/source/release/v3.12.0/framework.rst index 2c426072c9e..c68ad2d0192 100644 --- a/docs/source/release/v3.12.0/framework.rst +++ b/docs/source/release/v3.12.0/framework.rst @@ -25,6 +25,8 @@ Algorithms Data Objects ------------ +A `bug <https://github.com/mantidproject/mantid/pull/20953>`_ in the handling of fractional bin weights in a specialised form (`RebinnedOutput <http://doxygen.mantidproject.org/nightly/d4/d31/classMantid_1_1DataObjects_1_1RebinnedOutput.html>`_) of :ref:`Workspace2D <Workspace2D>` has been fixed. This mainly affects the algorithms :ref:`algm-SofQWNormalisedPolygon` and :ref:`algm-Rebin2D`, which underlies the `SliceViewer <http://www.mantidproject.org/MantidPlot:_SliceViewer>`_. + Python ------ diff --git a/docs/source/release/v3.12.0/spectroscopy.rst b/docs/source/release/v3.12.0/spectroscopy.rst index bf7f6d55d06..0edae84f1dc 100644 --- a/docs/source/release/v3.12.0/spectroscopy.rst +++ b/docs/source/release/v3.12.0/spectroscopy.rst @@ -12,7 +12,9 @@ Spectroscopy Changes Direct Geometry --------------- +A `bug <https://github.com/mantidproject/mantid/pull/20953>`_ in the handling of workspaces with fractional bin weights (generated by :ref:`algm-SofQWNormalisedPolygon`) has been fixed. + Indirect Geometry ----------------- -:ref:`Release 3.12.0 <v3.12.0>` \ No newline at end of file +:ref:`Release 3.12.0 <v3.12.0>` -- GitLab