Giter Club home page Giter Club logo

dragonfly's People

Contributors

duaneloh avatar kartikayyer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

dragonfly's Issues

Version 1.2.0

Changelog

Package changes:

  • Compilation now using CMake
  • 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.

autoplot

Hi, I followed the instructions from the quick start guide and did the following:

./dragonfly_init 
cd recon_0004
./utils/sim_setup.py
./utils/run_emc.py
./utils/autoplot.py

A GUI popped up but it didn’t seem to work.
Screen Shot 2021-03-16 at 12 12 11 PM

And from the CLI, it said unable to open data.

(ana-4.0.17-py3) [psanagpu106:recon_0004]$ ./utils/autoplot.py     
Unable to open data//output/intens_001.bin
Unable to open data//output/intens_001.bin

Not sure if I've missed anything.
Any advice would be appreciated!

Version 1.1.0

Changelog

  • 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.

Memory corruption with multiple detectors

recon_emc.c:93
struct detector *orig_det = calloc(1, sizeof(struct detector)) ;
copy_detector(det, orig_det) ;

orig_det have allocated memory for one detector but orig_det[0].num_det contain actual number of detectors.

It cause memory corruption here:

recon_emc.c:137
free_detector(orig_det) ;

Version 1.3.0

Changelog

Python package introduced (beta)

  • Code in dragonfly/ sub-directory. Can be installed with pip install.
  • Cython code with some C functions
  • Provides python package to access and manipulate detector and .emc files
  • pyemc console script can perform MPI+OpenMP reconstruction with same interface as conventional emc executable (mpi4py required)

EMC code changes

  • Fixed compilation issue for new compilers (clarified declarations)
  • Fixed multiple background file parsing
  • Added weighted symmetrization
  • Added n-fold axial symmetrization option (axial_sym = n in config file)
  • Fixed bugs related to combining probabilities across MPI and OpenMP processes
  • Changed beta_factor behavior. Instead of always defining the factor, the factor at iteration n will be beta_factor * pow(beta_jump, (n-1) // beta_period)

Miscellaneous

  • Log file in reconstruction directory in logs/ sub-directory by default
  • Intensity comparison script exposed (utils/compare) to align and calculate correlation coefficients between two intensity reconstructions.

Interface changes

  • Added ability to open different config file without restarting Progrss Viewer GUI (autoplot)
  • Added ability to change slices visualized by autoplot when looking at a 3D reconstruction
  • Added analysis tools for 2D classification: CLPCA (described here) and 2D phase retrieval
  • Autoplot settings saved locally for each config file upon exit
  • Frame Viewer GUI can be run without config file (with -d and -e options)

Version 1.1.1

  • 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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.