Skip to content

Roadmap

Andrew Sazonov edited this page Apr 15, 2026 · 3 revisions

User interface components:

  • LIB – Python library API
  • APP – Graphical application
  • CLI – Command-line interface

Implementation status:

  • βœ… Done
  • β˜‘οΈ Partially done
  • 🚧 Work in progress
  • πŸ“… Planned
    • πŸ“…highest Urgent. Needs attention ASAP
    • πŸ“…high Should be prioritized soon
    • πŸ“…medium Normal/default priority
    • πŸ“…low Low importance
    • πŸ“…lowest Very low urgency
  • β€” Not applicable / not implemented

1. Structure Model

1.1 Crystal Structure

Space Group

Feature LIB APP
Hermann-Mauguin space-group symbol βœ… βœ…
Space group IT number πŸ“… πŸ“…
IT coordinate system code βœ… βœ…

Cell

Feature LIB APP
Lengths a, b, c βœ… βœ…
Angles Ξ±, Ξ², Ξ³ βœ… βœ…

Atom Sites

Feature LIB APP
Neutron scattering lengths (tabulated, CrysPy) βœ… βœ…
X-ray scattering factors (tabulated, CrysPy) βœ… βœ…
Custom neutron scattering length πŸ“… πŸ“…
Fractional coordinates x, y, z βœ… βœ…
Occupancy βœ… βœ…
Symmetry wyckoff_letter βœ… βœ…

Atomic Displacement (ADP)

Feature LIB APP
Isotropic Biso βœ… πŸ“…
Isotropic Uiso 🚧 βœ…
Anisotropic Bani (B11, B22, B33, B12, B13, B23) 🚧 πŸ“…
Anisotropic Uani (U11, U22, U33, U12, U13, U23) 🚧 πŸ“…

1.2 Magnetic Structure - EPIC

Feature LIB APP
Magnetic Space Groups πŸ“… πŸ“…
Irreducible representations πŸ“… πŸ“…
Magnetic propagation vector (kx, ky, kz) πŸ“… πŸ“…
Magnetic moments (mx, my, mz) πŸ“… πŸ“…
Local Susceptibility (πœ’11, πœ’22, πœ’33, πœ’12, πœ’13, πœ’23) πŸ“… πŸ“…

2. Experiment Model

Feature LIB APP
2.1. Powder Diffraction β˜‘οΈ β˜‘οΈ
2.1.1. Common features β˜‘οΈ β˜‘οΈ
2.1.2. Standard Bragg diffraction (CWL) β˜‘οΈ β˜‘οΈ
2.1.2. Standard Bragg diffraction (TOF) β˜‘οΈ β˜‘οΈ
2.1.3. Total Scattering (Pair Distribution Function) β˜‘οΈ πŸ“…
2.2. Single-Crystal Diffraction (CWL) β˜‘οΈ β˜‘οΈ
2.2. Single-Crystal Diffraction (TOF) β˜‘οΈ β˜‘οΈ
2.3. Polarized Powder Diffraction πŸ“… πŸ“…
2.3.1. Flipping-ratio method (TOF) πŸ“… πŸ“…
2.3.2. Flipping-ratio method (CWL) πŸ“… πŸ“…
2.4. Polarized Single-Crystal Diffraction πŸ“… πŸ“…
2.4.1. Flipping-ratio method (CWL) πŸ“… πŸ“…
2.4.2. Flipping-ratio method (TOF) πŸ“… πŸ“…
2.4.3. Spherical neutron polarimetry πŸ“… πŸ“…

2.1. Powder Diffraction

2.1.1. Common features

Linked Phases

Feature LIB APP
Scale factor βœ… βœ…

Excluded Regions

Feature LIB APP
Multiple regions
start/end positions
βœ… πŸ“…

2.1.2. Standard Bragg diffraction

Fitting Methods

Feature LIB APP
Rietveld refinement (full pattern) βœ… βœ…
Le Bail refinement (profile matching) πŸ“… πŸ“…

Background

Feature LIB APP
Chebyshev polynomial type order, coefficient βœ… πŸ“…
Line segments type x, y βœ… βœ…
Line segments type x, y (auto-detection) πŸ“… πŸ“…

Preferred Orientation

Feature LIB APP
Basic preferred orientation model (CrysPy) πŸ“…high πŸ“…

Instrument β€” Constant Wavelength

Feature LIB APP
Wavelength βœ… βœ…
Second wavelength πŸ“… πŸ“…
2ΞΈ offset βœ… βœ…
Sample displacement correction (FullProf SyCos, SySin) πŸ“… πŸ“…

