tests/test_nanshe_learner.py: Added a test for main that uses DRMAA. This fixes #137.
advanced_image_processing: Renamed the function region_properties to region_properties_scikit_image to specify what library it is using. Added a new version of the function region_properties, which currently simply calls region_properties_scikit_image.
advanced_image_processing: Added the function region_properties_vigra to supply an interface to vigra that will format the results in the same way as region_properties_scikit_image.
advanced_image_processing: Changed region_properties to call region_properties_vigra instead of region_properties_scikit_image.
advanced_image_processing: Changed generate_local_maxima_vigra so that it will used vigra.analysis.extendedLocalMaxima3D if the data is 3D and will resort to vigra.analysis.extendedLocalMaxima if the data is 2D. If the dimensionality is neither, it will fail an assertion.
expanded_numpy: Added the function add_singleton_op, which will perform a dimension reducing operation (numpy.max, numpy.min, etc.) to an array and add a singleton dimension in the removed dimensions place.
advanced_image_processing: Changed all max projections being stored so that they keep the same dimensionality as the arrays they came from.
nanshe_learner: Changed all max and mean projections being stored so that they keep the same dimensionality as the arrays they came from.
nanshe/advanced_image_processing.py: Added logging messages for entering and exiting the watershed segmentation portion of wavelet_denoising.
nanshe/advanced_image_processing.py: Split some long lines over several lines.
nanshe_viewer: Created a mechanism that provides an operator for max projection onto a source. Added MaxProjectionConstantSource and MaxProjectionConstantRequest for dealing with determing the max projection of a constant source (will not change or become dirty) along one dimension.
nanshe_viewer: A temporary solution for max projection objects to cache results on initialization.