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