API Documentation
pyddt.cif module
This module converts a Crystallographic Information File (CIF) into a structure file (.in).
- pyddt.cif.to_in(fcif: str)[source]
- Generates .in file from CIF. - Parameters
- fcif (str) – CIF filename. 
 
- pyddt.cif.to_struc(fcif: str)[source]
- Saves the .struc file. - Parameters
- fcif (str) – CIF filename. 
 - Notes - The .struc file presents some structural and electronic properties which might be useful for structural modelling. 
- Guesses of ionic charge (based on pymatgen.core.composition_oxi_state_guesses) are presented for inorganic crystals. If organic, the indices of the equivalent atoms are shown. 
 - Attention - The number of asymmetric units probably isn’t correct for hydrated crystals. 
- pyddt.cif.visualizer_cif(fcif: str) NGLWidget[source]
- Visualizes the CIF structure. This method is available exclusively in Jupyter Notebooks. - Parameters
- fcif (str) – CIF filename. 
- Returns
- Interactive visualization of the conventional unit cell. 
- Return type
- nv.widget.NGLWidget 
 - Attention - To avoid bugs, it’s highly recommended to assign this method to a variable, then close the figure after the visualization using - variable_name.close().
pyddt.scatter module
This module provides the calculation of atomic scattering amplitudes (see Computer Simulation Tools for X-ray Analysis: Scattering and Diffraction Methods for reference).
- pyddt.scatter.asfQ(atom: str, Q: list) ndarray[source]
- Calculates the atomic scattering factor using the Cromer–Mann coefficients (highly inaccurate for Q > 30 1/angstrom). - Parameters
- atom (str) – Atom or ion symbol. 
- Q (list or float or np.ndarray) – Reciprocal vector amplitude (1/angstrom) divided by 4pi. 
 
- Returns
- Atomic scattering factor values. 
- Return type
- np.ndarray or float 
 - Usage:
- asfQ('Na1+', np.linspace(0, 10, 1000))
- asfQ('H', 3)
- asfQ('Se', [0, 10, 20])
 
 
- pyddt.scatter.aresE(atom: str, E: ndarray) ndarray[source]
- Calculates the atomic resonance amplitude by using linear interpolation of tabulated values. - Parameters
- atom (str) – Element symbol. 
- E (np.ndarray or float) – X-ray energy (from 1004.16 to 70000 eV). 
 
- Returns
- Complex resonance amplitude. 
- Return type
- np.ndarray or float 
 - Usage:
- aresE('Na', np.linspace(3000, 10000, 1000))
- aresE('O', 8048)
 
 
pyddt.comparison module
This module performs the phase comparison between structural models.
- pyddt.comparison.phase(data1: ndarray, data2: ndarray, min: float = 15)[source]
- Comparison of the structure factor phase with respect to two structural models. - Parameters
- data1 (np.ndarray) – List of structure factors for the 1st structure. 
- data2 (np.ndarray) – List of structure factors for the 2nd structure. 
- min (float) – Minimum phase difference (degrees). Default: 15. 
 
 - Notes - The list of structure factors can be obtained by the - Crystal.diffraction()method.
- By default, the - plotly.graph_objectswill be displayed in an installed browser.
 
- pyddt.comparison.triplet(data1: ndarray, data2: ndarray, G: list, wmin: float = 5)[source]
- Comparison of the phase triplet with respect to two structural models for a given primary reflection. - Parameters
- data1 (np.ndarray) – List of structure factors for the 1st structure. 
- data2 (np.ndarray) – List of structure factors for the 2nd structure. 
- G (list) – Indices of the primary reflection (eg [1, 0, 0]). 
- wmin (float) – Cutoff for the triplet amplitude (% ranging from 0 to 100). Default: 5. 
 
 - Notes - The list of structure factors can be obtained by the - Crystal.diffraction()method.
- By default, the - plotly.graph_objectswill be displayed in an installed browser.
- The method returns - Nonefor null or absent primary reflection.
 
