Giter Club home page Giter Club logo

gixdsolver's Introduction

GIWAX Indexing

Based solely on peak posistions:

  • find good-fit sets of lattice parameters
  • index the diffraction peaks

Synopsis

The raw data should be a matlab *.fig file which can be parsed directly with scipy.io. After the experimental peak positions are identified, a simulated annealing process is used to find the good-fit solutions. Notice the solution space may be further reduced based on unit cell transformation (thanks to Dr. Sean Parkin).

The theoretical positions calculation is a python translation of DPC Toolkit developed by Anna Hailey from Lynn Loo's group.

The simulated annealing part is an implementation of Matthew Perry's simanneal project.

Required Packages

scipy

numpy

cv2

scikit-image

Usage

The peak finding parameters are set in __init__ of Mathcer.py. Always make a peak finding plot by:

python PeakPlt.py

to make sure these parameters are resonable.

The updating parameters are set as global vars in GIXDSimAnneal.py. To find a plasusible set of annealing parameters, uncomment the folloing section in gindex_anneal.py.

# # auto find anneal param
# print (tsp.auto(minutes=50))

After setting up all annealing parameters, one can do the annealing by:

python gindex_anneal.py

and the solution will be written to anneal.out. Use dlx3anneal.js as job submission file if you are on dlx.

Once you have some solutions written in anneal.out, run

python solred.py anneal.out

to find the unique solutons.

Known Issues

  1. When the crystallography plane // to substrate is set to (00L), the diffraction pattern does not change even after a cell transformation involving changes in c axis. Same thing happened when using Anna's code. Not sure this is physical
  2. The algo for reducing solution space can be further optimized.

gixdsolver's People

Contributors

qai222 avatar

Watchers

 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.