Ticket #7445 (closed: fixed)
ConvertToReflectometryQ producing MatrixWorkspaces
Reported by: | Owen Arnold | Owned by: | Owen Arnold |
---|---|---|---|
Priority: | critical | Milestone: | Release 2.6 |
Component: | Reflectometry | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Tester: | Gesner Passos |
Description (last modified by Owen Arnold) (diff)
This is a request from Tim Charlton to provide additional features around the ConvertToReflectometryQ functionality. The ConvertToReflectometryQ Algorithm is correctly working and producing multidimensional outputs with Q components correctly resolved and plotted along each axis. However, there are two problems that would be solved by providing flexibility of the output workspace type.
- The reflectometry group users are much happier working with Matrix Workspaces, and there is some frustration when other workspace types are thrown into the mix.
- MDWorkspace algorithms only support centre point binning, where-as fractional binning would be possible (via Rebin2D) if the output workspaces were of type Workspace2D.
I'll implement this as additional functionality to ConvertToReflectometryQ, as this is what Tim originally requested. I didn't think that it would be possible, to do this at first, without making the algorithm really clunky, but most of the functionality can go in the various ReflectometryTransform types, and the output workspace can be made to be of type IMDWorkspace (so handling both Matrix and MDWorkpspaces as outputs).
Important to have this implemented before the end of iteration 2.6!
Attachments
Change History
comment:2 Changed 7 years ago by Owen Arnold
refs #7445. Rename execution method to executeMD.
Also enable tests that seem to have been disabled, or removed in CMake.
Changeset: cf8b27f8d1b918c122a1afbe0b927a0843ebb00b
comment:3 Changed 7 years ago by Owen Arnold
refs #7445. Hide MD Specific features of transforms.
Make it so that the same transform types make sense for md and non-md transformations. This means moving some details concerned with the output type out of the constructors.
Changeset: eb9a71aa5e3000e1b74e5c61460ede5d57610f8d
comment:4 Changed 7 years ago by Owen Arnold
refs #7445. Rename base class.
Changeset: ed730d800c516fbabd264c6e6ebc270ee41defb7
comment:5 Changed 7 years ago by Owen Arnold
refs #7445. Rename base class files.
Changeset: 459859d75abf2daa2cb9fd1668dd251708073131
comment:6 Changed 7 years ago by Owen Arnold
refs #7445. Create QxQz Matrix WS Transform.
Add unit tests to cover the new case. Ensure that the experiment info is copied across, and add new property that allows the user to select what output type they want. The output type defaults to the existing MDWorkspace return as this will ensure backwards compatibility.
Changeset: 1a91541aa4106734200ebe66e49213424ef500bb
comment:7 Changed 7 years ago by Owen Arnold
refs #7445. Enable properties based on output type.
Box controller properties only apply to MDWorkspaces.
Changeset: 0649f2309db9c4b1c9eddf520d5a42c17ad7e739
comment:8 Changed 7 years ago by Owen Arnold
refs #7445. Fix error in linear transformation from q to index.
Changeset: fcd227ab3bc268646606b3ac4c039e2a65bcbdb9
comment:9 Changed 7 years ago by Owen Arnold
refs #7445. Make it possible to specify number of bins.
Changeset: d12495863b78944cb77eef454335e1313cb7dc39
comment:10 Changed 7 years ago by Owen Arnold
refs #7445. Extract axis production to separate methods.
These can then be moved to the base class and used by all Reflectometry transforms.
Changeset: 93cec18ea3918d281e4f7d1316114431aba713ff
comment:11 Changed 7 years ago by Owen Arnold
refs #7445. Make axis functions free functions.
No need for these to access any of the encapsulated member fields or functions.
Changeset: 7ffdca8e24d0223483cdd399b6d62adcd0b76640
comment:12 Changed 7 years ago by Owen Arnold
refs #7445. Implement conversion to ki, kf.
Changeset: 34f04d3867365c0e4bf899327cee3ea76006358a
comment:13 Changed 7 years ago by Owen Arnold
refs #7445. Implement conversion to diff and sum P.
Changeset: ce6a28209b6959dbfdc488e47e8eb24ea37783a7
comment:14 Changed 7 years ago by Owen Arnold
refs #7445. Fix warnings by via win build.
Changeset: 9d3f0c88137a39d3491b02527fdc5d5dff7557f3
comment:16 Changed 7 years ago by Owen Arnold
Tester: I know the MDWorkspace options are producing the right results, so I can expect to see the same colour fill plot if I compare the new 2D workspaces against the MD workspaces outputs, all other things being equal. I have created the attached script for you, which will do this. Each of the comparision options compares the outputs via running the algorithm in MD-mode (and then rebinning via BinMD to a regular histo workspace) and the 2D workspace ouput.
A visual inspection of the generated plots should demonstrate that the new outputs are as close to the original md outputs as is practically possible.
comment:17 Changed 7 years ago by Owen Arnold
refs #7445. Fix GCC warnings.
Changeset: ca62d439a3875e0af77a539ce8af876a10406876
comment:18 Changed 7 years ago by Owen Arnold
- Status changed from accepted to verify
- Resolution set to fixed
comment:19 Changed 7 years ago by Owen Arnold
refs #7445. Fix GCC Errors.
Changeset: 21e7602aaa727745a767fa70d8cf0d9f5997ed08
comment:20 Changed 7 years ago by Gesner Passos
Merge remote-tracking branch 'origin/feature/7445_reflectometry_q'
comment:21 Changed 7 years ago by Gesner Passos
- Status changed from verify to verifying
- Tester set to Gesner Passos
comment:22 Changed 7 years ago by Gesner Passos
- Status changed from verifying to closed
It works correctly. Thanks for the script for testing :)
comment:23 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 8291