Image quality from ultrasound and optical coherence tomography (OCT) is degraded by speckle patterns, which limit the detection of small features and cause a loss of image contrast. To reduce speckle patterns, a novel adaptive kernel algorithm suitable for linearly scaled and log-compressed OCT and ultrasound images is presented. This algorithm combines region growing with a stick based approach. For each direction from the center of a square window to its border, a stick length is selected depending on a homogeneity criterion. Such a set of sticks forms an individual filter kernel for each image pixel. The current kernel size is observed to detect outliers in speckle. If the kernel size drops below a threshold, an outlier is assumed and the filter output is corrected by using a median filter in a second filtering stage. A new homogeneity model is presented that incorporates two existing models and can be fit to actual image statistics. In addition, methods to compute filter parameters for different speckle correlation lengths and imaging systems are presented. An FPGA real-time implementation is proposed and discussed. Measured and simulated speckle images are processed and results compared to existing FPGA based speckle reduction methods. The proposed filter provides good results for various kinds of medical speckle images. The flexible nature of the proposed kernel guarantees suitability for highly correlated as well as for uncorrelated speckle patterns.