Skip to main content

A tool to project X-ray diffraction cones on a detector screen at different geometries (tilt, rotation, offset) and X-ray energies.

Reason this release was yanked:

outdated

Project description

xrdPlanner

A tool to project X-ray diffraction cones on a detector screen at different geometries (tilt, rotation, offset) and X-ray energies

  • Main application is to visualize the maximum achievable resolution at a given geometry.
  • Is able to project diffraction cones for standard samples or directly from cif files.
  • Can turn out valuable when planning beamtimes and deciding on the geometry of the experiment.
  • The math used is not meant to bring people to the moon but to provide a quick and simple preview.
  • The module building code is designed for Dectris PILATUS3 / EIGER2 and SACLA MPCCD Detectors (central hole geometry) but one-module systems like the Bruker Photon II are possible as well.
  • It uses python3, numpy, pyqt6, pyqtgraph, pyFAI and Dans_Diffraction.

Short how-to:

  • Type xrdPlanner in a terminal and hit enter.
  • Choose a detector and a model from the Detector menu.
  • Pick a reference from the Reference menu to plot its contours (pyFAI).
  • Drop a .cif file onto the window to draw its contours (Dans_Diffraction), click a contour to get a hkl tooltip.
  • Use the units from the Units menu you are the most comfortable with.
  • Hover over the grey line at the top to show the sliders. Click it to make it stay open.
  • Drag the sliders to change energy and geometry.
  • Edit the settings.json file to suit your needs.
  • Add all the missing detectors to the detectors.json file.

Latest updates:

  • 2023-06-14 Update: Big speed update.
  • 2023-06-01 Update: countourpy was dropped, the conics are now calculated directly instead of being evaluated on a grid.
  • 2023-05-25 Update: Dans_Diffraction is used in favour of gemmi as it allows the direct calculation of intensities from the cif.
  • 2023-04-26 Update: A hkl tooltip is shown on click on a contour (only for cif contours).
  • 2023-04-25 Bugfix: Segmented contours are now drawn properly.
  • 2023-04-20 Bugfix: Confined slider window mobility to main window area.
  • 2023-04-10 Bugfix: Main window aspect ratio on Windows (menu bar within window).
  • 2023-04-10 Bugfix: Label size could not be adjusted.
  • 2023-04-10 Bugfix: Large angle (2-Theta > 90) contour label positions.
  • 2023-04-09 Update: Drop a cif file onto the window to draw its contours (uses Dans_Diffraction).
  • 2023-04-05 Update: Uses pyqt6, pyqtgraph and contourpy, dropped matplotlib backend.

Older updates

  • 2023-03-23 Update: Settings are saved to (if doesn't exist) or loaded from (if exists) a 'settings.json' file.
  • 2023-03-23 Update: Added horizontal offset support and slider.
  • 2022-06-07 Update: Added functionality to plot Standard (LaB6, CeO2, ...) contours (needs pyFAI).
  • 2022-04-28 Update: Changed contour line generation to accept a list of 2-theta values as input.
  • 2022-04-27 Update: Added support for SACLA MPCCD Detectors (central hole geometry).
  • 2022-04-25 Bugfix: Calculation of the beamcenter (rotation and tilt).
  • 2022-04-25 Bugfix: Unresponsive radio buttons / redrawing the figure.

I hope this turns out to be useful for someone!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xrdPlanner-2023.6.21.tar.gz (67.0 kB view hashes)

Uploaded Source

Built Distribution

xrdPlanner-2023.6.21-py3-none-any.whl (66.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page