This is a collection of Python modules which contain tools that are helpful for a dynamicist. Right now it is basically a place I place general tools that don't necessarily need a distribution of their own.
- bicycle
- Generic tools for basic bicycle dynamics analysis.
- inertia
- Various functions for calculating and manipulating inertial quantities.
- process
- Various tools for common signal processing tasks.
You will need Python 2.7 or 3.3+ and setuptools to install the packages. Its best to install the dependencies first (NumPy, SciPy, matplotlib, Pandas). The SciPy Stack instructions are helpful for this: http://www.scipy.org/stackspec.html.
We recommend installing with conda so that dependency installation is not an issue:
$ conda install -c moorepants dynamicisttoolkit
You can install using pip. Pip will theoretically [1] get the dependencies for you (or at least check if you have them):
$ pip install DynamicistToolKit
Or download the source with your preferred method and install manually.
Using Git:
$ git clone git@github.com:moorepants/DynamicistToolKit.git $ cd DynamicistToolKit
Or wget:
$ wget https://github.com/moorepants/DynamicistToolKit/archive/master.zip $ unzip master.zip $ cd DynamicistToolKit-master
Then for basic installation:
$ python setup.py install
Or install for development purposes:
$ python setup.py develop
[1] | You will need all build dependencies and also note that matplotlib doesn't play nice with pip. |
Run the tests with nose:
$ nosetests
A vagrant file and provisioning script are included to test the code on an Ubuntu 13.10 box. To load the box and run the tests simply type:
$ vagrant up
See bootstrap.sh
and VagrantFile
to see what's going on.
The documentation is hosted at ReadTheDocs:
http://dynamicisttoolkit.readthedocs.org
You can build the documentation (currently sparse) if you have Sphinx and numpydoc:
$ cd docs $ make html $ firefox _build/html/index.html
- Import nanmean from numpy instead of scipy and fix float slices. [PR #34]
- bicycle.py functions now output numpy arrays instead of matrices.
- Support for Python 3 [PR #30 and #32].
- Made the numerical derivative function more robust and featureful. [PR #27]
butterworth
now uses a corrected cutoff frequency to adjust for the double filtering. [PR #28]
- Fixed bug in coefficient_of_determination. [PR #23]
- Fixed bug in normalized cutoff frequency calculation. [PR #21]
- Fixed bug in butterworth function and added tests.
- Fixed butterworth to work with SciPy 0.9.0. [PR #18]
- Removed pandas dependency.
- Improved time vector function.
- Removed gait analysis code (walk.py), now at http://github.com/csu-hmc/Gait-Analysis-Toolkit.
- TravisCI tests now run, added image to readme.
- Added documentation at ReadTheDocs.
- Addition of walking dynamics module.
- Original code base that was used for the computations in this dissertation: https://github.com/moorepants/dissertation