No newaxis, still extremely slow method for white field scale; TODO: use median instead
This commit is contained in:
@@ -106,15 +106,12 @@ def _scale_whitefield(data, mask, whitefield, std,
|
||||
n_iter: int = 12, lm: float = 9.0, num_threads: int = 16
|
||||
):
|
||||
mask = mask & (std > 0.0)
|
||||
#y = np.where(mask, data / std, 0.0)[mask] # must be newaxis
|
||||
y = np.divide(data, std, out=np.zeros_like(data), where=mask)[mask] # must be newaxis
|
||||
#W = np.where(mask, whitefield / std, 0.0)[mask] # must be newaxis
|
||||
y = np.divide(data, std, out=np.zeros_like(data), where=mask)[mask]
|
||||
W = np.divide(whitefield, std, out=np.zeros_like(data), where=mask)[mask]
|
||||
|
||||
W = np.divide(whitefield, std, out=np.zeros_like(data), where=mask)[mask] # must be newaxis
|
||||
#W = np.where(mask, whitefield / std, 0.0)[mask] # must be newaxis
|
||||
|
||||
scales = robust_lsq(W=W[np.newaxis, :], y=y[np.newaxis, :], axis=1, r0=r0, r1=r1, n_iter=n_iter, lm=lm,
|
||||
scales = robust_lsq(W=W, y=y, axis=0, r0=r0, r1=r1, n_iter=n_iter, lm=lm,
|
||||
num_threads=num_threads)
|
||||
print(f"{scales=}")
|
||||
scales=np.ravel(scales)
|
||||
whitefield *= scales
|
||||
|
||||
|
||||
Reference in New Issue
Block a user