From 0ef0b9079bc0a1625a52dc115850595d8eaba870 Mon Sep 17 00:00:00 2001 From: linarphy Date: Thu, 25 May 2023 16:57:37 +0200 Subject: [PATCH] Update peak finding, still buggy --- wavelength_calibration.py | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/wavelength_calibration.py b/wavelength_calibration.py index 9402c07..9134544 100644 --- a/wavelength_calibration.py +++ b/wavelength_calibration.py @@ -29,22 +29,20 @@ def get_extremities( signal , peaks ): it. The same goes for the area at the end. ONLY TRUE FOR THE CURRENT CALIBRATION (Hg) """ - peaks_inside , i = [] , 0 + peaks_inside , i = [ 0 , 0 ] , 0 argmin = len( signal ) // 2 - while len( peaks_inside ) != 1: - if i > 50 or len( signal[ : argmin ] ) == 0: - raise Exception( 'unknown plage, cannot autocalibrate' ) - argmin = np.argmin( - signal[ : argmin ] + argmin = np.argmin( + signal[ : argmin ] + ) + argmax = np.argmax( signal[ : argmin ] ) + peaks_inside = np.where( + np.logical_and( + argmax < peaks, + argmin > peaks, ) - argmax = np.argmax( signal[ : argmin ] ) - peaks_inside = np.where( - np.logical_and( - argmax < peaks, - argmin > peaks, - ) - )[0] - i += 1 + )[0] + if len( peaks_inside ) == 0: + raise Exception( 'unknown plage, cannot autocalibrate' ) first_peak = peaks_inside[0] """