Instrument β€” Time-of-Flight

Feature LIB APP
2ΞΈ bank βœ… βœ…
d β†’ TOF conversion
reciprocal, offset, linear, quadratic
βœ… βœ…

Peak Profile β€” Constant Wavelength

Feature LIB APP
Pseudo-Voigt + Empirical asymmetry
Gaussian broadening U, V, W. Lorentzian broadening X, Y
Empirical asymmetry p1, p2, p3, p4

(CrysPy)
βœ… βœ…
Thompson-Cox-Hastings Pseudo-Voigt +
Finger-Cox-Jephcoat asymmetry
Gaussian broadening U, V, W. Lorentzian broadening X, Y
Finger-Cox-Jephcoat asymmetry 1, 2

(CrysFML)
β˜‘οΈ πŸ“…

Peak Profile β€” Time-of-Flight

Feature LIB APP
Jorgensen (back-to-back exponentials βŠ— Gaussian)
Gaussian broadening Οƒβ‚€, σ₁, Οƒβ‚‚
Back-to-back exponential rise Ξ±β‚€, α₁ and decay Ξ²β‚€, β₁

(CrysPy "Gauss")
βœ… βœ…
Jorgensen-Von Dreele (back-to-back exponentials βŠ— pseudo-Voigt)
Gaussian broadening Οƒβ‚€, σ₁, Οƒβ‚‚. Lorentzian broadening Ξ³β‚€, γ₁, Ξ³β‚‚
Back-to-back exponential rise Ξ±β‚€, α₁ and decay Ξ²β‚€, β₁

(CrysPy "pseudo-Voigt")
βœ… βœ…
Double back-to-back exponentials βŠ— pseudo-Voigt
Gaussian broadening Οƒβ‚€, σ₁, Οƒβ‚‚. Lorentzian broadening Ξ³β‚€, γ₁, Ξ³β‚‚
Rise α₁, Ξ±β‚‚. Fast decay Ξ²β‚€β‚€, β₀₁. Slow decay β₁₀. Switching r₀₁, rβ‚€β‚‚, r₀₃

(CrysPy "type0m", Z-Rietveld "type0m")
βœ… πŸ“…
Ikeda-Carpenter βŠ— pseudo-Voigt
Moderator pulse Ξ±β‚€, α₁, Ξ²β‚€, ΞΊ
Gaussian broadening σ². Lorentzian broadening Ξ³

(CrysFML)
πŸ“… πŸ“…

2.1.3. Total Scattering (Pair Distribution Function)

Peak Profile

Feature LIB APP
Gaussian-damped sinc termination function
cutoff q. broadening q. sharpening δ₁, Ξ΄β‚‚
damping q, particle diameter
(Pdffit2)
βœ… πŸ“…

2.2. Single Crystal Diffraction

Extinction

CrysPy's extinction is an analytical Becker-Coppens spherical model with Gaussian or Lorentzian mosaicity distributions.

Feature LIB APP
Becker-Coppens, Gaussian model: radius, mosaicity (CrysPy) βœ… βœ…
Becker-Coppens, Lorentzian model: radius, mosaicity (CrysPy) βœ… βœ…
Anisotropic extinction correction πŸ“… πŸ“…

Domains / Twinning

Feature LIB APP
Twinning / domains for single-crystal diffraction πŸ“… πŸ“…

Instrument β€” Constant Wavelength

Feature LIB APP
Wavelength βœ… βœ…
Half wavelength (Ξ»/2) πŸ“… πŸ“…

Instrument β€” Time-of-Flight

Feature LIB APP
Individual wavelength per reflection βœ… πŸ“…

2.3. Polarized Neutron Diffraction - EPIC

2.3.1. Polarized Neutron Powder Diffraction

Feature LIB APP
Flipping-ratio method (TOF) πŸ“… πŸ“…
Flipping-ratio method (CWL) πŸ“… πŸ“…

2.3.2. Polarized Neutron Single Crystal Diffraction

Feature LIB APP
Flipping-ratio method (TOF) πŸ“… πŸ“…
Flipping-ratio method (CWL) πŸ“… πŸ“…
Spherical neutron polarimetry πŸ“… πŸ“…

3. Multi-Dataset Support

Feature LIB APP
Multiple structural data blocks βœ… βœ…
Multiple experimental data blocks βœ… πŸ“…

4. Analysis (Fitting)

Refinement Algorithms (numerical derivatives)

