Giter Site home page Giter Site logo

dragonfly's Introduction

Quick start

Download the Dragonfly package

If you are on the github.io page, you may download the zipped tarball of this package by clicking on link near the top right of this page. Alternatively, you can download or git clone this package from the Dragonfly github repository.

Spawn a reconstruction directory

Type in the topmost directory: ./init_new_recon.py. This makes the binaries needed for the package and links them into a new reconstruction directory named "recon_nnnn". For help on customizing this setup script (e.g. custom folder name or counter): ./init_new_recon.py -h.

Configure experiment

Go to your newly created recon directory cd recon_nnnn. Change the experiment parameters in config.ini to your liking. Here are some things that you might like to change:

  • in_pdb_file: relative path to your own PDB file
  • scattering setup (detector distance, photon wavelength, etc)
    • parameter unit:
      • detd (detector distance): millimeter
      • lambda (photon wavelength): Angstrom
      • detsize (linear size of detector): pixels in integer
      • pixsize: millimeter
      • stoprad (radius of beamstop): pixels in float
  • num_data: the number of diffraction patterns
  • fluence: the incident beam intensity in photons per micron squared
  • log_file: name of log file

When ready to start creating synthetic data, type: ./sim_setup.py. Again, you can get help to customize this using the command: ./sim_setup.py -h.

Start your EMC reconstruction

You can use the convenience script run_emc.py that we provided to start the reconstruction: Typing ./run_emc.py, will start the reconstruction with the default of 10 iterations. You can continue to refine the last reconstruction by typing ./run_emc.py -r, or if you wanted to increase the quaternion sampling by one, ./run_emc.py -R.

If you have enough processors to do an MPI reconstruction: ./run_emc.py -m <number of MPI processes>. For more information, type: ./run_emc.py -h.

Or you can start a single process reconstruction in the recon directory with more control way: ./emc <num_iterations> <path to config file> [threads per process], where <necessary arguments> and [optional arguments]. The default number of threads per process is defined by the system parameter OMP_NUM_THREADS. By default, the intermediate output of the reconstruction is stored in the recon directory's data subdirectory.

To spawn multiple MPI reconstructions from your recon directory: mpirun -n <num_mpi_processes> ./emc <num_iterations> <path to config file> [threads per process]. By default, images from the reconstruction that are generated by this script are saved to the data/images subdirectory.

Monitor the progress of your reconstruction

In the recon directory type: ./autoplot.py. Checking the "keep checking" box will automagically look for new reconstructed 3D volumes in the default data directories.

Additional information

For a more verbose, and maybe informative, view of the underlying setup and reconstruction processes, look at the log files recon.log and EMC.log files respectively.

dragonfly's People

Contributors

duaneloh avatar kartikayyer avatar

Watchers

 avatar  avatar

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.