pyddt.Crystal class
This class is used for performing crystallographic calculations.
- class pyddt.Crystal(struc_obj: str)[source]
- Given a structure, returns a new - crystalobject.- Parameters
- struc_obj (str or Structure) – Filename or Structure object. 
 - Notes - .in file columns: atom or ion symbols, fractional coordinates, occupancy numbers and B-factors. The first line must present the lattice parameters. Use the - cifmodule to generate this file from CIF.
 - bragg(E: float, hkl: list) ndarray[source]
- Determines the interplanar distance and Bragg angle from Miller indices and X-ray energy. - Parameters
- E (float) – X-ray energy (eV). 
- hkl (list) – Miller indices (e.g [1, 0, 0]). 
 
- Returns
- Interplanar distance and Bragg angle. 
- Return type
- np.ndarray 
 
 - hkl2Q(hkl: ndarray) ndarray[source]
- Determines the reciprocal vector from Miller indices. - Parameters
- hkl (np.ndarray) – Miller indices 
- Returns
- Q values (1/angstrom). 
- Return type
- np.ndarray 
 - Usage:
- hkl2Q([[1, 0, 0], [0, 1, 1]])
- hkl2Q([1, 0, 0])
 
 
 - Fhkl(E: float, H: ndarray) ndarray[source]
- Calculates the complex structure factor. - Parameters
- E (float or np.ndarray) – X-ray energy (eV). 
- H (np.ndarray) – Miller indices. 
 
- Returns
- List of structure factors (complex). 
- Return type
- np.ndarray 
 - Notes - This method accepts an array of energy for a fixed reflection or a fixed energy jointly a set of reflections. - Usage:
- Fhkl(8048, [[1, 0, 0], [0, 1, 1]])
- Fhkl([8048, 10004], [1, 0, 0])
 
 
 - hkl_generator(E: float) tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray][source]
- Determines the Miller indices of all structure-allowed lattice planes. - Parameters
- E (float) – X-ray energy (eV). 
- Returns
- Miller indices, Bragg angles and interplanar distances. 
- Return type
- tuple[np.ndarray, np.ndarray, np.ndarray] 
 
 - diffraction(E: float, fout: str = '') tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray][source]
- Calculates the complex structure factor and interplanar distance of all structure-allowed lattice planes. - Parameters
- E (float) – X-ray energy (eV). 
- fout (str) – Filename for output. Default: None - it doesn’t save. 
 
- Returns
- Reflections, structure factors and interplanar distances. 
- Return type
- tuple[np.ndarray, np.ndarray, np.ndarray] 
 
 - triplet_relation(E: float, G_H: list) tuple[float, float][source]
- Calculates the triplet phase. - Parameters
- E (float) – X-ray energy (eV). 
- G_H (list) – Indices of primary and secondary reflection (in this order). 
 
- Returns
- Triplet phase (deg) and interference amplitude W. 
- Return type
- tuple[float, float] 
 
 - klines(E: float, G: list, M: list, Fmin: float, dw: float = 0.1, npoints: int = 20)[source]
- Calculates the Bragg Cones (BC lines) of all reflections. - Parameters
- E (float) – X-ray energy (eV). 
- G (list or ndarray) – Primary reflection (eg [1, 0, 0]). 
- M (list or ndarray) – Reference direction (eg [1, 0, -1]). 
- Fmin (float) – Cutoff value for W (minimum). 
- dw (float) – Maximum distance between BC lines and primary reflection. 
- npoints (int) – Number of points of the 2D-cone representation. 
 
 - Notes - The BC lines are saved in IN/OUT/THG_G_array_M_array_E_value.dat files: - IN_G_array_M_array_E_value.dat: BC lines entering the Ewald sphere. 
- OUT_G_array_M_array_E_value.dat: BC lines exiting the Ewald sphere. 
- THG_G_array_M_array_E_value.dat: MD positions (in-out and out-in geometries). 
 - Usage:
- klines(8048, [1, 1, 1], [1, 0, 0], 10)
 
 
 
