Giter VIP home page Giter VIP logo

arpes's Introduction

Documentation
Documentation

test_status coverage docs_status conda pypi

PyARPES

docs/source/_static/video/intro-video.gif


PyARPES simplifies the analysis and collection of angle-resolved photoemission spectroscopy (ARPES) and emphasizes

  • modern, best practices for data science
  • support for a standard library of ARPES analysis tools mirroring those available in Igor Pro
  • interactive and extensible analysis tools

It supports a variety of data formats from synchrotron and laser-ARPES sources including ARPES at the Advanced Light Source (ALS), the data produced by Scienta Omicron GmbH's "SES Wrapper", data and experiment files from Igor Pro, NeXuS files, and others.

To learn more about installing and using PyARPES in your analysis or data collection application, visit the documentation site.

PyARPES is currently developed by Conrad Stansbury of the Lanzara Group at the University of California, Berkeley.

Citing PyARPES

If you use PyARPES in your work, please support the development of scientific software by acknowledging its usefulness to you with a citation. The simplest way to do this is to cite the paper describing the package in SoftwareX

@article{
stansburypyarpes, title = {PyARPES: An analysis framework for multimodal angle-resolved photoemission spectroscopies}, journal = {SoftwareX}, volume = {11}, pages = {100472}, year = {2020}, issn = {2352-7110}, doi = {https://doi.org/10.1016/j.softx.2020.100472}, url = {https://www.sciencedirect.com/science/article/pii/S2352711019301633}, author = {Conrad Stansbury and Alessandra Lanzara}, keywords = {ARPES, NanoARPES, Pump-probe ARPES, Photoemission, Python, Qt, Jupyter}, abstract = {},

}

Installation

PyARPES can be installed from source, or using either pip or conda into a Python 3.6 or 3.7 environment. conda is preferred as a package manager in order to facilitate installing the libraries for reading HDF and NetCDF files.

Pip installation

pip install arpes

Conda installation

PyARPES is distributed through the arpes Anaconda channel, but includes dependencies through conda-forge. Please make sure not to put conda-forge above the main channel priority, as this can cause issues with installing BLAS. A minimal install looks like

conda config --append channels conda-forge
conda install -c arpes -c conda-forge arpes

Local installation from source

If you want to modify the source for PyARPES as you use it, you might prefer a local installation from source. Details can be found on the documentation site.

Suggested steps

  1. Clone or duplicate the folder structure in the repository arpes-analysis-scaffold, skipping the example folder and data if you like
  2. Install and configure standard tools like Jupyter or Jupyter Lab. Notes on installing and configuring Jupyter based installations can be found in jupyter.md
  3. Explore the documentation and example notebooks at the documentation site.

Contact

Questions, difficulties, and suggestions can be directed to Conrad Stansbury ([email protected]) or added to the repository as an issue. In the case of trouble, also check the FAQ.

Copyright © 2018-2019 by Conrad Stansbury, all rights reserved.

arpes's People

Contributors

arafune avatar cgfatuzzo avatar chstan avatar danbott avatar kcurrier6 avatar ndale93 avatar readthedocs-assistant avatar sixthfingers avatar tommaso-pincelli avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

arpes's Issues

function not responding for smoothing

i am having a hard time with the smoothing function i get the following error, i did import the arpres.analysis package :
gaussian_filter_arr(data_mean, sigma={'phi':0.04}).S.plot()

---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-14-aab952d9ca1c> in <module>
     38 # data.S.fermi_surface.show()
     39 # spect.transpose('kp','eV').arpes.plotting.dispersion.cut_dispersion_plot()
---> 40 gaussian_filter_arr(data_mean, sigma={'phi':0.04}).S.plot()

NameError: name 'gaussian_filter_arr' is not defined

thank you for your help

Import error in BZ plotting example

I was trying to replicate the example you posted in the BZ plotting section of your docs (https://arpes.readthedocs.io/en/latest/brillouin-zones.html). I installed the package through conda and installed ase through conda as well. When I try to run

from arpes.plotting.bz import bz_plot, plot_data_to_bz
from arpes.utilities.bz import hex_cell_2d
import matplotlib.pyplot as plt
fig, ax = plt.subplots(1)
bz_plot(cell=hex_cell_2d(a=1), paths='GK', linewidth=2, repeat=(2,2), ax=ax)

I get the following error:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_18880/827038396.py in <module>
      1 fig, ax = plt.subplots(1)
----> 2 bz_plot(cell=hex_cell_2d(a=1), paths='GK', linewidth=2, repeat=(2,2), ax=ax)

~\anaconda3\envs\ARPES\lib\site-packages\arpes\plotting\bz.py in bz_plot(cell, *args, **kwargs)
    266         return bz3d_plot(cell, *args, **kwargs)
    267 
--> 268     return bz2d_plot(cell, *args, **kwargs)
    269 
    270 

~\anaconda3\envs\ARPES\lib\site-packages\arpes\plotting\bz.py in bz2d_plot(cell, vectors, paths, points, repeat, ax, transformations, offset, hide_ax, set_equal_aspect, **kwargs)
    605 
    606     if isinstance(paths, str):
--> 607         from ase.dft.kpoints import (
    608             get_special_points,
    609             special_paths,

ImportError: cannot import name 'crystal_structure_from_cell' from 'ase.dft.kpoints'

Any help would be much appreciated! And thanks for creating what appears to be such an awesome package.

KeyError

Hi, thank you for sharing your project, I'm a PhD student who manipulate ARPES data (nxs files).
I want to use your library but I faced some problems. I have downloaded the whole arpes repository using git but it was not possible for me to run the lines used in this video https://www.youtube.com/watch?v=Gd0qJuInzvE
I'm getting key errors and I have reamrked some missed modules as load_scan.py which supposed to be in the endstations folder.

Hope I get some help from your side.

[email protected]

Few files are missing

Hello,
I was trying to install PyARPES but unfortunately, after some trials, I found that files such as 'add_endstation', 'load_scan', etc. are missing. Perhaps, there are some things which I have to do instead of those files. Could you please guide me through it?

broadcast_model concatenation error

The following error arose when I run this code

phis = broadcast_model(
# Fit with two components, a linear background, and a Lorentzian peak
[AffineBackgroundModel, LorentzianModel],
# fit across the entire near_ef dataset
near_ef,
# fit along each value of "temperature"
"temperature"
)

TypeError: can only concatenate tuple (not "list") to tuple

qt_ktool could use variable energy slicing

For datasets with more easily discerned features at deeper binding E, it would be nice if ktool had as a parameter the energy that it integrates about and plots for the manual alignment process.

show_band_tool() error

Here is the error message of "example_data.cut.S.show_band_tool()"

ERROR:tornado.application:Uncaught exception GET /autoload.js?bokeh-autoload-element=1001&bokeh-absolute-url=http://localhost:55876&resources=none (::1)
HTTPServerRequest(protocol='http', host='localhost:55876', method='GET', uri='/autoload.js?bokeh-autoload-element=1001&bokeh-absolute-url=http://localhost:55876&resources=none', version='HTTP/1.1', remote_ip='::1')
Traceback (most recent call last):
File "/Users/arafune/anaconda/envs/arpes/lib/python3.8/site-packages/tornado/web.py", line 1704, in _execute
result = await result
File "/Users/arafune/anaconda/envs/arpes/lib/python3.8/site-packages/bokeh/server/views/autoload_js_handler.py", line 62, in get
session = await self.get_session()
File "/Users/arafune/anaconda/envs/arpes/lib/python3.8/site-packages/bokeh/server/views/session_handler.py", line 144, in get_session
session = await self.application_context.create_session_if_needed(session_id, self.request, token)
File "/Users/arafune/anaconda/envs/arpes/lib/python3.8/site-packages/bokeh/server/contexts.py", line 243, in create_session_if_needed
self._application.initialize_document(doc)
File "/Users/arafune/anaconda/envs/arpes/lib/python3.8/site-packages/bokeh/application/application.py", line 194, in initialize_document
h.modify_document(doc)
File "/Users/arafune/anaconda/envs/arpes/lib/python3.8/site-packages/bokeh/application/handlers/function.py", line 143, in modify_document
self._func(doc)
File "/Users/arafune/src/arpes/arpes/plotting/band_tool.py", line 330, in tool_handler
self.center_float_widget.on_change(set_center_float_value)
File "/Users/arafune/anaconda/envs/arpes/lib/python3.8/site-packages/bokeh/model/model.py", line 434, in on_change
descriptor = self.lookup(attr)
File "/Users/arafune/anaconda/envs/arpes/lib/python3.8/site-packages/bokeh/core/has_props.py", line 466, in lookup
attr = getattr(cls, name, None)
TypeError: getattr(): attribute name must be string
ERROR:tornado.application:Uncaught exception GET /autoload.js?bokeh-autoload-element=1001&bokeh-absolute-url=http://localhost:55876&resources=none (::1)
HTTPServerRequest(protocol='http', host='localhost:55876', method='GET', uri='/autoload.js?bokeh-autoload-element=1001&bokeh-absolute-url=http://localhost:55876&resources=none', version='HTTP/1.1', remote_ip='::1')
Traceback (most recent call last):
File "/Users/arafune/anaconda/envs/arpes/lib/python3.8/site-packages/tornado/web.py", line 1704, in _execute
result = await result
File "/Users/arafune/anaconda/envs/arpes/lib/python3.8/site-packages/bokeh/server/views/autoload_js_handler.py", line 62, in get
session = await self.get_session()
File "/Users/arafune/anaconda/envs/arpes/lib/python3.8/site-packages/bokeh/server/views/session_handler.py", line 144, in get_session
session = await self.application_context.create_session_if_needed(session_id, self.request, token)
File "/Users/arafune/anaconda/envs/arpes/lib/python3.8/site-packages/bokeh/server/contexts.py", line 243, in create_session_if_needed
self._application.initialize_document(doc)
File "/Users/arafune/anaconda/envs/arpes/lib/python3.8/site-packages/bokeh/application/application.py", line 194, in initialize_document
h.modify_document(doc)
File "/Users/arafune/anaconda/envs/arpes/lib/python3.8/site-packages/bokeh/application/handlers/function.py", line 143, in modify_document
self._func(doc)
File "/Users/arafune/src/arpes/arpes/plotting/band_tool.py", line 330, in tool_handler
self.center_float_widget.on_change(set_center_float_value)
File "/Users/arafune/anaconda/envs/arpes/lib/python3.8/site-packages/bokeh/model/model.py", line 434, in on_change
descriptor = self.lookup(attr)
File "/Users/arafune/anaconda/envs/arpes/lib/python3.8/site-packages/bokeh/core/has_props.py", line 466, in lookup
attr = getattr(cls, name, None)
TypeError: getattr(): attribute name must be string
ERROR:tornado.access:500 GET /autoload.js?bokeh-autoload-element=1001&bokeh-absolute-url=http://localhost:55876&resources=none (::1) 32.24ms
ERROR:tornado.access:500 GET /autoload.js?bokeh-autoload-element=1001&bokeh-absolute-url=http://localhost:55876&resources=none (::1) 32.24ms

Igor package installation fail?

Hello

I am migrating to pyarpes v3 and when reinstalling packages i get an error on igor package as below. is it due to my python version?, i use anaconda with python 3.8.

Thanks


(env_arpes) PS C:\Users\xxxxxh\arpes> pip install https://github.com/chstan/igorpy/tarball/712a4c4#egg=igor-0.3.1
Collecting igor-0.3.1
  Using cached https://github.com/chstan/igorpy/tarball/712a4c4
  WARNING: Generating metadata for package igor-0.3.1 produced metadata for project name igor. Fix your #egg=igor-0.3.1 fragments.
WARNING: Discarding https://github.com/chstan/igorpy/tarball/712a4c4#egg=igor-0.3.1. Requested igor from https://github.com/chstan/igorpy/tarball/712a4c4#egg=igor-0.3.1 has inconsistent name: filename has 'igor-0-3-1', but metadata has 'igor'
ERROR: Could not find a version that satisfies the requirement igor-0-3-1 (unavailable) (from versions: none)
ERROR: No matching distribution found for igor-0-3-1 (unavailable)

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.