Add peak deletion part
Try to start from the same point for each spectrum by comparing 'ground' part without peaks
This commit is contained in:
parent
902259cc2e
commit
3d90b03a6d
1 changed files with 60 additions and 11 deletions
|
@ -1,8 +1,11 @@
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
import scipy.signal as sig
|
||||||
import matplotlib.backends.backend_qtagg as qt
|
import matplotlib.backends.backend_qtagg as qt
|
||||||
import matplotlib.figure as fig
|
import matplotlib.figure as fig
|
||||||
import utils
|
import utils
|
||||||
|
|
||||||
|
rect = [0.125,0.11,0.775,0.77]
|
||||||
|
|
||||||
calib_top = np.load( 'asset/calib_top.npy' )
|
calib_top = np.load( 'asset/calib_top.npy' )
|
||||||
calib_down = np.load( 'asset/calib_down.npy' )
|
calib_down = np.load( 'asset/calib_down.npy' )
|
||||||
reference = np.load( 'asset/reference.npy' )
|
reference = np.load( 'asset/reference.npy' )
|
||||||
|
@ -15,17 +18,6 @@ peaks_reference = utils.retrieve_peaks( reference[1] , window_size = 1 , max_win
|
||||||
|
|
||||||
polyval = np.polyfit( peaks_calib_top , peaks_reference[ 2 : ] , 1 )
|
polyval = np.polyfit( peaks_calib_top , peaks_reference[ 2 : ] , 1 )
|
||||||
|
|
||||||
manager = qt.FigureManager(
|
|
||||||
qt.FigureCanvas(
|
|
||||||
fig.Figure(
|
|
||||||
),
|
|
||||||
),
|
|
||||||
1,
|
|
||||||
)
|
|
||||||
manager.canvas.figure.add_axes( ( 0.05 , 0.15 , 0.9 , 0.7 ) ).plot( peaks_calib_top , np.array( peaks_reference[ 2 : ] ) - np.polyval( polyval , peaks_calib_top ) )
|
|
||||||
manager.show()
|
|
||||||
manager.start_main_loop()
|
|
||||||
|
|
||||||
peaks_values = [ reference[ 1 , i ] for i in np.array( peaks_reference ).astype( int ) ]
|
peaks_values = [ reference[ 1 , i ] for i in np.array( peaks_reference ).astype( int ) ]
|
||||||
sorting = np.argsort( peaks_values )[ :: -1 ]
|
sorting = np.argsort( peaks_values )[ :: -1 ]
|
||||||
wavelength = [ reference[ 0 , i ] for i in np.array( [ peaks_reference[ j ] for j in sorting ] ).astype( int ) ]
|
wavelength = [ reference[ 0 , i ] for i in np.array( [ peaks_reference[ j ] for j in sorting ] ).astype( int ) ]
|
||||||
|
@ -34,6 +26,7 @@ polyval_wavelength = np.polyfit( peaks_reference , np.sort( wavelength ) , 1 )
|
||||||
|
|
||||||
wavelength = np.polyval( polyval_wavelength , np.polyval( polyval , np.arange( 0 , len( mean_calib_top ) , 1 ) ) )
|
wavelength = np.polyval( polyval_wavelength , np.polyval( polyval , np.arange( 0 , len( mean_calib_top ) , 1 ) ) )
|
||||||
|
|
||||||
|
"""
|
||||||
manager = qt.FigureManager(
|
manager = qt.FigureManager(
|
||||||
qt.FigureCanvas(
|
qt.FigureCanvas(
|
||||||
fig.Figure(
|
fig.Figure(
|
||||||
|
@ -57,3 +50,59 @@ manager.canvas.figure.axes[1].set_title( 'reference' )
|
||||||
|
|
||||||
manager.show()
|
manager.show()
|
||||||
manager.start_main_loop()
|
manager.start_main_loop()
|
||||||
|
"""
|
||||||
|
for peak in np.array( peaks_calib_top ).astype( int ):
|
||||||
|
first = peak
|
||||||
|
peak , old = first - 2 , first - 1
|
||||||
|
while mean_calib_top[ peak ] <= mean_calib_top[ old ]:
|
||||||
|
old = peak
|
||||||
|
peak -= 1
|
||||||
|
mean_calib_top[ peak : first ] = mean_calib_top[ peak ] * np.ones( first - peak )
|
||||||
|
|
||||||
|
peak , old = first + 2 , first + 1
|
||||||
|
while mean_calib_top[ peak ] <= mean_calib_top[ old ]:
|
||||||
|
old = peak
|
||||||
|
peak += 1
|
||||||
|
mean_calib_top[ first : peak ] = mean_calib_top[ peak ] * np.ones( peak - first )
|
||||||
|
|
||||||
|
manager = qt.FigureManager(
|
||||||
|
qt.FigureCanvas(
|
||||||
|
fig.Figure(
|
||||||
|
figsize = ( 10 , 5 )
|
||||||
|
),
|
||||||
|
),
|
||||||
|
0,
|
||||||
|
)
|
||||||
|
manager.canvas.figure.gca().plot(
|
||||||
|
mean_calib_top
|
||||||
|
)
|
||||||
|
manager.canvas.figure.gca().plot(
|
||||||
|
sig.medfilt( mean_calib_top , 71 )
|
||||||
|
)
|
||||||
|
manager.show()
|
||||||
|
manager.start_main_loop()
|
||||||
|
|
||||||
|
manager = qt.FigureManager(
|
||||||
|
qt.FigureCanvas(
|
||||||
|
fig.Figure(),
|
||||||
|
),
|
||||||
|
1,
|
||||||
|
)
|
||||||
|
signal_calib = sig.convolve(
|
||||||
|
sig.medfilt( mean_calib_top , 71 ),
|
||||||
|
np.ones( 50 ),
|
||||||
|
'same'
|
||||||
|
)
|
||||||
|
manager.canvas.figure.gca().plot(
|
||||||
|
signal
|
||||||
|
)
|
||||||
|
manager.canvas.figure.gca().vlines(
|
||||||
|
[
|
||||||
|
np.argmin( signal[ 25 : -25 ] )
|
||||||
|
] ,
|
||||||
|
np.min( signal[ 25 : -25 ] ),
|
||||||
|
np.max( signal[ 25 : -25 ] ),
|
||||||
|
color = 'red' ,
|
||||||
|
)
|
||||||
|
manager.show()
|
||||||
|
manager.start_main_loop()
|
||||||
|
|
Loading…
Reference in a new issue