Commit 26f80bd4 authored by aknecht2's avatar aknecht2

Documentation update -- added publications.

parent c5c28ee8
...@@ -51,17 +51,9 @@ This script shows how to get started with ih. Let's talk about it block by bloc ...@@ -51,17 +51,9 @@ This script shows how to get started with ih. Let's talk about it block by bloc
import ih.imgproc import ih.imgproc
plant = ih.imgproc.Image("/path/to/your/image") plant = ih.imgproc.Image("/path/to/your/image")
These two lines setup your image. The first line imports a module, which is simply These two lines setup your image. The first line imports the ih imgproc module, this module contains
a grouping of related in code. In this case, we import the 'imgproc' module, which all of ih's image processing functionality. The second line creates an Image object named 'plant'.
is a grouping of functions related to image processing. This module contains The plant object now has properties that define it, and methods we can perform on it. The rest of the script
all of ih's image processing functionality, and as a result, is the code we want to import
to process images. The second line creates an Image object named 'plant'.
Object Oriented Programming (OOP) can be a hard concept to understand at first.
In a simplistic form, objects are like nouns, and the methods we perform on the objects
are like verbs. Our Image object has certain properties that make it that type of object,
just like plants have properties that define them. This line accomplishes translating
the actual image into a form understandable by the code. The 'plant' object now has
properties that define it, and actions (methods) we can perform on it. The rest of the script
deals specifically with the methods we can perform on our image objects. deals specifically with the methods we can perform on our image objects.
.. code-block:: python .. code-block:: python
......
Welcome to Image Harvest documentation! Welcome to Image Harvest documentation!
============================================================== ==============================================================
Link to GitHub: `ih <https://git.unl.edu/aknecht2/ih/>`_ `GitHub <https://git.unl.edu/aknecht2/ih/>`_
`Sample Images <http://cropstressgenomics.org/data/subset.tar.gz>`_
To obtain access to a larger set of rice images (RGB, FLUO, NIR, IR), please contact PI: H. Walia
* Publications:
* Campbell MT, Knecht AC, Berger B, Brien CJ, Wang D, Walia H. Integrating Image-Based Phenomics and Association Analysis to Dissect the Genetic Architecture of Temporal Salinity Responses in Rice. 2015, Plant Physiology. `Link <http://www.plantphysiol.org/content/early/2015/06/25/pp.15.00450.short>`_.
* Knecht AC, Campbell MT, Caprez A, Swanson DR, Walia H. Image Harvest: An open source platform for high-throughput plant image processing and analysis. 2016, JXB. (In press).
* `Developing a processing workflow on a local computer <http://cropstressgenomics.org/data/html/ex_script_camera2.html>`_
* `Executing processing workflows on a computing cluster <http://cropstressgenomics.org/data/html/ex_workflow_1.html>`_
Contents: Contents:
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
introduction introduction
installation installation
start start
......
...@@ -4,12 +4,12 @@ Installation ...@@ -4,12 +4,12 @@ Installation
It is recommended to use the latest stable version for each of the dependencies. Package 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 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 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 should be installed. Most of the requirements below requires a c and c++ compiler, and some
require a fortran compiler. require a fortran compiler.
Dependencies Dependencies
------------ ------------
* `Matplotlib <http://matplotlib.org/>`_ >= 1.3.1 * `Matplotlib <http://matplotlib.org/>`_ >= 1.3.1
* `NumPy <http://www.numpy.org/>`_ >= 1.7 * `NumPy <http://www.numpy.org/>`_ >= 1.7
* `OpenCV <http://opencv.org/>`_ == 2.4.x * `OpenCV <http://opencv.org/>`_ == 2.4.x
* GTK2 (including headers) >= 2.24 * GTK2 (including headers) >= 2.24
...@@ -30,10 +30,10 @@ Dependencies ...@@ -30,10 +30,10 @@ Dependencies
Pegasus and HTCondor are only required if you wish to use the super computer workflow generation functionality. 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 Additionally, many super computing environments may already have Pegasus, HTCondor, and other
dependencies installed. There are resources available for quickly installing the `SciPy Stack <http://www.scipy.org/install.html>`_, dependencies installed. There are resources available for quickly installing the `SciPy Stack <http://www.scipy.org/install.html>`_,
which includes the NumPy, SciPy, Pandas, and Matplotlib. The installation tutorials for Mac OSX, and Windows 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 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 submitting grid jobs. Finally, Image Harvest can be installed by downloading a zip file from the repo
(`link <https://git.unl.edu/aknecht2/ih>`_), and running 'python setup.py install'. (`link <https://git.unl.edu/aknecht2/ih>`_), and running 'python setup.py install'.
...@@ -41,52 +41,52 @@ submitting grid jobs. Finally, Image Harvest can be installed by downloading a ...@@ -41,52 +41,52 @@ submitting grid jobs. Finally, Image Harvest can be installed by downloading a
Centos 6.5 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 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. process becomes much simpler and faster.
With Anaconda With Anaconda
^^^^^^^^^^^^^ ^^^^^^^^^^^^^
.. code-block:: bash .. code-block:: bash
# Update # Update
sudo yum -y update sudo yum -y update
# Set up condor repo # Set up condor repo
cd /etc/yum.repos.d 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/repo.d/htcondor-stable-rhel6.repo
sudo wget http://research.cs.wisc.edu/htcondor/yum/RPM-GPG-KEY-HTCondor sudo wget http://research.cs.wisc.edu/htcondor/yum/RPM-GPG-KEY-HTCondor
sudo rpm --import RPM-GPG-KEY-HTCondor sudo rpm --import RPM-GPG-KEY-HTCondor
# Install packages # Install packages
sudo yum -y install java-1.8.0-* perl condor.x86_64 sudo yum -y install java-1.8.0-* perl condor.x86_64
# Download Pegasus # 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 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 tar -zxvf pegasus.tar.gz
# Download and install anaconda # Download and install anaconda
wget -O anaconda.sh http://09c8d0b2229f813c1b93-c95ac804525aac4b6dba79b00b39d1d3.r79.cf1.rackcdn.com/Anaconda-2.1.0-Linux-x86_64.sh wget -O anaconda.sh http://09c8d0b2229f813c1b93-c95ac804525aac4b6dba79b00b39d1d3.r79.cf1.rackcdn.com/Anaconda-2.1.0-Linux-x86_64.sh
bash anaconda.sh -b bash anaconda.sh -b
# Install *almost* everything in one line # Install *almost* everything in one line
conda install numpy scipy pandas matplotlib opencv conda install numpy scipy pandas matplotlib opencv
# Download PyMeanShift and install, assuming directory is 'pymeanshift' # Download PyMeanShift and install, assuming directory is 'pymeanshift'
cd pymeanshift cd pymeanshift
sudo python setup.py install sudo python setup.py install
# Install Image Harvest, assuming directory is 'ih.git' # Install Image Harvest, assuming directory is 'ih.git'
cd ih.git cd ih.git
sudo python setup.py install sudo python setup.py install
# Make sure to move the pegasus python files into the anaconda package folder # Make sure to move the pegasus python files into the anaconda package folder
# Update the following command as necessary # Update the following command as necessary
cp -r pegasus-4.4.0/lib64/python2.6/site-packages/Pegasus ~/anaconda/lib/python2.7/site-packages/ 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, # and to update your bash profile to include the pegasus commands,
# or cp the pegasus commands to /usr/bin or /usr/local/bin # or cp the pegasus commands to /usr/bin or /usr/local/bin
cp pegasus-4.4.0/bin/* /usr/bin/ cp pegasus-4.4.0/bin/* /usr/bin/
Ubuntu 12.04 Ubuntu 12.04
------------ ------------
...@@ -100,57 +100,57 @@ With Anaconda ...@@ -100,57 +100,57 @@ With Anaconda
# Update # Update
sudo apt-get -y update sudo apt-get -y update
# Install build-essential # Install build-essential
sudo apt-get -y install build-essential sudo apt-get -y install build-essential
# Setup condor repository # Setup condor repository
sudo bash -c 'echo "deb http://research.cs.wisc.edu/htcondor/debian/stable/ wheezy contrib" >> /etc/apt/sources.list' 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 - 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 -y update
sudo apt-get install condor sudo apt-get install condor
# Install dependencies # Install dependencies
sudo apt-get -y install software-properties-common python-software-properties perl sudo apt-get -y install software-properties-common python-software-properties perl
sudo add-apt-repository -y ppa:webupd8team/java sudo add-apt-repository -y ppa:webupd8team/java
sudo apt-get update sudo apt-get update
sudo apt-get -y install oracle-java8-installer sudo apt-get -y install oracle-java8-installer
# A license agrement will pop up here... # A license agrement will pop up here...
# Download pegasus # Download pegasus
wget http://download.pegasus.isi.edu/pegasus/4.4.0/pegasus_4.4.0-1+deb7_amd64.deb wget http://download.pegasus.isi.edu/pegasus/4.4.0/pegasus_4.4.0-1+deb7_amd64.deb
tar -zxvf pegasus.tar.gz tar -zxvf pegasus.tar.gz
# Download and install anaconda # Download and install anaconda
wget -O anaconda.sh http://09c8d0b2229f813c1b93-c95ac804525aac4b6dba79b00b39d1d3.r79.cf1.rackcdn.com/Anaconda-2.1.0-Linux-x86_64.sh wget -O anaconda.sh http://09c8d0b2229f813c1b93-c95ac804525aac4b6dba79b00b39d1d3.r79.cf1.rackcdn.com/Anaconda-2.1.0-Linux-x86_64.sh
bash anaconda.sh -b bash anaconda.sh -b
# Install *almost* everything in one line # Install *almost* everything in one line
conda install numpy scipy pandas matplotlib opencv conda install numpy scipy pandas matplotlib opencv
# Download PyMeanShift and install, assuming directory is 'pymeanshift' # Download PyMeanShift and install, assuming directory is 'pymeanshift'
cd pymeanshift cd pymeanshift
sudo python setup.py install sudo python setup.py install
# Install Image Harvest, assuming directory is 'ih.git' # Install Image Harvest, assuming directory is 'ih.git'
cd ih.git cd ih.git
sudo python setup.py install sudo python setup.py install
# Make sure to move the pegasus python files into the anaconda package folder # Make sure to move the pegasus python files into the anaconda package folder
# Update the following command as necessary # Update the following command as necessary
cp -r pegasus-4.4.0/lib64/python2.6/site-packages/Pegasus ~/anaconda/lib/python2.7/site-packages/ 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, # and to update your bash profile to include the pegasus commands,
# or cp the pegasus commands to /usr/bin or /usr/local/bin # or cp the pegasus commands to /usr/bin or /usr/local/bin
cp pegasus-4.4.0/bin/* /usr/bin/ cp pegasus-4.4.0/bin/* /usr/bin/
Mac OSX Mac OSX
-------- --------
Installation for local testing is a breeze with `brew <http://brew.sh>`_. Installing Installation for local testing is a breeze with `brew <http://brew.sh>`_. Installing
brew simply requires copying a line into a terminal. The only two packages 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 need to manual download will be PyMeanShift and Image Harvest.
You will have to install `XCode <https://developer.apple.com/xcode/>`_, and the XCode Command Line Tools if you have not already. It's a free download You will have to install `XCode <https://developer.apple.com/xcode/>`_, and the XCode Command Line Tools if you have not already. It's a free download
from the App Store. from the App Store.
After you have downloaded the packages and installed brew, run the following: After you have downloaded the packages and installed brew, run the following:
...@@ -166,17 +166,17 @@ After you have downloaded the packages and installed brew, run the following: ...@@ -166,17 +166,17 @@ After you have downloaded the packages and installed brew, run the following:
# We point to the brew installed packages first, # We point to the brew installed packages first,
# to make sure there are no conflicts with system python. # to make sure there are no conflicts with system python.
export PYTHONPATH=`brew --prefix`/lib/python2.7/site-packages/:$PYTHONPATH export PYTHONPATH=`brew --prefix`/lib/python2.7/site-packages/:$PYTHONPATH
# Download PyMeanShift and install, assuming directory is 'pymeanshift' # Download PyMeanShift and install, assuming directory is 'pymeanshift'
cd pymeanshift cd pymeanshift
sudo python setup.py install sudo python setup.py install
# Download Image Harvest and install, assuming directory is 'ih.git' # Download Image Harvest and install, assuming directory is 'ih.git'
cd ih.git cd ih.git
sudo python setup.py install sudo python setup.py install
# That's it! # That's it!
Windows Windows
-------- --------
...@@ -184,7 +184,7 @@ Windows requires a little more work, and in fact, windows doesn't even come with ...@@ -184,7 +184,7 @@ Windows requires a little more work, and in fact, windows doesn't even come with
Installing requires adjusting some system settings as well. You will need to manually Installing requires adjusting some system settings as well. You will need to manually
install several packages before `pip <https://pypi.python.org/pypi/pip>`_ can put install several packages before `pip <https://pypi.python.org/pypi/pip>`_ can put
in work. First, install `python2.7 <https://www.python.org/downloads/>`_. Next, in work. First, install `python2.7 <https://www.python.org/downloads/>`_. Next,
you have to add python to your PATH environment variable. 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 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 * Windows 8: Control Panel > System > Advanced system settings > Advanced Tab > Environment Variables
...@@ -193,7 +193,7 @@ You should see two boxes. One that says "User variables for <user>", and the ot ...@@ -193,7 +193,7 @@ You should see two boxes. One that says "User variables for <user>", and the ot
"System variables". Scroll through the "System variables" box until you find the 'Path' variable. "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, 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. '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 <http://www.microsoft.com/en-us/download/details.aspx?id=44266>`_ -- Next, you need to install a `c++ compiler <http://www.microsoft.com/en-us/download/details.aspx?id=44266>`_ --
simply download the installer and run it. simply download the installer and run it.
Finally, download and install `pip <https://pypi.python.org/pypi/pip>`_. There should Finally, download and install `pip <https://pypi.python.org/pypi/pip>`_. There should
simply be a giant script you copy to a local file, and execute with python. simply be a giant script you copy to a local file, and execute with python.
...@@ -201,7 +201,7 @@ simply be a giant script you copy to a local file, and execute with python. ...@@ -201,7 +201,7 @@ 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, Now, you can install all the dependent python packages by finding the correct version for your os,
and downloading them from this `link <http://www.lfd.uci.edu/~gohlke/pythonlibs/>`_. You will need the same and downloading them from this `link <http://www.lfd.uci.edu/~gohlke/pythonlibs/>`_. You will need the same
list as above that is, `numpy <http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy>`_, `scipy <http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy>`_, `pandas <http://www.lfd.uci.edu/~gohlke/pythonlibs/#pandas>`_, `matplotlib <http://www.lfd.uci.edu/~gohlke/pythonlibs/#matplotlib>`_, and `opencv <http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv>`_. list as above that is, `numpy <http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy>`_, `scipy <http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy>`_, `pandas <http://www.lfd.uci.edu/~gohlke/pythonlibs/#pandas>`_, `matplotlib <http://www.lfd.uci.edu/~gohlke/pythonlibs/#matplotlib>`_, and `opencv <http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv>`_.
.. code-block:: bash .. code-block:: bash
...@@ -212,11 +212,7 @@ list as above that is, `numpy <http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy> ...@@ -212,11 +212,7 @@ list as above that is, `numpy <http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy>
# Then, download Image Harvest and install, assuming directory is 'ih.git' # Then, download Image Harvest and install, assuming directory is 'ih.git'
cd ih.git cd ih.git
python setup.py install python setup.py install
One final note, when loading images, python expects forward slashes not back slashes, 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" 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". in your downloads folder, the correct path for python is "/Users/username/Downloads/test.jpg".
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment