Added HDF5 formats for detector, output and data files. The old file formats will still work. Additionally, if HDF5 is not available, the program will revert to the old formats.
Reconstruction directories made by dragonfly_init now include all programs and utilities
EMC code changes:
Probabilities stored as sparse array now, enabling much larger reconstructions. One can also optionally save the probabilities after every iteration.
Default empirically estimated signal-dependent frame-by-frame beta values used if no initial value is specified. This is the recommended behaviour now. The beta_schedule parameter acts on absolute iteration number.
Added orientation refinement when continuing a reconstruction by increasing num_div. This is implemented by giving two numbers for num_div in the configuration file, num_div = <fine> <coarse>, where <coarse> should be the value used in the previous iteration.
[Beta] Can now incorporate a constant background intensity with variable fluence in reconstruction (algorithm is similar to the one in J. Appl. Cryst. (2017). 50, 985-993)
GUI changes
autoplot now connects to frameviewer in multi-mode reconstructions to show which frames went into which mode. This is especially useful in initial 2D classification.
Added option to centro-symmetrize frame to fill in detector gaps. Of course, at high angles, patterns do not have inversion symmetry, but this makes things easier at small angles.
Version 1.1.1 (2019-01-02)
Changes
Made python code 2/3 and PyQt4/5 agnostic
Cleaned up python code using the help of pylint
Added cython bindings in pyemc/ folder
Added unit tests (pyemc/unit.py) and make test option to Makefile
Styled GUIs with CSS
Version 1.1.0 (2017-11-06)
Changes
Added classifier GUI which can be used to classify patterns manually and using a few different ML methods.
Can now support multiple detectors using the in_detector_list config option.
Significant overhaul of python codebase. All GUIs now using PyQt rather than TkInter.
Added Anaconda yml file to resolve additional dependencies.
EMC C code refactored. Added some abstraction (structs and additional files) for the benefit of extensibility. Also, code reusability significantly improved since C utilities share a lot of code with main EMC code.
Version 1.0.4 (2017-04-02)
New features
emc: Frame blacklisting can be combined with even_only and odd_only selection
compare: Fixed bug
make_data: Can generate data from a given quaternion file
Added config_amo86615.ini and mask_pnccd_back_260_257.byt to go with it
Added conversion utilities cheetatodet.py and psanatodet.py
Added py_utils readdet.py, reademc.py and slices.py
Emergency Bugfixes
emc now parses [parameters] section of config file
h5toemc.py now converts data when there are 1 or 2 frames in a 3D dataset
Version 1.0.3 (2017-01-31)
Changes
Unified h5toemc.py converter
Fixed output_folder bug in default config files
emc can do icosahedral symmetrization after every iteration if emc:::sym_icosahedral = 1 option is given
emc saves frame-by-frame likelihoods in addition to the mean recorded in the log file. make_data can also save likelihoods if the make_data:::out_likelihood_file option is given.
Better support for non-standard locations for the GSL library
Better support for the ewald_rad options while doing simulations
emc creates sub-folders in output_folder if they do not already exist
autoplot.py can be used to show a specific file using the -f command line option
Removed extra 1W8X pdb
Emergency Bugfix
Fixed size mismatch between make_data.c and make_intensities.py
Version 1.0.2 (2016-08-30)
Changes
Default way to use PDB is now with the PDB code instead of a file path. The program will fetch a PDB from rcsb.org.
frameviewer.py can now view just the bad frames if there is a blacklist file in the config
Warn users if oversampling ratio is greater than 12
Makefile now easy to fix for OSX
Added some spaces and newlines in utilities writing to recon.log
Warn users if oversampling ratio is greater than 12
frameviewer
Added support for parsing blacklist frame
emc
Removed size option. It is now calculated from qscale
Version 1.0.1 (2016-08-16)
Major Changes:
utils/compare: New utility added to compare two reconstructions. It rotates the second one to maximize the global CC with the first and then generates a CC vs radius text file
utils/frameviewer now shows assembled images (at least when the detector is in a single plane). Also fixed minor bug in error message
Minor Changes:
Added ls and ls .. commands in emc to avoid stupid issues on NFS servers i.e. at CFEL and at LCLS
Made quat.c independent so it can now be called by other executables.
h5toemc_spi now using updated EMC_writer class with one less argument
autoplot.py now reads output_folder and log_file from the config file. Non-config.ini config file can be passed as an argument. This means one can now support multiple independent reconstructions in the same folder (useful for doing half dataset reconstructions)
emc now takes new argument, selection, which can have two values, odd_only and even_only which use only half the frames