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_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.