Version: | 0.1 |
---|---|
Author: | Christodoulos Psaltis (cpsaltis) |
Source: | https://github.com/cpsaltis/pythogram-core |
License: | MIT |
Keywords: | python, photogrammetry, artificial data, feature extraction, machine learning, classification |
Pythogram-core is a wrapper of several popular image processing and machine learning libraries. It provides a helpful command line tool to run complex workflows. It makes easy to integrate with other systems since it can communicate and execute tasks from JSON task files.
Pythogram-core requires python version > 2.6 and < 3.0. You'll need some basic libraries and tools depending on your OS.
In a Debian based distro you'll need to:
sudo aptitude install build-essential python-dev gfortran libatlas-base-dev python-virtualenv python-pip git
In MacOSX you'll need to install:
- XCode and its command line tools,
- git
- pip and virtualenv
- a packaging manager like Homebrew or MacPorts
Pip and virtualenv can be easily installed from the command line with:
sudo easy_install pip sudo pip install virtualenv
Assuming you're using Homebrew you'll need to:
brew install jpeg libtiff gfortran
Pythogram-core depends on:
- numpy and scipy for basic computations,
- pillow/PIL for image IO,
- scikit-image for feature extraction,
- and scikit-learn for machine learning
To setup all of the above in a virtualenv:
virtualenv pythogram-core cd pythogram-core ./bin/pip install numpy ./bin/pip install scipy ./bin/pip install cython ./bin/pip install pillow scikit-image scikit-learn ./bin/pip install -e git+http://github.com/cpsaltis/pythogram-core.git#egg=pythogram-core
Note that the order of installation steps is important. Scipy 0.10.1 doesn't work with numpy 1.6.2, but 0.10.0 does, see README.txt in http://sourceforge.net/projects/scipy/files/scipy/0.10.1/. In scipy 0.11.0 this issue has been resolved.
Optionally iPython can be very helpful in prototyping:
./bin/pip install ipython
If you plan to contribute to Pythogram you'll also need:
./bin/pip install pep8 sphinx pylint nose coverage
0.1 (2012-12-02) [cpsaltis]
This is the initial version of pythogram-core. It supports:
- I/O of images and arrays,
- generation of artificial tiled and syntethic images,
- generation of artificial DTMs and DSMs,
- basic arithmetic operations on arrays,
- NDVI calculation,
- skimage rotate and resize
- command line script, called gram, parsing an input JSON to execute complex workflows