-
Notifications
You must be signed in to change notification settings - Fork 11
fix: update wavelengths #155
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
Changes from 3 commits
c5c2da9
703b16a
64e7c4d
89a907a
63df4ff
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
**Added:** | ||
|
||
* <news item> | ||
|
||
**Changed:** | ||
|
||
* Increased the number of significant figures for wavelength and separated values for Ka1 and Ka2. | ||
|
||
**Deprecated:** | ||
|
||
* <news item> | ||
|
||
**Removed:** | ||
|
||
* <news item> | ||
|
||
**Fixed:** | ||
|
||
* <news item> | ||
|
||
**Security:** | ||
|
||
* <news item> |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,7 +4,20 @@ | |
from diffpy.utils.diffraction_objects import ANGLEQUANTITIES, QQUANTITIES, XQUANTITIES | ||
from diffpy.utils.tools import check_and_build_global_config, compute_mud, get_package_info, get_user_info | ||
|
||
WAVELENGTHS = {"Mo": 0.71073, "Ag": 0.59, "Cu": 1.5406} | ||
# Reference values are taken from https://x-server.gmca.aps.anl.gov/cgi/www_dbli.exe?x0hdb=waves | ||
# Ka1Ka2 values are calculated as: (Ka1 * 2 + Ka2) / 3 | ||
# For CuKa1Ka2: (1.54056 * 2 + 1.544398) / 3 = 1.54184 | ||
WAVELENGTHS = { | ||
"Mo": 0.71073, | ||
"MoKa1": 0.70930, | ||
"MoKa1Ka2": 0.71073, | ||
"Ag": 0.56087, | ||
"AgKa1": 0.55941, | ||
"AgKa1Ka2": 0.56087, | ||
"Cu": 1.54184, | ||
"CuKa1": 1.54056, | ||
"CuKa1Ka2": 1.54184, | ||
} | ||
known_sources = [key for key in WAVELENGTHS.keys()] | ||
|
||
# Exclude wavelength from metadata to prevent duplication, | ||
|
@@ -137,17 +150,18 @@ def set_wavelength(args): | |
raise ValueError( | ||
"No valid wavelength. Please rerun specifying a known anode_type or a positive wavelength." | ||
) | ||
if not args.wavelength and args.anode_type and args.anode_type not in WAVELENGTHS: | ||
raise ValueError( | ||
f"Anode type not recognized. Please rerun specifying an anode_type from {*known_sources, }." | ||
) | ||
|
||
if args.wavelength: | ||
delattr(args, "anode_type") | ||
elif args.anode_type: | ||
elif not args.wavelength and args.anode_type: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this code seems somewhat convoluted. Is this really the simplest way to do it? |
||
matched_anode_type = next((key for key in WAVELENGTHS if key.lower() == args.anode_type.lower()), None) | ||
sbillinge marked this conversation as resolved.
Show resolved
Hide resolved
|
||
if matched_anode_type is None: | ||
raise ValueError( | ||
f"Anode type not recognized. Please rerun specifying an anode_type from {*known_sources, }." | ||
sbillinge marked this conversation as resolved.
Show resolved
Hide resolved
|
||
) | ||
args.anode_type = matched_anode_type | ||
args.wavelength = WAVELENGTHS[args.anode_type] | ||
else: | ||
elif not args.wavelength: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I wonder if the default should be There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah that makes sense. Is Ka1 more commonly used in general? If so should we have Mo = MoKa1 instead? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This may be a question for @till-schertenleib or probably Pascal. But we should use the one that is most common. |
||
args.wavelength = WAVELENGTHS["Mo"] | ||
else: | ||
delattr(args, "anode_type") | ||
return args | ||
|
||
|
||
|
Uh oh!
There was an error while loading. Please reload this page.