You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Generalize Calculation beyond para, perp, and polarization framing. Allow parameters chi_1, chi_2 as optional parameters to choose where the chi wedges are centered. Default behavior will be chi_1 = 0, chi_2 = chi1 - 90, but allow users to override this. This enables more flexibility e.g., computing AR along a target chi aligned with a biaxial director, or sanity check of calculating AR aligned 45 degrees to uniaxial director. Goal is for default behavior to match current behavior.
Add a flag to integrate 4 chi wedges per image, instead of 2. Presently, AR is calculated from two chi-wedges, centered on 0 +- chi_width (para) and -90 +- chi_width (perp). The proposed change would allow incorporating the reflection (so I_para is calculated from the wedges centered on 0 and 180, and I_perp is from wedges centered on 90 and -90).
Possible QOL additions:
Warn if chi_1 and chi_2 are not perpendicular
Warn if any wedges are overlapping
Add a flag to enable inferring chi_1 and chi_2 from polarization metadata
Calculate the RSoXS Anisotropic Ratio (AR) of either a single RSoXS scan or a polarized pair of scans.
AR is defined as (para-perp)/(para+perp) where para is the chi slice parallel to the polarization direction, and perp is the chi slice 90 deg offset from the polarization direction.
Args:
img (xarray): image to plot
calc2d (bool): calculate the AR using both polarizations
two_AR (bool): return both polarizations if calc2d = True. If two_AR = False, return the average AR between the two polarizations.
calc2d_norm_energy (numeric): if set, normalizes each polarization's AR at a given energy. THIS EFFECTIVELY FORCES THE AR TO 0 AT THIS ENERGY.
chi_width (int, default 5): the width of chi slices used in calculating AR.
BijalBPatel
changed the title
feat generalize AR calculations, chi center, polarizations, reflections
feat: generalize AR calculations, chi center, polarizations, reflections
Apr 10, 2024
Branch is feature complete, but there are some additions I want to make before PR.
Tutorial
Aggressive Testing on meaningful uniaxial datasets
Automated Tests
Redoing the logic to pull integration wedges into a helper function. Right now the code logic is unnecessarily muddy and intelligent selection selection of chi,q wedges is a useful thing on its own. This change is unlikely to be visible to function users, but it will make testing easier/ more robust.
At the earliest, i'll work on it again next Tuesday, but its open to anyone to test.
Proposed changes:
Possible QOL additions:
Possible Connections with existing issues:
Existing Code for reference:
PyHyperScattering/src/PyHyperScattering/RSoXS.py
Lines 109 to 151 in 6603dd4
The text was updated successfully, but these errors were encountered: