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
« prev ^ index » next coverage.py v7.3.2, created at 2024-03-28 07:59 +0000
1import numpy as np
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)])