Installation

It is recommended to use the latest stable version for each of the dependencies. Package manager software is sometimes behind, so for some dependencies you may have to download and install a more recent version. Many systems come with a development tools package which should be installed. Most of the requirements below requires a c and c++ compiler, and some require a fortran compiler.

Dependencies

Pegasus and HTCondor are only required if you wish to use the super computer workflow generation functionality. Additionally, many super computing environments may already have Pegasus, HTCondor, and other dependencies installed. There are resources available for quickly installing the SciPy Stack, which includes the NumPy, SciPy, Pandas, and Matplotlib. The installation tutorials for Mac OSX, and Windows specifically leave out Pegasus and HTCondor, as they are expected to be machines for local testing, not for submitting grid jobs. Finally, Image Harvest can be installed by downloading a zip file from the repo (link), and running ‘python setup.py install’.

Centos 6.5

It is highly recommended that you use anaconda (or another python package manager such as pip) to install the python packages. The installation process becomes much simpler and faster.

With Anaconda

# Update
sudo yum -y update

# Set up condor repo
cd /etc/yum.repos.d
sudo wget http://research.cs.wisc.edu/htcondor/yum/repo.d/htcondor-stable-rhel6.repo
sudo wget http://research.cs.wisc.edu/htcondor/yum/RPM-GPG-KEY-HTCondor
sudo rpm --import RPM-GPG-KEY-HTCondor

# Install packages
sudo yum -y install java-1.8.0-* perl condor.x86_64

# Download Pegasus
wget -O pegasus.tar.gz http://download.pegasus.isi.edu/pegasus/4.4.0/pegasus-worker-4.4.0-x86_64_rhel_6.tar.gz
tar -zxvf pegasus.tar.gz

# Download and install anaconda
wget -O anaconda.sh http://09c8d0b2229f813c1b93-c95ac804525aac4b6dba79b00b39d1d3.r79.cf1.rackcdn.com/Anaconda-2.1.0-Linux-x86_64.sh
bash anaconda.sh -b

# Install *almost* everything in one line
conda install numpy scipy pandas matplotlib opencv

# Download PyMeanShift and install, assuming directory is 'pymeanshift'
cd pymeanshift
sudo python setup.py install

# Install Image Harvest, assuming directory is 'ih.git'
cd ih.git
sudo python setup.py install

# Make sure to move the pegasus python files into the anaconda package folder
# Update the following command as necessary
cp -r pegasus-4.4.0/lib64/python2.6/site-packages/Pegasus ~/anaconda/lib/python2.7/site-packages/
# and to update your bash profile to include the pegasus commands,
# or cp the pegasus commands to /usr/bin or /usr/local/bin
cp pegasus-4.4.0/bin/* /usr/bin/

Ubuntu 12.04

It is highly recommended that you use anaconda (or another python package manager such as pip) to install the python packages. The installation process becomes much simpler and faster.

With Anaconda

# Update
sudo apt-get -y update

# Install build-essential
sudo apt-get -y install build-essential

# Setup condor repository
sudo bash -c 'echo "deb http://research.cs.wisc.edu/htcondor/debian/stable/ wheezy contrib" >> /etc/apt/sources.list'
wget -qO - http://research.cs.wisc.edu/htcondor/debian/HTCondor-Release.gpg.key | sudo apt-key add -
sudo apt-get -y update
sudo apt-get install condor

# Install dependencies
sudo apt-get -y install software-properties-common python-software-properties perl
sudo add-apt-repository -y ppa:webupd8team/java
sudo apt-get update
sudo apt-get -y install oracle-java8-installer
# A license agrement will pop up here...


# Download pegasus
wget http://download.pegasus.isi.edu/pegasus/4.4.0/pegasus_4.4.0-1+deb7_amd64.deb
tar -zxvf pegasus.tar.gz

# Download and install anaconda
wget -O anaconda.sh http://09c8d0b2229f813c1b93-c95ac804525aac4b6dba79b00b39d1d3.r79.cf1.rackcdn.com/Anaconda-2.1.0-Linux-x86_64.sh
bash anaconda.sh -b

# Install *almost* everything in one line
conda install numpy scipy pandas matplotlib opencv

# Download PyMeanShift and install, assuming directory is 'pymeanshift'
cd pymeanshift
sudo python setup.py install

# Install Image Harvest, assuming directory is 'ih.git'
cd ih.git
sudo python setup.py install

# Make sure to move the pegasus python files into the anaconda package folder
# Update the following command as necessary
cp -r pegasus-4.4.0/lib64/python2.6/site-packages/Pegasus ~/anaconda/lib/python2.7/site-packages/
# and to update your bash profile to include the pegasus commands,
# or cp the pegasus commands to /usr/bin or /usr/local/bin
cp pegasus-4.4.0/bin/* /usr/bin/

Mac OSX

Installation for local testing is a breeze with brew. Installing brew simply requires copying a line into a terminal. The only two packages you need to manual download will be PyMeanShift and Image Harvest. You will have to install XCode, and the XCode Command Line Tools if you have not already. It’s a free download from the App Store. After you have downloaded the packages and installed brew, run the following:

# Install *almost* everything in one line
brew tap homebrew/science
brew tap homebrew/python
brew update && brew upgrade
brew install numpy scipy matplotlib pandaseq opencv
# You need to make sure your PYTHONPATH
# points to the installed packages.
# We point to the brew installed packages first,
# to make sure there are no conflicts with system python.
export PYTHONPATH=`brew --prefix`/lib/python2.7/site-packages/:$PYTHONPATH

# Download PyMeanShift and install, assuming directory is 'pymeanshift'
cd pymeanshift
sudo python setup.py install

# Download Image Harvest and install, assuming directory is 'ih.git'
cd ih.git
sudo python setup.py install

# That's it!

Windows

Windows requires a little more work, and in fact, windows doesn’t even come with python. Installing requires adjusting some system settings as well. You will need to manually install several packages before pip can put in work. First, install python2.7. Next, you have to add python to your PATH environment variable.

  • Windows 7: Right click on Computer > Properties > Advanced system settings > Advanced Tab > Enviornment Variables
  • Windows 8: Control Panel > System > Advanced system settings > Advanced Tab > Environment Variables

You should see two boxes. One that says “User variables for <user>”, and the other that says “System variables”. Scroll through the “System variables” box until you find the ‘Path’ variable. It should look like lots of paths separated by semicolons. Edit Path, and add two new paths, ‘C:\Python2.7\’ and ‘C:\Python2.7\Scripts\’. Make sure to keep each path separated by a semicolon. Next, you need to install a c++ compiler – simply download the installer and run it. Finally, download and install pip. There should simply be a giant script you copy to a local file, and execute with python.

Now, you can install all the dependent python packages by finding the correct version for your os, and downloading them from this link. You will need the same list as above that is, numpy, scipy, pandas, matplotlib, and opencv.

# For each downloaded wheel file, you will
# need to run the following from a command prompt
pip install name.whl
# Then, download pymeanshift and install, run installer.
# Then, download Image Harvest and install, assuming directory is 'ih.git'
cd ih.git
python setup.py install

One final note, when loading images, python expects forward slashes not back slashes, and does not expect the C: for absolute paths. If you have an image called “test.jpg” in your downloads folder, the correct path for python is “/Users/username/Downloads/test.jpg”.