pyddt.crystal_funcs module
Functions required by the Crystal class. In general, unuseful for external users.
- pyddt.crystal_funcs.lattice(a: float, b: float, c: float, alpha: float, beta: float, gamma: float) tuple[source]
- Calculates the direct and reciprocal lattice vectors. - Parameters
- a (float) – 1st lattice parameter (amplitude - angstrom). 
- b (float) – 2nd lattice parameter (amplitude - angstrom). 
- c (float) – 3rd lattice parameter (amplitude - angstrom). 
- alpha (float) – 1st lattice angle (degrees). 
- beta (float) – 2nd lattice angle (degrees). 
- gamma (float) – 3rd lattice angle (degrees). 
 
- Returns
- Direct and reciprocal vectors. 
- Return type
- tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray, np.ndarray, np.ndarray] 
 
- pyddt.crystal_funcs.save_diffraction(HKL: list, F: list, th: list, d: list, fout: str)[source]
- Setting the output for the - diffractionmethod.- Parameters
- HKL (list) – Miller indices. 
- F (list) – Structure factors. 
- th (list) – Bragg angles. 
- d (list) – Interplanar distances. 
- fout (str) – Filename for output. 
 
 
- pyddt.crystal_funcs.phase_triplet(FG: ndarray, FH: ndarray, FGH: ndarray) tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray][source]
- Calculates the phase triplet. - Parameters
- FG (np.ndarray) – Structure factor (complex) of primary reflection. 
- FH (np.ndarray) – List of structure factors (complex) for the secondary reflection(s). 
- FGH (np.ndarray) – List of structure factors (complex) of the coupling reflections(s). 
 
- Returns
- Cosine of phase triplet, phase triplet (deg) and W. 
- Return type
- tuple[np.ndarray, np.ndarray, np.ndarray] 
 - Notes - For unknown structure factors, use the - triplet_relationmethod from- Crystalclass.
pyddt.ExpData class
This class is used for analyzing Renninger scans.
- class pyddt.ExpData(E: float, G: list, fname: str, colx: int = 0, coly: int = 1, name: str = '')[source]
- Given the experimental data, returns a new - expobject.- Parameters
- E (float) – X-ray energy (eV). 
- G (list) – Primary reflection (eg [1, 1, 1]). 
- fname (str) – Filename containing the data. 
- colx (int) – Column number of angle values. Default: 0 (1st column). 
- coly (int) – Column number of intensity values. Default: 1 (2nd column). 
- name (str) – Label for the current work. Default: None. 
 
 - plot() Figure[source]
- Plots the phi-scan. - Returns
- Interactive plot. 
- Return type
- matplotlib.figure.Figure 
 
 - BC_plot(fname: str, M: list, Fmin: float, dw: float = 0.1, npoints: int = 20)[source]
- Plots the phi-scan and BC lines for visual indexing. - Parameters
- fname (str) – Structure filename (.in). 
- M (list) – Reference direction (eg [1, 0, 0]). 
- Fmin (float) – Cutoff for W (minimum absolute value). 
- dw (float) – Maximum distance between BC lines and primary reflection. 
- npoints (int) – Number of points of the 2D-cone representation. 
 
 - Notes - By default, the - plotly.graph_objectswill be displayed in an installed browser or notebook.
- BC lines ranging from -180 to 180 deg. 
 
 - peak_picker()[source]
- Manual selection of MD peaks. - Notes - To select a peak, stop the mouse over the maximum and press SPACE. 
- To unselect, stop the mouse over the maximum and press DEL. 
- Feel free to zoom in or out. 
- After finishing the selection, press ENTER. Then, close the figure (mouse or press q). 
 - Attention - Press ENTER before closing the plot, even if no peak was selected. 
 - peak_finder(minimum_intensity_p: float = 0.03)[source]
- Automatic definition of the MD peak list. - Parameters
- minimum_intensity_p (float) – Minimum intensity for considering a peak (% of the maximum intensity ranging between 0 and 1). Default: 0.03. 
 
 - review()[source]