Feature LIB APP
Levenberg–Marquardt
LMFIT minimizer
βœ… βœ…
Levenberg–Marquardt
LMFIT minimizer (scipy-based)
βœ… βœ…
Levenberg–Marquardt
BUMPS minimizer
🚧 πŸ“…
Derivative-free minimization
DFO-LS minimizer
βœ… βœ…
Bayesian analysis
BUMPS minimizer
πŸ“… πŸ“…

Fit Strategies

Feature LIB APP
Single fit of one experimental data block to one or more structural
data blocks
βœ… βœ…
Sequential fit of experimental data blocks βœ… πŸ“…
Joint fit of experimental data blocks within the same calculation
engine
βœ… πŸ“…
Joint fit of experimental data blocks using different calculation
engines (e.g. CrysPy + Pdffit2)
βœ… πŸ“…
Custom weighting for joint fit: weight per dataset βœ… πŸ“…

Live Fitting

Feature LIB APP
Live fitting during real-time data acquisition πŸ“… πŸ“…

5. Refinement Execution

Feature LIB APP CLI
Scripted refinement workflow βœ… β€” β€”
GUI-driven refinement workflow β€” βœ… β€”
Command-line refinement execution β€” β€” βœ…
Parameter modification βœ… βœ… β€”
Load individual structure or experiment files βœ… βœ… β€”
Project-based refinement βœ… βœ… βœ…
Save refinement results to project βœ… βœ… βœ…

6. Constraints

Feature LIB APP
Automatic symmetry constraints βœ… β˜‘οΈ
User-defined constraints βœ… πŸ“…

7. Data Management

Data Loading

Feature LIB APP CLI
Load structure from CIF βœ… βœ… β€”
Load experiment data from ASCII βœ… βœ… β€”
Load experiment data from CIF βœ… βœ… β€”

Project Files

Feature LIB APP CLI
Load project from disk βœ… βœ… βœ…
Save project to disk βœ… βœ… βœ…

SciCat Integration

Feature LIB APP CLI
Load project from SciCat πŸ“… πŸ“… β€”
Save project to SciCat πŸ“… πŸ“… β€”

External Resources

Feature LIB APP CLI
List available tutorial notebooks βœ… β€” βœ…
Download tutorial notebooks βœ… β€” βœ…

8. Visualization

8.1. Structure

Crystal Structure

Feature LIB APP
Visualize unit cell πŸ“… βœ…
Visualize multiple unit cells πŸ“… πŸ“…
Visualize atom sites as spheres πŸ“… βœ…
Visualize atoms occupied same position πŸ“… πŸ“…
Visualize bonds πŸ“… πŸ“…
Visualize polyhedra πŸ“… πŸ“…
Interactive mode
3D rotation, zooming
πŸ“… βœ…
Orthogonal unit cell πŸ“… βœ…
Non-orthogonal unit cell πŸ“… πŸ“…

Magnetic Structure

Feature LIB APP
Visualize magnetic moments as arrows πŸ“… πŸ“…

8.2. Experiment

Powder Diffraction

Feature LIB APP CLI
Plot experimental curve βœ… βœ… βœ…
Plot calculated curve βœ… βœ… βœ…
Plot residual curve βœ… βœ… βœ…
Plot Bragg peaks πŸ“…highest βœ… β€”
Interactive mode
zooming, panning
βœ… βœ… β€”

Single Crystal Diffraction

Feature LIB APP CLI
Plot obs vs calc for reflections βœ… βœ… βœ…
Interactive mode
zooming, panning
βœ… βœ… β€”

8.3. Analysis

Feature LIB APP CLI
Live update of plots on parameter change with slider β€” βœ… β€”
Live update of plots during refinement β€” βœ… β€”
Parameter evolution (sequential refinement) β˜‘οΈ πŸ“… β€”

Fitting

Feature LIB APP CLI
Live update of plots β€” βœ… β€”
Live update of fit quality (change in χ²) βœ… βœ… βœ…
Plot correlation between parameters βœ… πŸ“… βœ…

9. User documentation

Feature LIB APP
New unified documentation structure βœ… πŸ“…
Introduction βœ… β˜‘οΈ
Installation and setup guide βœ… β˜‘οΈ
User guide βœ… β˜‘οΈ
Tutorials βœ… πŸ“…
API reference βœ… β€”

10. Unsorted features

  • Restraints (soft constraints, e.g. bond lengths, angles)
  • Refinement using analytical derivatives
  • Global optimization algorithms (e.g. simulated annealing)
  • Incommensurate structures
  • 2D Rietveld refinement