The Reichardt detector is an elementary motion detector inspired by the fly. It computes a motion signal from two brightness input signals from photodetectors. The output signal indicates the direction of motion of a pattern along the photodetectors.
The signal strength from the Reichardt detector not only depends on the motion direction and velocity but also on the visible contrast. Multiple differently aligned detectors can be combined to estimate optic flow or egomotion.
Reichardt, W. (1987). Evaluation of optical motion information by movement detectors. Journal of comparative physiology. A, Sensory, neural, and behavioral physiology, 161(4), 533-47.
Two sample algorithms are presented: "visual_processing/optic_flow/Reichardt.cpp" "visual_processing/optic_flow/ReichardtDynamic.cpp". The first algorithm implements a simple discrete detector using only two low-pass and high-pass filters. The second algorithm allows to configure a detector system with multiple different filters at runtime. This allows to implement more elaborate types of detectors.