- Plots the experimental data highlighting the selected MD peaks for user review. - Notes - To select a peak, stop the mouse over the maximum and press SPACE. 
- To unselect, stop the mouse over the maximum and press DEL. 
- Feel free to zoom in or out. 
- After finishing the selection, press ENTER. Then, close the figure (mouse or press q). 
 - Attention - Press ENTER before closing the plot, even if no peak was selected. 
 - region_of_fit(interval: int = 15, points: int = 60, flag: int = 0)[source]
- Defines the region of fit for each selected MD peak. - Parameters
- interval (int) – Number of fwhm defining the region of fit. Default: 15. 
- points (int) – Max number of points defining a peak. 
- flag (int) – If - flag != 0, plots the data highlighting the calculated regions. Default: 0.
 
 - Notes - If flag != 0, it’s possible to delete peaks. 
- To select a peak, stop the mouse over the maximum and press SPACE. 
- To unselect, stop the mouse over the maximum and press DEL. 
- Feel free to zoom in or out. 
- After finishing the selection, press ENTER. Then, close the figure (mouse or press q). 
 - Attention - Press ENTER before closing the plot, even if no peak was selected. 
 - region_plot()[source]
- Plots the calculated regions of fit for user review. - Notes - To select a peak, stop the mouse over the maximum and press SPACE. 
- To unselect, stop the mouse over the maximum and press DEL. 
- Feel free to zoom in or out. 
- After finishing the selection, press ENTER. Then, close the figure (mouse or press q). 
 - Attention - Press ENTER before closing the plot, even if no peak was selected. 
 - indexer(fname: str, M: list, Fmin: float, dmin: float = 0.1, flag: int = 0)[source]
- Finds the secondary reflection related to each selected MD peak. - Parameters
- fname (str) – Structure filename (the same used by - Crystalclass).
- M (list) – Reference direction (eg [1, 0, 0]). 
- Fmin (float) – Cutoff for W (minimum absolute value). 
- dmin (float) – Maximum difference between MD peak and BC line crossing the primary. Default: 0.1 deg 
- flag (int) – If flag != 0, plots the secondary reflection indices. Default: 0. 
 
 - Notes - Case two or more lattice planes are excited at the same angle with the same geometry: all will be displayed in the output file. 
- If the geometries are opposite, the peak is not indexable (so it’s excluded from the peak list). 
- It’s also not indexable the case with two excited reflections that distance themselves by less than 0.05º, whose smallest W value is at least half of the largest value. Except for these cases, the peak is indexed by the stronger reflection that is up to - dminof distance from the MD peak position.
 
 - indexation_plot(hkl: list, s: list, idx: list)[source]
- Plots the phi-scan and corresponding MD indexing for user review. - Parameters
- hkl (list) – Secondary reflections. 
- s (list) – Diffraction geometry of excitation. 
- idx (list) – Index of unindexable cases in peak list. 
 
 - Notes - To select a peak, stop the mouse over the maximum and press SPACE. 
- To unselect, stop the mouse over the maximum and press DEL. 
- Feel free to zoom in or out. 
- After finishing the selection, press ENTER. Then, close the figure (mouse or press q). 
 - Attention - Press ENTER before closing the plot, even if no peak was selected. 
 - fitter(nsamples: int = 1000)[source]
- Calculates the slope and slope error for each MD peak. - Parameters
- nsamples (int) – Number of samples for bootstrap resampling. 
 - Notes - If - nsamples = 0, the slope error isn’t calculated.
 - asymmetry_assigner(sbar: float = 0.1, tau: float = 0.4, flag: int = 0)[source]
- Assigns the asymmetry type. - Parameters
- sbar (float) – Minimum value of the relative slope. Default: 0.1 (10%) 
- tau (float) – Maximum value for the ratio slope_error/slope. Default: 0.4 (40%) 
- flag (int) – If - flag != 0, plots the data with read asymmetry types. Default: 0.
 
 - Notes - If flag != 0, it’s possible to delete peaks. 
- To select a peak, stop the mouse over the maximum and press SPACE. 
- To unselect, stop the mouse over the maximum and press DEL. 
- Feel free to zoom in or out. 
- After finishing the selection, press ENTER. Then, close the figure (mouse or press q). 
 - Attention - Press ENTER before closing the plot, even if no peak was selected. 
 - asymmetry_plot()[source]
