Add calibration detection

This commit is contained in:
linarphy 2023-05-10 14:39:23 +02:00
parent dd2e964ead
commit 2e1c83b527
No known key found for this signature in database
GPG key ID: 3D4AAAC3AD16E79C

35
ETA.py
View file

@ -227,14 +227,35 @@ def indicator( list_ ):
indicators = np.array( [ indicator( data[ i , border[ 'x' ][ 'min' ] : border[ 'x' ][ 'max' ] ] ) for i in range( border[ 'y' ][ 'min' ] , border[ 'y' ][ 'max' ] , 1 ) ] )
calibration_areas = utils.consecutive( np.where( indicators == 10 )[0] )
calibration_sizes = [ len( calibration_area ) for calibration_area in calibration_areas ]
y_calibrations = [ calibration_areas[ i ] for i in np.argsort( calibration_sizes ) ][ -2 : ]
calibrations = [
{
'x': {
'min': border['x']['min'],
'max': border['x']['max']
},
'y': {
'min': border['y']['min'] + y_calibrations[0][ 0],
'max': border['y']['min'] + y_calibrations[0][-1]
}
},
{
'x': {
'min': border['x']['min'],
'max': border['x']['max']
},
'y': {
'min': border['y']['min'] + y_calibrations[1][ 0],
'max': border['y']['min'] + y_calibrations[1][-1]
}
},
]
import matplotlib.pyplot as plt
plt.plot( indicators )
plt.savefig( 'asset/indicator.png' )
"""
plt.imshow( data[
border[ 'y' ][ 'min' ] : border[ 'y' ][ 'max' ],
border[ 'x' ][ 'min' ] : border[ 'x' ][ 'max' ]
calibrations[1]['y']['min'] : calibrations[1]['y']['max'],
calibrations[1]['x']['min'] : calibrations[1]['x']['max']
] )
plt.savefig( 'asset/test_rotated.png' )
"""
plt.savefig( 'asset/calibration_1.png' )