[ts/init.py] flake8 changes
Use spc-testimages as data folder
update test data
Update tests to use latest datasets
Speed up iter_by_timepoints
Add flake8 to travis script
Put getFeatures and calcComplexity in the parent class.

* timestream/manipulate/plantSegmenter.py: We put them in the parent
class as they might be used by other subclasses.
Make normRange a method of class PotSegmenter

* timestream/manipulate/plantSegmenter.py (normRange) : New method that
will normalize a dimension value to range from [0,1]
(getFeatures): Take normRange out of getFeatures.
Change name of FeatureCalculator to StatParamCalculator

* timestream/manipulate/pipecomponents.py: The StatParam calculates statistical
parameters not features.
* timestream/manipulate/plantSegmenter.py: Likewise
Put feature calculation in a separate class

* timestream/manipulate/plantSegmenter.py(FeatureCalculator): New class that
calculates features. It allows the generation of any combination of features.
Add additional simple segmentation code

We name it method1.
* timestream/manipulate/plantSegmenter.py(FeatureCalculator.G4mB3mR1): New
feature that calculates 4*G-3*B-1*R.
(PotSegmenter_Method1): New class with new method for segmenting plants. We
follow these setps:
1. Get feature G4mB3mR1
2. Apply a median filter
3. Apply a hard threshold.
4. Remove all blobs greater than self.blobMinSize
(segmentingMethods): added PotSegmenter_Method1 as "method1"
(YAML): this is the argument line in the yaml file
methargs: { threshold : 0.6, kSize : 5, blobMinSize : 50 }
* timestream/manipulate/pipecomponents.py: Added a FIXME comments so I can
remember to check for pipecomponent arguments.
Expect the pipeline.yml file sys.argv[2]

* util/pipeline_demo.py: Get pipeline.yml from sys.argv[2]. Fall back to
the one in _data.
User can modify outputRootPath.

Used only for testing
* util/pipeline_demo.py: The outputRootPath will be different than the
inputRootPath if there is a third argument defining a path.
Update to generate new experimental specific setting file exp_spec.yml.
Now pipeline.yml has to be generated separately.
[pipeline_demo] parse the CLI properly, w/ flags
Change statistic param calculation method name

... to statParamMethods
* timestream/manipulate/pipecomponents.py: Change to new method name
* timestream/manipulate/plantSegmenter.py: Likewise
Require skimage version greater than 0.10.1

* setup.py (install_requires): Require skimage version at install time.
* timestream/manipulate/plantSegmenter.py (compactness)
(eccentricity): Assume skimage version is greater than 0.10.1
Pots are half the dist between centers.

* timestream/manipulate/plantSegmenter.py (__init__): Change the size of pots
from 1/3 the distance between centers to 1/2.
-o OUT is optional. -f YAML is not needed.

* util/pipeline_demo.py: The output directory will default to the input
directory basename. -f YAML defined the yaml configuration filename; this is not
needed as we will hardcode an expected name into the code. If the user want to
use another name, she can define a different yaml config file path with the -y
option.
add versioneer support

Magic git versioning