From 78c02df9afc8e96338720a97432eed499752e5ad Mon Sep 17 00:00:00 2001 From: linarphy Date: Fri, 23 Jun 2023 10:09:51 +0200 Subject: [PATCH] Add bias substraction after wavelength calibration --- spectrum.py | 58 +++++++++++++++++++++++++++-------------------------- 1 file changed, 30 insertions(+), 28 deletions(-) diff --git a/spectrum.py b/spectrum.py index 5fc2869..ac46b52 100644 --- a/spectrum.py +++ b/spectrum.py @@ -531,40 +531,42 @@ if calibration != None: wavelengths = np.polyval( wavelength_polyval , abciss ) - """ - mean_up = np.mean( data[ - calibrations[ 'top' ][ 'y' ][ 'min' ] : calibrations[ 'top' ][ 'y' ][ 'max' ], - calibrations[ 'top' ][ 'x' ][ 'min' ] : claibrations[ 'top' ][ 'x' ][ 'max' ] - ] , axis = 0 ) - mean_up = np.mean( data[ - calibrations[ 'down' ][ 'y' ][ 'min' ] : calibrations[ 'down' ][ 'y' ][ 'max' ], - calibrations[ 'down' ][ 'x' ][ 'min' ] : claibrations[ 'down' ][ 'x' ][ 'max' ] - ] , axis = 0 ) - peaks_up = np.array( - utils.retrieve_peaks( - mean_up , - window_size = 1 , - max_window_size = 1, - ) , - dtype = int, - ) - peaks_down = np.array( - utils.retrieve_peaks( - mean_down , - window_size = 1 , - max_window_size = 1, - ) , - dtype = int, - ) - """ - if verbose: print( 'wavelength calibration finished' ) +if verbose: + print( 'starting bias substraction' ) + +bias = { + 'top': np.mean( + data[ + calibrations[ 'top' ][ 'y' ][ 'min' ] - 100 : + calibrations[ 'top' ][ 'y' ][ 'min' ] , + calibrations[ 'top' ][ 'x' ][ 'min' ] : + calibrations[ 'top' ][ 'x' ][ 'max' ] + ] , + axis = 0, + ), + 'down': np.mean( + data[ + calibrations[ 'down' ][ 'y' ][ 'max' ] : + calibrations[ 'down' ][ 'y' ][ 'max' ] + 100, + calibrations[ 'down' ][ 'x' ][ 'min' ] : + calibrations[ 'down' ][ 'x' ][ 'max' ] + ] , + axis = 0, + ), +} + +mean_bias = np.mean( [ bias[ 'top' ] , bias[ 'down' ] ] , axis = 0 ) + +if verbose: + print( 'bias substraction finished' ) + mean_data = np.mean( data[ spectrum[ 'y' ][ 'min' ] : spectrum[ 'y' ][ 'max' ], spectrum[ 'x' ][ 'min' ] : spectrum[ 'x' ][ 'max' ] -] , axis = 0 ) +] , axis = 0 ) - mean_bias if intensity != None: if verbose: