1. A method for selectively transforming a multi-dimensional input array comprising D dimensions, said method comprising: segmenting said input array into a number of sub-arrays with a computing system; determining a D-dimensional convolution of said input array at only selected points in each said sub-array, said convolution being a function of a product of D one-dimensional kernels; determining partial convolutions at each dimension iteratively, an iterative determination of one of said partial convolutions being determined, in part, from a previous iterative determination; collecting transformed sub-array values to form a transformed input array; and storing said transformed input array.