-
Notifications
You must be signed in to change notification settings - Fork 12
Home
Welcome to the spinmob wiki!
Spinmob is designed as a high-level, concise, and easy-to-navigate library for acquiring, saving, loading, visualizing, and analyzing ascii data files. For example, the following nonlinear fit:
is produced with the following commands:
f = spinmob.data.fitter()
f.set_functions('a*x*cos(b*x)+c', 'a=-0.2, b, c=3')
f.set_data([1, 2, 3, 4, 5], [1.7, 2, 3, 4, 3], 0.115)
f.fit()
The code's documentation can be accessed inline, for example by using -i in Spyder:
As with all python goodness, spinmob is free and cross-platform. Check out the "chapters" on the right-hand side of this page to get a feel for what it can do (and learn a bit about python itself if you're new).
1. Install Anaconda Python or Miniconda
Anaconda Python comes with a lot of packages. Miniconda comes with the bare bones, allowing you select only those packages you want.
Spinmob requires python 2.7 or higher, and the following packages:
- Scipy & Numpy for numerical calculations.
- Matplotlib for publication-quality figures.
- PyQtGraph for easy graphical development and fast plotting.
Most of these are already installed with Anaconda Python, and everything can be installed using the conda
command. Open the "Terminal" on Linux/OSX, and "cmd.exe" on Windows, and run the following commands:
conda install numpy scipy matplotlib pyqtgraph spyder
pip install spinmob
It is also possible to upgrade Spinmob with pip:
pip install spinmob --upgrade --no-cache-dir
or, if you're Thomas, you can try
python -m pip install --upgrade --no-cache-dir
If you have a working python installation and just want to install Spinmob (and its dependencies), you can do so with "pip" from your system's command line ("Terminal" in OSX/Linux, "cmd.exe" in Windows):
pip install numpy scipy matplotlib pyqtgraph spyder spinmob
I do not recommend this approach, as system python installs are finicky and often your system relies on them in weird ways.
If pip doesn't work for some reason, this is a sure-fire method: Create a "spinmob" folder in python's site-packages directory and either clone the spinmob repository there or download / unzip. We highly recommend using a git client as described on the contributing page.