Ticket #9079 (closed: fixed)
PerformIndexOperations
Reported by: | Nick Draper | Owned by: | Harry Jeffery |
---|---|---|---|
Priority: | major | Milestone: | Release 3.5 |
Component: | Framework | Keywords: | |
Cc: | Blocked By: | #9072 | |
Blocking: | Tester: | Roman Tolchenov |
Description
Split from ticket #9072
A couple of other comments on the algorithm:
I found the name gave me no sense of what the algorithm does. Is there a better name? Or is it too late anyway? It's not obvious to me what this algorithm does that GroupDetectors doesn't.
Change History
comment:2 Changed 7 years ago by Russell Taylor
GroupDetectors can be given lists of spectra instead of a mapping file, and these could be changed to accept a broader syntax. The algorithm has the option to keep or discard the ungrouped spectra (equivalent to cropping). However, it is true that it cannot do multiple groupings in one shot at present without the use of a mapping file.
comment:3 Changed 7 years ago by Owen Arnold
I'm not that familiar with GroupDetectors, but I think that if we can modify that algorithm to allow the "ProcessingInstructions" from PerformIndexOperations or appropriately named equivalent property to be provided instead of the mapping file then that would work as a solution. We could then deprecate PerformIndexOperations and replace the existing usage in ReflectometryReductionOne and CreateTransmissionWorkspace. I would be keen that the existing syntax for PeformIndexOperations listed here http://www.mantidproject.org/PerformIndexOperations#Description is preserved, as that matches the Multifile loading syntax that users are used to. The reflectometry group at ISIS have a strong opinion about this. Any thoughts?
comment:4 Changed 7 years ago by Nick Draper
I'm all for improving GroupDetectors if we can do it in a backwardly compatible way.
I think we could just adjust the inputs of spectra, workspace index (and maybe even detector_ids) to accept this syntax.
The one drawback would be that they could no longer be lists of integers, but would have to be strings.
comment:6 Changed 6 years ago by Owen Arnold
I'm trying to think of a good solution here and have come to the following conclusions.
- We should initially use PerformIndexOperations as a child algorithm in GroupDetectors, as the refactoring steps will be significant.
- PerformIndexOperations works on workspace indexes, but there is in principle no reason why I couldn't adapt PerformIndexOperations to take spectrum numbers and convert them into workspace indexes for processing. To that end, handling detector numbers could be achieved in a similar way.
- There doesn't seem to be a good way to use the same input properties and detect whether the user wants to use the new MultiFile type syntax or the existing syntax. In places they outright clash. For example: entering a WorkspaceIndexList comma separated means group the indexes provided. In the new syntax, this separator is an instruction to keep those indexes unmodified. We could either (a) Have a property which could be used to specify the interpretation method, which would default to the current one, or (b) Have separate input properties for the IndexOperation inputs.
comment:7 Changed 6 years ago by Nick Draper
- Milestone changed from Release 3.2 to Backlog
Moved to Backlog at the code freeze of release 3.2
comment:11 Changed 6 years ago by Harry Jeffery
- Status changed from inprogress to assigned
- Milestone changed from Release 3.3 to Release 3.4
comment:12 Changed 5 years ago by Harry Jeffery
- Status changed from assigned to inprogress
- Milestone changed from Release 3.4 to Release 3.5
comment:13 Changed 5 years ago by Harry Jeffery
Refs #9079 Clang Format PerformIndexOperations
Changeset: 020f39e8f15fda7a590d818f86fc0cf6b9b4810d
comment:14 Changed 5 years ago by Harry Jeffery
Refs #9079 GroupDetectors2::readFile should take an istream
It takes an std::ifstream currently. This is an overspecialisation. An istream will be more flexible.
Changeset: 56d996745b7b0dad2547702a0563fe5160787eec
comment:15 Changed 5 years ago by Harry Jeffery
Refs #9079 Correct spectrum numbering in GroupDetectors
Changeset: 14bb74ac29b3c928dbe826efe8f8017452e02780
comment:16 Changed 5 years ago by Harry Jeffery
- Status changed from inprogress to verify
- Resolution set to fixed
This is being verified as pull request #634.
comment:17 Changed 5 years ago by Harry Jeffery
Refs #9079 Fix whitespace handling
Changeset: 01c89b6302de5738a2d00585f1552162fb2182e0
comment:18 Changed 5 years ago by Harry Jeffery
Refs #9079 Update unit tests
Changeset: 1c6e68350c8ddcee5a97cb4ade6fee384978bbf0
comment:19 Changed 5 years ago by Harry Jeffery
Refs #9079 Remove incorrect conversion
Changeset: 648734287988dc42da80e9697cdf66de03449056
comment:20 Changed 5 years ago by Harry Jeffery
Refs #9079 Make new behaviour optional (and non-default)
Changeset: 6462c5398feaf9c9648f122f4409c5134991d9b4
comment:21 Changed 5 years ago by Harry Jeffery
Refs #9079 Update documentation
Changeset: 2c5e47d740b86e8da3451a57f6942e248dab3e76
comment:22 Changed 5 years ago by Harry Jeffery
Refs #9079 Cheer up doxygen
Changeset: 753b9dc89b4734de67d0e7d72bdf2a7230209310
comment:23 Changed 5 years ago by Harry Jeffery
Refs #9079 Don't use positional arguments in ViewBOA
The reliance on positional arguments breaks code when new options are added, such as now.
Changeset: 3530c87fb24730d230adf2d9d2d6b57b7ce07b3a
comment:26 Changed 5 years ago by Harry Jeffery
Refs #9079 Support ProcessingInstructions syntax
Changeset: 1cf886cafc72ec784a645e2ab82bc737643eb86b
comment:27 Changed 5 years ago by Harry Jeffery
Refs #9079 Update GroupDetectors-v2 documentation
Changeset: 77109aaea36f0719161df29b61727177a1eb6bae
comment:28 Changed 5 years ago by Harry Jeffery
Refs #9079 Validate GroupingPattern
Changeset: a049107257968e0dfd140aff91c1a135c66031c0
comment:29 Changed 5 years ago by Harry Jeffery
Refs #9079 Remove excess includes
Changeset: 5f3c6d9bacfbcbcccbaf18a599ea68c572e13f48
comment:30 Changed 5 years ago by Roman Tolchenov
- Status changed from verify to verifying
- Tester set to Roman Tolchenov
comment:31 Changed 5 years ago by Roman Tolchenov
- Status changed from verifying to closed
Merge pull request #634 from mantidproject/9079_deprecate_performindexoperations
Merge PerformIndexOperations with GroupDetectors
Full changeset: 95d63fd9898ceeb13fbb1546eadfaec56823e9bb
comment:32 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 9922
Comments from Owen: