diff --git a/docs/source/ex_script_core1.rst b/docs/source/ex_script_core1.rst index 5f90effe9482617cf3fa2e52e910079a4ec22cb6..86a6b6fb41914925c2d020a2e5ebd71bda0013d0 100644 --- a/docs/source/ex_script_core1.rst +++ b/docs/source/ex_script_core1.rst @@ -51,17 +51,9 @@ This script shows how to get started with ih. Let's talk about it block by bloc import ih.imgproc plant = ih.imgproc.Image("/path/to/your/image") -These two lines setup your image. The first line imports a module, which is simply -a grouping of related in code. In this case, we import the 'imgproc' module, which -is a grouping of functions related to image processing. This module contains -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 +These two lines setup your image. The first line imports the ih imgproc module, this module contains +all of ih's image processing functionality. The second line creates an Image object named 'plant'. +The plant object now has properties that define it, and methods we can perform on it. The rest of the script deals specifically with the methods we can perform on our image objects. .. code-block:: python diff --git a/docs/source/index.rst b/docs/source/index.rst index 58f336b42ac4e06f34c41fb3a7f1a85c9fff1ccb..49e50055df511f83eb1d761225a78125342b38a5 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -1,13 +1,23 @@ 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: .. toctree:: :maxdepth: 2 - + introduction installation start diff --git a/docs/source/installation.rst b/docs/source/installation.rst index 27c50e31c62acbd8a62f4b993070cad4169388fe..f2d7172a1835a9a0210968537f2e6def6b8d6565 100644 --- a/docs/source/installation.rst +++ b/docs/source/installation.rst @@ -4,12 +4,12 @@ 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 +should be installed. Most of the requirements below requires a c and c++ compiler, and some require a fortran compiler. Dependencies ------------ -* `Matplotlib <http://matplotlib.org/>`_ >= 1.3.1 +* `Matplotlib <http://matplotlib.org/>`_ >= 1.3.1 * `NumPy <http://www.numpy.org/>`_ >= 1.7 * `OpenCV <http://opencv.org/>`_ == 2.4.x * GTK2 (including headers) >= 2.24 @@ -30,10 +30,10 @@ 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 <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 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'. @@ -41,52 +41,52 @@ submitting grid jobs. Finally, Image Harvest can be installed by downloading a 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. +process becomes much simpler and faster. With Anaconda ^^^^^^^^^^^^^ - + .. code-block:: bash # 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 ------------ @@ -100,57 +100,57 @@ 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 <http://brew.sh>`_. 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 <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. 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, # 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 -------- @@ -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 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, -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 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 "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 <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. 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. @@ -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, 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 @@ -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' 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". - - - -