Image sensors in low-resource environments, such as inexpensive machine vision products and cell phone cameras, have three major image quality problems to overcome. First is the source noise, which is random noise from low-cost CMOS image sensors. Second is that some color image sensors use color filter arrays such as the Bayer pattern made of red, green and blue color filters. Other types of color filter arrays for color image sensors may contain other colors including colorless/clear filters. Color filter arrays create a single array of data from mixed color sources, which makes simple noise filtering difficult. For example, Bayer pattern data from an image sensor cannot be filtered directly by normal means. Typically the Bayer pattern data is interpolated to complete the data plane for each color. The interpolation of noisy data creates both more data to be processed and more noisy data that must then be filtered. Third is the lack of memory and processing power typically required to filter noise with a spatial frequency spanning several pixels. What is needed is a solution for reducing noise in images and video that requires a minimum of processing power and memory space, and can take advantage of mixed source data to avoid the interpolation step. Other paradigms that have quality problems that could benefit from a filtering technique include data arranged in one dimension, such as audio data, data arranged in two dimensions such as financial data, and other data in different dimensions from one to beyond four dimensions. The data in different dimensions can have similar problems to images in that random noise can interfere with definable regions of the data necessary for understanding or performing operations on the data. Another paradigm that can benefit from a filtering technique is multiple data arrays from multiple sources, such as images taken of the same scene from cameras sensitive to different areas of the light spectrum, for example IR and UV combined with visible, or even different types of data from the same scene, for example visible images and range data. Accordingly there is a need for a noise filter that can overcome data noise in single-source data arrays, multiple-source data arrays, and multiple data arrays from multiple sources.