Code Monkey home page Code Monkey logo

bcdi-assemble's Introduction

This is a utility library which enables the assembly of Bragg Coherent Diffraction Imaging (BCDI) frames of unknown orientations, such as collected via spontaneous rocking curves. The library is based on a Python module bcdiass which provides the basic operators of the algorithm as well as utilities for both simulation of experimental data and assembly of the same.

Dependencies

The core assembly library depends on standard python components such as numpy, scipy, matplotlib, scikit-image. In addition, simulating datasets from geometrical model particles currently depends on the 3dBPP branch of ptypy (registration needed) as well as the NanoMAX beamline utitility library.

Installation

The library installed with setuptools, for example like

cd bcdi-assembly
python setup.py --user

Usage

Assembly procedures are easily scripted with the utilities provided. Examples are provided in the examples folder, and a minimal example might look as follows.

import numpy as np
from bcdiass.utils import *

# input and parameters
data = np.load('data.npz')['frames']
Nj, Nl = 25, 25

# initial model
envelope = generate_envelope(Nj, data.shape[-1], support=.2)
W = generate_initial(data, Nj)

# assembly loop
for i in range(100):
    W, Pjlk, timing = M(W, data, Nl=Nl, beta=1e-4)
    W, error = C(W, envelope)

bcdi-assemble's People

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

chhy0426

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.