Ticket #2710 (closed: fixed)

Opened 10 years ago

Last modified 5 years ago

Create Algorithm to integrate up the detector hierarchy

Reported by: Stuart Campbell Owned by: Andrei Savici
Priority: major Milestone: Release 2.6
Component: Framework Keywords:
Cc: Blocked By:
Blocking: Tester: Nick Draper

Description

The initial example of this is for dividing data by a normalisation measurement where we want to actually divide each data pixel by the norm run integrated along the tube.

This would basically take the integral over the Nth level up the detector hierarchy (over the appropriate X-axis values) and then set the value for each pixel in this to be the integral.

This should take a parameter to specify how far up the detector hierarchy to go.

Change History

comment:1 Changed 9 years ago by Nick Draper

  • Milestone changed from Iteration 29 to Iteration 30

"New" tickets moved at the code freeze of iteration 29

comment:2 Changed 9 years ago by Nick Draper

  • Milestone changed from Iteration 30 to Iteration 31

Bulk move of tickets to iteration 31 at the iteration 30 code freeze

comment:3 Changed 9 years ago by Nick Draper

  • Milestone changed from Iteration 32 to Iteration 33

Moved to iteration 33 at iteration 32 code freeze

comment:4 Changed 8 years ago by Nick Draper

  • Milestone changed from Release 2.1 to Release 2.2

Moved at end of release 2.1

comment:5 Changed 8 years ago by Nick Draper

  • Milestone changed from Release 2.2 to Release 2.3

Moved at the end of release 2.2

comment:6 Changed 8 years ago by Nick Draper

  • Milestone changed from Release 2.3 to Release 2.4

Moved to milestone 2.4

comment:7 Changed 8 years ago by Nick Draper

  • Milestone changed from Release 2.4 to Release 2.5

comment:8 Changed 8 years ago by Nick Draper

  • Status changed from new to assigned
  • Owner changed from Nick Draper to Stuart Campbell

Stuart,

Is this still a requirement?

comment:9 Changed 8 years ago by Stuart Campbell

  • Owner changed from Stuart Campbell to Andrei Savici

comment:10 Changed 7 years ago by Andrei Savici

  • Status changed from assigned to accepted
  • Milestone changed from Release 2.5 to Release 2.6

comment:11 Changed 7 years ago by Andrei Savici

Algorithm to average over bank, tube, ... Refs #2710

Changeset: 6c601983e75c6eb90e18046bfd86a960cc2867ce

comment:12 Changed 7 years ago by Andrei Savici

Merge branch 'feature/2710_average_tube' into develop

comment:13 Changed 7 years ago by Andrei Savici

Added an extra include statement. Refs #2710

Changeset: a5893b90a54619fa38a1a01c273e610fd8c88d20

comment:14 Changed 7 years ago by Andrei Savici

Merge branch 'feature/2710_average_tube' into develop

comment:15 Changed 7 years ago by Andrei Savici

To test - load a file with an instrument that has a detector hierarchy. CNCS file is OK. Then try to run the algorithm, with different "LevelUp" parameters. 0 means that it just integrates, 1 it will average along the tube, 2 will average along an eightpack, 5 will average over the whole instrument. Go back to the original workspace and mask some detectors (in instrument view for example). Repeat the test. The masked detectors should be kept as masked

comment:16 Changed 7 years ago by Andrei Savici

  • Status changed from accepted to verify
  • Resolution set to fixed

comment:17 Changed 7 years ago by Andrei Savici

Merge branch 'feature/2710_average_tube' into develop into 6856_ConvertToDiffractionMDWS_v2

comment:18 Changed 7 years ago by Andrei Savici

Merge branch 'feature/2710_average_tube' into develop into 6856_ConvertToDiffractionMDWS_v2

comment:19 Changed 7 years ago by Andrei Savici

Merge branch 'feature/2710_average_tube' into develop into 6856_ConvertToDiffractionMDWS_v2

comment:20 Changed 7 years ago by Andrei Savici

Merge branch 'feature/2710_average_tube' into develop into 6856_ConvertToDiffractionMDWS_v2

comment:21 Changed 7 years ago by Roman Tolchenov

  • Status changed from verify to verifying
  • Tester set to Roman Tolchenov

comment:22 Changed 7 years ago by Roman Tolchenov

  • Status changed from verifying to reopened
  • Resolution fixed deleted

It seems to work but I have a couple of suggestions.

The x vectors aren't set in the output workspace. The arguments of the private methods aren't documented. The progress bar goes only up to 20%.

comment:23 Changed 7 years ago by Andrei Savici

  • Status changed from reopened to accepted

