-
Notifications
You must be signed in to change notification settings - Fork 2
Ewm7122 implement artificial normalization algo #460
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
Ewm7122 implement artificial normalization algo #460
Conversation
src/snapred/backend/dao/ingredients/ArtificialNormalizationIngredients.py
Outdated
Show resolved
Hide resolved
src/snapred/backend/dao/ingredients/ArtificialNormalizationIngredients.py
Outdated
Show resolved
Hide resolved
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## next #460 +/- ##
=======================================
Coverage 95.87% 95.87%
=======================================
Files 61 61
Lines 4439 4439
=======================================
Hits 4256 4256
Misses 183 183 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ran CIS tests and worked as expected.
Description of work
This work is to facilitate the addition of artificial normalization within the reduction workflow in cases where a calibration is non-existent or a normalization is missing. For now, this story deals with the creation of the algorithm that executes the backend logic to produce an artificial normalization.
Explanation of work
Within this work, a new algorithm named CreateArtificialNormalizationAlgo is introduced. Its purpose is to create an artificial normalization workspace, ensuring that reduction workflows remain uninterrupted even when calibration data is missing. The algorithm takes in diffraction data, applies various transformations such as peak clipping and optional smoothing, and outputs a new workspace that simulates normalized data.
Inputs:
PeakWindowClippingSize = Int (default 10),
SmoothingParameter = Double,
decreaseParameter = boolean (default True),
LSS = boolean (default True)
Output:
The algorithm processes each histogram in the input workspace, clipping peaks, smoothing the data, and applying transformations as specified by the ingredients. It clones the input workspace and modifies the data to produce the desired output, allowing the reduction process to continue even in the absence of proper calibration or normalization files.
To test
Dev testing
Please insure all
pytests
pass. There is acis_test
script created that can be used to test calledartificial_norm_script
.CIS testing
Please take a look at the cis_test mentioned above for testing. There are two cases presented here which will be reflected within the final implementation in SNAPRed:
FocusSpectraAlgorithm
to it to create artificial norm)Link to EWM item
EWM # 7122
Verification
Acceptance Criteria
This list is for ease of reference, and does not replace reading the EWM story as part of the review. Verify this list matches the EWM story before reviewing.