The architecture of spipy package is shown as below:
- analyse : diffraction experiment data analysis
- q
cal_q: calculate q values in k-spacecal_q_pat: calculate q values of a patterncal_r: calculate radius list on detector corresponding to a q-listoversamp_rate: calculate oversampling rateewald_mapping: map detector pixels onto ewald sphere
- saxs
grid: calculate grid of a patternfriedel_search: return the central point (zero frequency) of a patterncenter_refine: refine the center coordinates from ‘friedel_search’inten_profile_vaccurate: the averaged intensity radial profileinten_profile_vfast: fast calculation of intensity profilecal_saxs: calculate saxs/powder pattern of a datasetcentering: shift the input pattern to make its geometry center as q=0 pointparticle_size: estimate particle size through saxs patternparticle_size_sp: fit the diameter of spherical-like samples by using Iq curve of diffraction patterns
- orientation
Sphere_randp: return random/uniform distributed points on a spherical surfaceproc_Hammer: transfer quaternions to Aitoff-Hammer projection coordinatesdraw_Hammer: plot Aitoff-Hammer projection coordinatesdraw_ori_Df: draw figure to show orientation distribution of DragonFly output
- criterion
r_factor: overall r-factor between two modelsr_factor_shell: r-factor on different q values between two modelsfsc: Fourier Shell Correlation between two models (in reciprocal space)r_split: r-split factors between two models (in reciprocal space)Pearson_cc: Pearson correlation coefficient between two arraysPRTF: Phase Retrieval Transfer Function of phased dataset
- rotate
eul2rotm: transfer euler angles to rotation matrix in intrinsic orderrot_ext: do an extrinsic rotation to a 3D voxel modelalign: Using grid search (euler angles) to align two models
- SH_expan
sp_harmonics: spherical harmonics expansion of a 3D model
- q
- image : diffraction pattern processing and I/O
- radp
radial_profile: calculate intensity radial profile of a pattern/volumeshells: return indices of pixels in a pattern/volume which forms a shell at radius rradp_norm: scaling pattern/volume intensities referring to a given radial profilecircle: generates a circle/sphere area with given radius, centered by (0,0)
- quat
invq: calculate the inverse of a quaternionquat_mul: multiply two quaternionsconj: conjugate quaternionquat2rot: transfer quaternion to 3D rotation matrixrot2quat: transfer 3D rotation matrix to quaternionquat2azi: transfer quaternion to azimuth angleazi2quat: transfer azimuth angle to quaternionrotv: rotate a 3D vector using a quaternionSlerp: linear interpolation on spherical surface between two quaternions
- classify
cluster_fSpec: single-nonsingle hits clustering using linear/non-linear decomposition and spectural clusteringcluster_fTSNE: single-nonsingle hits clustering using t-SNE decomposition and KNN clusteringdiffusion_map: diffusion map embedding and decomposition
- preprocess
fix_artifact: reduces artifacts in dataset, the positions of bad pixels are neededfix_artifact_auto: detect and fix artifacts automatically without providing bad pixel positionsadu2photon: evaluate adu value per photon and transfer adu to photon countshit_find: hit finding based on chi-square testinghit_find_pearson: hit finding based on pearson cc score testingcal_correction_factor: calculate polarization and solid angle correction factorsavg_pooling: downsample patterns by a given factor
- io
readccp4: read ccp4/mrc fileswriteccp4: write intensity volume into a ccp4/mrc filepdb2density: read pdb file and return electron density mapcxi_parser: print cxi/h5 inner path structuresxyz2pdb: write xyz-coordinates into a pdb filereadpdb_full: read pdb files and return full infomation
- radp
- merge : orientation recovery and merging
- emc
new_project: create a new projectconfig: configurationrun: run emcuse_project: switch to an existing project
- tools
get_slice: generate slices from a 3D model according to given orientationsmerge_slice: merge slices into a 3D model according to given orientationspoisson_likelihood: calculate poisson likelihood between a model slice and a diffraction patternmaximization: calculate updated slice of orientation j after likelihood maximizationget_quaternion: calculate quaternions which are uniformly distributed in orientation space
- emc
- phase : phase retrieval network framework (PRNF) or traditional phasing
- phmodel
pInput,pOutput,pMerge,ERA,HIO,DM,RAAR,HPR: different types of nodes (algorithms) to build phase retrieval network (PRNF)
- phexec
Runner: class, used for execuating phase retrieval network
- phase2d (deprecated)
new_project: create a new projectconfig_project: edit configuration filerun_project: start phasinguse_project: switch to an existing project
- phase3d (deprecated)
- the same as phase2d
- phmodel
- simulate : diffraction simulation
- sim_adu
go_magic: diffraction simulation of PDB file using atom reflection or FFT method
- sim_adu