comment:24 Changed 7 years ago by Andrei Savici

AverageByComponent small improvements. Refs #2710

Changeset: 55da71ba3413e570b61dd0f9800fd4fbc99ab7a7

comment:25 Changed 7 years ago by Andrei Savici

Merge branch 'feature/2710_average_tube' into develop

comment:26 Changed 7 years ago by Andrei Savici

  • Status changed from accepted to verify
  • Resolution set to fixed

Please test issues raised when the ticket was reopened

comment:27 Changed 7 years ago by Nick Draper

  • Status changed from verify to verifying
  • Tester changed from Roman Tolchenov to Nick Draper

comment:28 Changed 7 years ago by Nick Draper

works for CNCS, but fails for GEM and MAPS. There are files in the systemtest area to test this with.

Also this algorithm is doing two things in the one algorithm, one of which you would not assume by the name.

  1. grouping spectra based in the instrument hierarchy (this I would expect).
  2. integrating the resulting spectra (this I wouldn't expect AverageByComponent to do).

I suggest the following:

  1. Make this algorithm just group spectra based in the instrument hierarchy (this I would expect). I would like to see it use GroupDetectors for that.
  2. Create a second algorithm to use this and integration to acheive the result of both together.

The reason I'm suggesting this is that I think the 1st algorithm (still called AverageByComponent) would be usefull in other situations and quite widely used.

comment:29 Changed 7 years ago by Nick Draper

  • Status changed from verifying to reopened
  • Resolution fixed deleted

comment:30 Changed 7 years ago by Andrei Savici

Renamed AverageByComponent to IntegrateByComponent. Refs #2710

Changeset: cf87d48d6c6555a7bc3147564723e9be5fcb35d3

comment:31 Changed 7 years ago by Andrei Savici

  • Status changed from reopened to accepted

comment:32 Changed 7 years ago by Andrei Savici

Add to wiki description. Refs #2710

Changeset: abfd65d01ab6fbfaec038fac4c3e72a9c84ce697

comment:33 Changed 7 years ago by Andrei Savici

  • Status changed from accepted to verify
  • Resolution set to fixed

Changed name, and error message. The rest of the comments will be dealt in ticket #7236

comment:34 Changed 7 years ago by Nick Draper

re #2710 allow grouped workspaces

Changeset: 2daea1fcd57e17adb7bcb3a0604b1654cd4084b2

comment:35 Changed 7 years ago by Nick Draper

re #2710 allow grouped workspaces

Changeset: 16277ce4b55e659bb8e90a1846f3100cac4100ba

comment:36 Changed 7 years ago by Nick Draper

to tester:

From Andre:

to test - load a file with an instrument that has a detector hierarchy. CNCS file is OK. Then try to run the algorithm, with different "LevelUp" parameters. 0 means that it just integrates, 1 it will average along the tube, 2 will average along an eightpack, 5 will average over the whole instrument. Go back to the original workspace and mask some detectors (in instrument view for example). Repeat the test. The masked detectors should be kept as masked

Fron Nick:

Also test ISIS files such as GEM, HRPD and at least one other.

comment:37 Changed 7 years ago by Andrei Savici

Algorithm to average over bank, tube, ... Refs #2710

Changeset: 6dca2b64bbf45b00fe17a87b2e17b393d1132a04

comment:38 Changed 7 years ago by Andrei Savici

Added an extra include statement. Refs #2710

Changeset: 4c057cda26834d210d76dfa1944efc8f43a313f7

comment:39 Changed 7 years ago by Andrei Savici

AverageByComponent small improvements. Refs #2710

Changeset: f8d22fae20b8b0e00072009b599ccf45d1983d3d

comment:40 Changed 7 years ago by Andrei Savici

Renamed AverageByComponent to IntegrateByComponent. Refs #2710

Changeset: f498373300c5aa45d0719d82e02988a57f3c1783

comment:41 Changed 7 years ago by Andrei Savici

Add to wiki description. Refs #2710

Changeset: 46e1f88c2d7e81cea15f78f9c7901af4f2942f1a

comment:42 Changed 7 years ago by Nick Draper

  • Status changed from verify to verifying

comment:43 Changed 7 years ago by Nick Draper

re #2710 correct wiki doc

Changeset: 1d24ecd83cad691f9571cd6cbc04fe8711c011f8

comment:44 Changed 7 years ago by Nick Draper

  • Status changed from verifying to closed

Corrected the wiki docs slightly, but passed testing with SNS and ISIS data.

comment:45 Changed 7 years ago by Nick Draper

  • Component changed from Mantid to Framework

comment:46 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 3557

Note: See TracTickets for help on using tickets.