- Plots the phi-scan and corresponding asymmetry type assigned for each selected MD peak. - Notes - To invert the assigned asymmetry of an MD peak,, stop the mouse over the maximum and press SPACE. 
- To unselect, stop the mouse over the maximum and press DEL. 
- Feel free to zoom in or out. 
- After finishing the selection, press ENTER. Then, close the figure (mouse or press q). 
 - Attention - Press ENTER before closing the plot, even if no peak was selected. 
 - save(fout: str = '')[source]
- Saves the current work. - Parameters
- fout (str) – Filename of the output data. Default: NAME_E_value_G_indexes.ext/.red 
 - Notes - The .ext file presents the azimuth position, hkl, slope, slope error, statistical properties, asymmetry type and excitation geometry. 
- The .red file only presents hkl, asymmetry and diffraction geometry, besides primary indices and energy in 1st line. 
 
 - _peak_definer(peak_number: int, points: int) tuple[source]
- Finds the indices of first and last points of an MD peak. - Parameters
- peak_number (int) – Index of the peak center in the angles array. 
- points (int) – Max number of points defining a peak. 
 
- Returns
- First and last points of the MD peak. 
- Return type
- tuple 
 
 - _index_find(dmin: float, ph: float, col: int, hkl: ndarray) tuple[source]
- Find the closer MD case of a defined azimuth angle. - Parameters
- dmin (float) – Maximum difference between peak position and BCs crossing the primary reflection. 
- ph (float) – Angle on the Renninger scan. 
- col (int) – 3 or 4 (in-out or out-in BC lines). 
- hkl (np.ndarray) – Miller indices. 
 
- Returns
- Azimuth position, W amplitude, secondary reflection indices. 
- Return type
- tuple 
 
 
pyddt.expdata_funcs module
Functions required by the Expdata class. In general, unuseful for external users.
- pyddt.expdata_funcs.dataframe_BClines(fname: str) tuple[source]
- Constructs the required dataframe for BC lines plot. - Parameters
- fname (str) – Filename with BC lines. 
- Returns
- Bragg angle of primary reflection, FHFGH values, - pd.DataFramewith BC lines.
- Return type
- tuple 
 
- pyddt.expdata_funcs.fwhm(x: ndarray, y: ndarray) tuple[source]
- Calculates the full width at half maximum of a peak. - Parameters
- x (np.ndarray) – Data points - azimuth angle. 
- y (np.ndarray) – Data points - intensity. 
 
- Returns
- full width at half maximum (fwhm). 
- Return type
- tuple 
 
pyddt.Structure class
This class is used for structural modelling from .in files.
- class pyddt.Structure(fname: str)[source]
- Given a .in file, returns a new - strucobject.- Parameters
- fname (str) – Structure filename. 
 - visualizer_in() NGLWidget[source]
- Visualizes the structure. This method is available exclusively in Jupyter Notebooks. - Returns
- Interactive visualization of the conventional unit cell. 
- Return type
- nv.widget.NGLWidget 
 - Attention - To avoid bugs, it’s highly recommended to assign this method to a variable, then close the figure after the visualization using - variable_name.close().
 - replace_ion(old: str, new: str)[source]
- Replaces atoms or ions. - Parameters
- old (str) – Array indices or element symbol to be replaced. 
- new (str) – New atom/ion symbol. 
 
 - Notes - There are many ways to pass indices as arguments: a number, numbers separated by commas, an interval of indices (first and last indices separated by “:” ) and intervals separated by commas. A string is expected. 
- If the new symbol isn’t in the current CromerMann list, the symbol is replaced by the most similar and a warning will be displayed. 
 - Usage:
- replace_ion('Ce', 'Ce3+')
- replace_ion('1', 'O1-')
- replace_ion('1, 2, 3', 'O1-')
- replace_ion('1:3', 'Fe2+')
- replace_ion('1:3, 5:6, 7:8', 'N3-')
 
 
 - replace_occupancy(index: str, value: str)[source]
- Replaces a specific set of occupancy numbers. - Parameters
- index (str) – Array indices of the occupancy numbers to be replaced. 
- value (str) – New values. 
 
 - Notes - There are many ways to pass indices as arguments: a number, numbers separated by commas, an interval of indices (first and last indices separated by “:” ) and intervals separated by commas. A string is expected. - Usage:
- replace_occupancy('1', 0.78)
- replace_occupancy('1, 2, 3', 0.92)
- replace_occupancy('1:3', 0)
- replace_occupancy('1:3, 5:6, 7:8', 0.5)
 
 
 - replace_bfactor(index: str, value: str)[source]
- Replaces a specific set of B-factors. - Parameters
- index (str) – Array indices of B-factors to be replaced. 
- value (str) – New values. 
 
 - Notes - There are many ways to pass indices as arguments: only a number, numbers separated by commas, an interval of indices (first and last indices separated by “:” ) and intervals separated by commas. A string is expected. - Usage:
- replace_bfactor('1', 3.14)
- replace_bfactor('1, 2, 3', 0.92)
- replace_bfactor('1:3', 10.015)
- replace_bfactor('1:3, 5:6, 7:8', 0.5)
 
 
 - append_atom(info: list)[source]
- Appends a new atom to the structure. - Parameters
- info (list) – Atom or ion symbol, fractional coordinates (x, y and z), occupancy number and B-factor. 
 - Usage:
- append_atom(['Fe2+', 0.5, 0.5, 0.5, 1, 3.14])
 
 - Notes - The new atom will be allocated in the last index of the atoms array. 
- For the current version, append atoms one-by-one. 
 
 - delete_atom(index: str)[source]
- Deletes a set of atoms. - Parameters
- index (str) – Array indices of the atoms to be deleted. 
 - Notes - There are many ways to pass indices as arguments: only a number, numbers separated by commas, an interval of indices (first and last indices separated by “:” ) and intervals separated by commas. A string is expected. - Usage:
- delete_atom('1')
- delete_atom('1, 2, 3')
- delete_atom('1:3')
- delete_atom('1:3, 5:6, 7:8')
 
 
 
pyddt.AMD class
This class is used for performing compatibility analysis.
- class pyddt.AMD(fexp: str, mnames: list = [])[source]
- Given the experimental asymmetries and structural models, returns a new - amdobject.- Parameters
- fexp (str) – Filename of experimental asymmetries. 
- mnames (list) – Names of .in files (structural models). 
 
 - Notes - fexp file must present hkl indices, asymmetry type, and diffraction geometry in columns (this order), including primary reflection and X-ray energy in 1st line. This file is automatically generated by the - expdataclass (.red extension).
 - experimental_asymmetries(hl: str = 'cyan', lh: str = 'gold')[source]
- Shows the experimental asymmetries in the diagram. - Parameters
- hl (str or tuple) – Color of HL asymmetries. Default: cyan. 
- lh (str or tuple) – Color of LH asymmetries. Default: gold. 
 
 - Notes - hl and lh must be color names or RGB values ranging between 0 and 1. - Usage:
- exp_plot('red', 'blue')
- exp_plot((1, 0, 0), (0, 0, 1))
 
 
 - twovariable_plot(xmax: float, xmin: float, dx: float, ymax: float, ymin: float, dy: float, xlabel: str = 'x', ylabel: str = 'y', color_empty: str = 'whitesmoke', incp: str = 'red', cp: str = 'lime', showlegend: bool = True)[source]
- Plots the asymmetry matching diagram (AMD) for structural models with two differential variables. - Parameters
- xmax (float) – Maximum value in horizontal axis. 
- xmin (float) – Minimum value in horizontal axis. 
- dx (float) – Step of the horizontal axis. 
- ymax (float) – Maximum value in vertical axis. 
- ymin (float) – Minimum value in vertical axis. 
- dy (float) – Step of the vertical axis. 
- xlabel (str) – Label for the horizontal axis. Default: x. 
- ylabel (str) – Label for the vertical axis. Default: y. 
- color_empty (str or tuple) – Color of the empty cells. Default: whitesmoke. 
- incp (str or tuple) – Color representing the incompatible cases. Default: red. 
- cp (str or tuple) – Color representing the compatible cases. Default: lime. 
- showlegend (bool) – Display legend (True/False). Default: - True.
 
 - Notes - color_empty, incp and cp must be color names or RGB values ranging between 0 and 1. - Usage:
