Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix logic for checking bin consistency in ConjoinWorkspaces algorithm #38619

Merged
merged 5 commits into from
Jan 20, 2025

Conversation

thomashampson
Copy link
Contributor

@thomashampson thomashampson commented Jan 17, 2025

Description of work

A check was added to ConjoinWorkspaces here to verify that the input workspaces have consistent binning. It was using the function WorkspaceHelpers::matchingBins, but this also enforces that the number of histograms is the same for both input workspaces. This is not what we wanted. It is fixed in this PR.

There is no associated issue.

To test:

  1. The test instructions (running the code below) should work without any error message, since the bins match:
ws1 = CreateSampleWorkspace(WorkspaceType="Histogram", NumBanks=2, BankPixelWidth=1, BinWidth=10, Xmax=50)
ws2 = CreateSampleWorkspace(WorkspaceType="Histogram", NumBanks=3, BankPixelWidth=1, BinWidth=10, Xmax=50)
ConjoinWorkspaces(InputWorkspace1=ws1, InputWorkspace2=ws2, CheckOverlapping=False, YAxisUnit="New unit", YAxisLabel="New label")
  1. Try changing the BinWidth parameter of one of the input workspaces and verify that you get the error about non-matching bins.
  2. Still with different BinWidths, add the parameter CheckMatchingBins=False as an argument to the ConjoinWorkspaces call and verify that the algorithm runs as expected without any error messages.

This does not require release notes because it was a bug that was introduced as part of another fix


Reviewer

Please comment on the points listed below (full description).
Your comments will be used as part of the gatekeeper process, so please comment clearly on what you have checked during your review. If changes are made to the PR during the review process then your final comment will be the most important for gatekeepers. In this comment you should make it clear why any earlier review is still valid, or confirm that all requested changes have been addressed.

Code Review

  • Is the code of an acceptable quality?
  • Does the code conform to the coding standards?
  • Are the unit tests small and test the class in isolation?
  • If there is GUI work does it follow the GUI standards?
  • If there are changes in the release notes then do they describe the changes appropriately?
  • Do the release notes conform to the release notes guide?

Functional Tests

  • Do changes function as described? Add comments below that describe the tests performed?
  • Do the changes handle unexpected situations, e.g. bad input?
  • Has the relevant (user and developer) documentation been added/updated?

Does everything look good? Mark the review as Approve. A member of @mantidproject/gatekeepers will take care of it.

Gatekeeper

If you need to request changes to a PR then please add a comment and set the review status to "Request changes". This will stop the PR from showing up in the list for other gatekeepers.

@thomashampson thomashampson added ISIS Team: Core Issue and pull requests managed by the Core subteam at ISIS Bug Issues and pull requests that are regressions or would be considered a bug by users (e.g. crashing) labels Jan 17, 2025
@thomashampson thomashampson added this to the Release 6.12 milestone Jan 17, 2025
@jclarkeSTFC jclarkeSTFC self-assigned this Jan 17, 2025
@jhaigh0 jhaigh0 self-assigned this Jan 17, 2025
@jclarkeSTFC jclarkeSTFC merged commit 48117b6 into release-next Jan 20, 2025
10 checks passed
@jclarkeSTFC jclarkeSTFC deleted the fix_conjoin_workspaces_bug branch January 20, 2025 09:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Issues and pull requests that are regressions or would be considered a bug by users (e.g. crashing) ISIS Team: Core Issue and pull requests managed by the Core subteam at ISIS
Projects
Status: Done
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants