1. An array processor for analyzing a two-dimensional array of data elements arranged in a set of data locations spatially related to each other, comprising: a plurality of parallel elemental processors logically organized as a multi-level matrix where each elemental processor is associated with a particular data location, each said elemental processor including a plurality of modules logically distributed over the multiple levels of said matrix so that each level includes no more than one module from each elemental processor; memory means in each module for storing one or more data elements, whereby a set of data elements spatially associated with said set of data locations may be stored in a group of modules which are on a common matrix level; transfer means associated with each elemental processor for transferring stored data elements between modules of that same elemental processor; logic means in each module for performing generalized logic functions on at least one data element as said element is transferred to that module; and control means for selecting particular logic means and for causing said transfer means to transfer, simultaneously, a set of data elements stored in the memory means of modules on one matrix level to the modules on one other matrix level, whereby the spatial association between said set of data elements and said set of data locations before and after said transfer remains the same.