I used 10 px min dist between peaks, threshold of 0.3 between 1st and 99th percentile intensity, and before anything else I approximately undid the gamma mapping of the picture.
detections (local maxima) on the channel walls can be masked off trivially. cv.pointPolygonTest and a manually picked set of polygons for those two areas.
the non-maxima suppression (NMS) I typically do like so (“haystack” is usually template matching scores…):