Coverage for src/spectroflat/sensor/c2c_comp.py: 100%

9 statements  

« prev     ^ index     » next       coverage.py v7.3.2, created at 2024-03-28 07:59 +0000

1import numpy as np 

2 

3 

4def extract_c2c_comp(img: np.array, shape: tuple) -> np.array: 

5 """ 

6 Removes the average column2column response comp 

7 :param img: the mean flat frame 

8 :param shape: the shape of the pattern to create 

9 :return: tuple (the cleaned input img, avrg. response diff) 

10 """ 

11 states = img.shape[0] 

12 avrg = np.mean(np.mean(img, axis=0), axis=0) 

13 response = np.mean([avrg[i] / avrg[i + 1] for i in range(0, len(avrg) - 1, 2) if avrg[i + 1] > 1e-3]) 

14 pattern = np.ones(shape) 

15 for col in range(0, shape[1] - 1, 2): 

16 pattern[:, col + 1] = response 

17 return np.array([pattern for _ in range(states)])