- plot(xmax=1, xmin=0, dx=0.1, ymax=60, ymin=10, dy=5, xlabel='H effective charge', ylabel='N displacement (pm)', color_empty='gray', incp='blue', cp='green')
- plot(xmax=1, xmin=0, dx=0.1, ymax=60, ymin=10, dy=5, xlabel='H effective charge', ylabel='N displacement (pm)', color_empty=(0.5, 0.5, 0.5), incp=(0, 0, 1), cp=(0, 1, 0))
 
 
 - onevariable_plot(ncols: int, nrows: int, color_empty: str = 'whitesmoke', incp: str = 'red', cp: str = 'lime', showlegend: bool = True)[source]
- Plots the asymmetry matching diagram (AMD) for structural models with one differential variable. - Parameters
- ncols (int) – Number of columns. 
- nrows (int) – Number of rows. 
- color_empty (str or tuple) – Color of the empty cells. Default: whitesmoke. 
- incp (str or tuple) – Color representing the incompatible cases. Default: red. 
- cp (str or tuple) – Color representing the compatible cases. Default: lime. 
- showlegend (bool) – Display legend (True/False). Default: - True.
 
 - Notes - color_empty, incp and cp must be color names or RGB values ranging between 0 and 1. - Usage:
- onevariable_plot(5, 2, color_empty=(0.5, 0.5, 0.5), incp=(0, 0, 1), cp=(0, 1, 0))
 
 
 
pyddt.funcs module
Functions required by the main classes. Unuseful for external users.
- pyddt.funcs.delete_multiple(*args: ndarray, idx: list) list[numpy.ndarray][source]
- Deletes the same indices of multiple arrays. - Parameters
- args (list[np.ndarray]) – Arrays. 
- idx (list or np.ndarray or int) – Indices. 
 
- Returns
- New array after deleting the indicated indices. 
- Return type
- ndarray 
 - Usage:
- delete_multiple(arr1, arr2, arr3, arr4, ..., idx=0)
- delete_multiple(arr1, arr2, arr3, arr4, ..., idx=[0, 1, 2])
- delete_multiple(arr1, arr2, ..., idx=np.arange(0, 100))
 
 - Notes - Call this function explicitly using - idx=.
- pyddt.funcs.search_reflection(HKL: ndarray, G: ndarray) int[source]
- Finds the primary reflection. - Parameters
- HKL (np.ndarray) – Array of Miller indices. 
- G (np.ndarray) – Miller indices of the primary reflection (eg [1, 0, 0]). 
 
- Returns
- Position of the primary reflection in the HKL array. 
- Return type
- int or list 
 
- pyddt.funcs.coupling_reflection(F: ndarray, H: ndarray, G: ndarray) tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray, numpy.ndarray, list[int]][source]
- Defines the coupling reflections and finds the corresponding structure factors. - Parameters
- F (np.ndarray) – Complex structure factors of the secondary reflections. 
- H (np.ndarray) – Secondary reflections. 
- G (np.ndarray) – Primary reflection. 
 
- Returns
- Secondary reflections, structure factors of secondary reflections, coupling reflections, structure factors of coupling reflections, index of not found coupling reflections. 
- Return type
- tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray, list[int]] 
 
- pyddt.funcs.comparison_plot(dataframe: DataFrame, zlabel: str, xlabel: str, color: str = 'darkred')[source]
- Comparison of phase (three-dimensional plot). - Parameters
- dataframe (pd.DataFrame) – Dataframe with x, y and z coordinates labeled as F, Q and Z. 
- zlabel (str) – Title for Z axes (phase difference). 
- xlabel (str) – Title for X axes (scattering amplitude - F or W). 
- color (str) – Color of markers. Default: darkred.