Releases: HEXRD/hexrd
Bug fixes and a few more features.
What's Changed
- addresses case where cluster has 2 orientations by @joelvbernier in #381
- Simulated peak by @saransh13 in #331
- routines to get absorption length of a material by @saransh13 in #380
- fixing issues with spline background estimation by @saransh13 in #383
- Move generating parameter names into a function by @psavery in #384
- Fix parameter names by @psavery in #385
- fixes to projection code by @joelvbernier in #386
- save two theta width in h5 file. by @saransh13 in #387
- Raw image imageseries by @donald-e-boyce in #388
- Rotations update by @joelvbernier in #391
- Update utils.py by @joelvbernier in #393
- Fix default material tThWidth for HDF5 by @psavery in #395
- Remove duplicate atom fix by @saransh13 in #394
- Fixing write error in material by @saransh13 in #396
Full Changelog: 0.8.17...0.8.18
Bug fixes and additional utilites, and build env fixes
An important update that includes a bumpy to python 3.9 and important updates to the build environment to avoid potential incompatibilities with the numpy C API between build/runtime environments that was seen for the latter 0.8.16 conda packages.
What's Changed
- added docstrings for Euler functions by @joelvbernier in #363
- Revert fixed conda version by @cjh1 in #365
- Bump to Python 3.9 by @cjh1 in #364
- Added list sort to deal with glob by @joelvbernier in #367
- Update imagefiles.py by @joelvbernier in #369
- Pin numpy to version 1.20 by @psavery in #370
- Change numpy==1.20 to numpy<1.21 by @psavery in #371
- Update fitpeak.py by @darrencpagan in #372
- make darren's updates PEP8-compliant by @joelvbernier in #373
- Use skimage for center of mass instead of scipy by @psavery in #374
- added auto powder cal classes by @joelvbernier in #375
- Fix conda numpy version to 1.20 by @psavery in #378
- Rotations features by @joelvbernier in #377
- Try fuzzy constraint for numpy version by @psavery in #379
Full Changelog: 0.8.16...0.8.17
Add 2-D Lebail fitting, some bug fixes and PEP8 cleanup
What's Changed
- Fix conda version to 4.10.3, 4.11 causes a regression by @cjh1 in #357
- minor tweak to filtering by @joelvbernier in #356
- removed blank line by @joelvbernier in #358
- replace "_" with "" in the HM symbol. by @saransh13 in #360
- Lebail2d rebased by @joelvbernier in #361
- made master WPPF linter-happy by @joelvbernier in #362
Full Changelog: 0.8.15...0.8.16
CIF import Bug fixes, some performance enhancements.
- There was a new error case for CIF formats (there are seemingly an infinite number of edge cases) that was causing an exception when no charge states were specified for atoms.
- Some additional minor typos in the periodic table data
- A new
calibration
package was added tohexrd.fitting
to house common calibration functions, starting with the routines needed to calibrate an instrument from a rotation series (i.e., ff-HEDM result). - Removed a legacy memoization in
xrdutil
that was causing hard-to-track bugs (it was unnecessary from a performance standpoint anyhow)
Minor updates and feature enhancements.
A minor update that adds a few new features and fixes a few bugs. The most salient changes are:
- Powder line intensities, I_p, (simple formula) are now an attribute of the
hexrd.crystallography.PlaneData
class underpowder_intensity
- An HDF5 class writer was added to
hexrd.imageseries.save.write
to facilitate state saving inhexrdgui
- There was an overflow error fix to
hexrd.imageseries.stats.average_iter
- A check for distortion functions against the registry was added to
hexrd.instrument.PlanarDetector
- A fix to
hexrd.instrument.PlanarDetector.angularPixelSize
was added to handle the &eta: branch cut; also switched the calc to use the 2θ and η gradient arrays instead ofhexrd.xrdutil.angularPixelSize
function - Added an unpolarized lorentz factor correction to
hexrd.instrument.PlanarDetector
- Updated
hexrd.material.Material
for better I/O consistency in the state save. - Performance improvements to
hexrd.wppf
Some cleanup, and new support for setting ionization state of atoms in material spec
The only API change (affecting the GUI) is that now the ionization state can be specified for atoms comprising the unit cell. Note that this version of hexrd
with not work with hexrdgui < 0.8.8
!
Other changes since 0.8.9
include:
- reinstated the
--version
flag in the CLI - updated the conversion script for legacy instrument configurations to the current
- added option for
HEDMInstrument.pull_spots
to return spot data tables - removed the vestigial
sglite
package - the solid angle correction is now normalized.
Some cleanup and changes to image interpolation
The main change centers around HEDMInstrument.extract_powder_lines()
method, which now can take in a specific list of η bin centers. The output for collapse_eta=True
is also averaged instead of summed now. The new API is documented in the help.
extract_line_positions(plane_data, imgser_dict, tth_tol=None, eta_tol=1.0, npdiv=2, eta_centers=None, collapse_eta=True, collapse_tth=False, do_interpolation=True) method of hexrd.instrument.HEDMInstrument instance
Perform annular interpolation on diffraction images.
Provides data for extracting the line positions from powder diffraction
images, pole figure patches from imageseries, or Bragg peaks from
Laue diffraction images.
Parameters
----------
plane_data : hexrd.crystallography.PlaneData object or array_like
Object determining the 2theta positions for the integration
sectors. If PlaneData, this will be all non-excluded reflections,
subject to merging within PlaneData.tThWidth. If array_like,
interpreted as a list of 2theta angles IN RADIAN (this may change).
imgser_dict : dict
Dictionary of powder diffraction images, one for each detector.
tth_tol : scalar, optional
The radial (i.e. 2theta) width of the integration sectors
IN DEGREES. This arg is required if plane_data is array_like.
The default is None.
eta_tol : scalar, optional
The azimuthal (i.e. eta) width of the integration sectors
IN DEGREES. The default is 1.
npdiv : int, optional
The number of oversampling pixel subdivision (see notes).
The default is 2.
eta_centers : array_like, optional
The desired azimuthal sector centers. The default is None. If
None, then bins are distrubted sequentially from (-180, 180).
collapse_eta : bool, optional
Flag for summing sectors in eta. The default is True.
collapse_tth : bool, optional
Flag for summing sectors in 2theta. The default is False.
do_interpolation : bool, optional
If True, perform bilinear interpolation. The default is True.
Raises
------
RuntimeError
DESCRIPTION.
Returns
-------
panel_data : dict
Dictionary over the detctors with the following structure:
[list over (merged) 2theta ranges]
[list over valid eta sectors]
[angle data <input dependent>,
bin intensities <input dependent>]
Notes
-----
TODO: May change the array_like input units to degrees.
TODO: rename function.
Add Lorentz factor correction, WPPF bug fixes
This release adds a correction for the Lorentz polarization factor, and includes bug fixes in WPPF. This branch will work with hexrdgui=0.8.7
(to be released...)
Updated WPPF package
This major change in this release is an overhaul to the WPPF package; this version will not work with hexrdgui <= 0.8.6
.
Performance improvements and bug fixes
Some nice performance updates are included in this release, including the addition of memoization for detector pixel angles. No changes to any APIs; this release is preferred for working with hexrdgui >= 0.8.5