diff --git a/src/calng/correction_addons/peakfinder9.py b/src/calng/correction_addons/peakfinder9.py index d70353757c4dbf667529b657cfd46f4de8d3dbe2..bcb0d552833f8c16ba3ccbd39ba071e5b9cff423 100644 --- a/src/calng/correction_addons/peakfinder9.py +++ b/src/calng/correction_addons/peakfinder9.py @@ -64,7 +64,8 @@ class Peakfinder9(BaseCorrectionAddon): .description( "Current pixel is rejected as start of peak if it does not exceed mean " "by at least mean by this amount times sigma. Both mean and sigma are " - "based on window border pixels." + "based on window border pixels. This value should be larger than or " + "equal to minSnrPeakPixels or things may break." ) .tags("managed") .assignmentOptional() diff --git a/src/calng/kernels/peakfinder9_gpu.cu b/src/calng/kernels/peakfinder9_gpu.cu index 159e9584c7c02018b1869673a0aa8e4d664c434d..29a538438c8e24e2fde1c70d719702054d468c1e 100644 --- a/src/calng/kernels/peakfinder9_gpu.cu +++ b/src/calng/kernels/peakfinder9_gpu.cu @@ -180,6 +180,9 @@ extern "C" __global__ void pf9(const unsigned short num_frames, if (peak_total_mass <= mean + min_snr_whole_peak * sigma) { return; } + if (num_peak_pixels < min_peak_pixels || num_peak_pixels > max_peak_pixels) { + return; + } if (peak_total_mass == 0) { peak_weighted_ss = static_cast<float>(ss_index); peak_weighted_fs = static_cast<float>(fs_index);