Git Product home page Git Product logo

autocorr's Introduction

scikit-beam

Build Status codecov.io Join the chat at https://gitter.im/scikit-beam/scikit-beam

Documentation

Examples

scikit-beam-examples repository

Quick start

install with conda

conda install scikit-beam -c nsls2forge

install development version with setuptools

git clone [email protected]:scikit-beam/scikit-beam.git
cd scikit-beam
python setup.py install

set up for development

git clone [email protected]:scikit-beam/scikit-beam.git
cd scikit-beam
python setup.py develop
pip install pytest coverage setuptools

make sure all the tests pass!

python run_tests.py

and you can check the code coverage with

coverage run run_tests.py
coverage report -m

autocorr's People

Contributors

aryabhatt avatar danielballan avatar tacaswell avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

autocorr's Issues

Merge in existing implementations of the correlations.

We plan to merge in all the existing implementations we can find that are accessible from Python. A requirement for merging a new implementation is that it be installable on our CI service and pass a nominal test. A very minimal smoke test is fine, to start, just something to show that the code runs,

These include variants of 1-time and 2-time (and higher-order if they exist.)

We are open to adding any others that we don't currently know about.

FFTW should be a dependency

I think after #7 for pip install to work we need the presence of FFTW. We'll need a mechanism to detect FFTW headers at build time (similar to how pybind11 is handled). For conda recipe it's easy (just set fftw to be a build dependency), but I'm not sure how to cleanly resolve this for PyPI packaging...

NEP-18 not working

I am testing the compatibility with CuPy and I notice this error:

import cupy as cp
import numpy as np
import autocorr


N = 10240
np.random.seed(0)
t = np.arange(N)
A = np.exp(-0.05 * t)[:, np.newaxis] + np.random.rand(N, 24) * 0.1

A_cp = cp.asarray(A)
g1, tau = autocorr.multitau(A_cp.T, 16)
Traceback (most recent call last):
  File "test_autocorr_cupy.py", line 13, in <module>
    g1, tau = autocorr.multitau(A_cp.T, 16)
  File "/home/leofang/autocorr/autocorr/multitau.py", line 57, in multitau
    g2[:, i] = np.mean(a[:, :N - i] * a[:, i:], axis=1) / t1 / t2
ValueError: object __array__ method not producing an array

The reasons is that internally multitau allocates two arrays g2 and tau using NumPy API, which is not (yet) smart enough to dispatch to CuPy.

I tried to refresh my memory on NEP-18, but I don't think this issue was addressed there. Looks like to accommodate different NEP-18 compliant arrays, we need to detect the array source and call the corresponding array-creation API?

if isinstance(input, numpy.ndarray):
    g2 = numpy.empty(...)
elif isinstance(input, cupy.ndarray):
    g2 = cupy.empty(...)
elif  # dask? sparse?

I may have missed something obvious, though.

XPCS Ontology

The .zip file contains:

  1. XPCS ontology (.doc)
  2. Sample result file based on the ontology (.hdf)

The .hdf file can be viewed in any standard hdf viewer and can be read out item-by-item using the h5py package in python.

Ontology_and_Sample_Result.zip

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.