reverted to using the : slicing function, since the performance issue relative to copying subarrays seems to be corrected in newer versions of numpy