From a3492c10f3d223c1ae1d4c36f94eed3ac9e0107c Mon Sep 17 00:00:00 2001 From: Clemens Barth Date: Wed, 26 Apr 2023 15:36:08 +0200 Subject: [PATCH] If all data pixel are on NaN, then assign a value of 0.0 for each pixel. --- AFM_thumbs/Linalg.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/AFM_thumbs/Linalg.py b/AFM_thumbs/Linalg.py index c17b9db..38fbe1f 100755 --- a/AFM_thumbs/Linalg.py +++ b/AFM_thumbs/Linalg.py @@ -119,7 +119,7 @@ def linalg_line_fit(size_x, size_y, data): xy = sum(line*x_vec) B = scipy.mat([[xy],[y]]) - c,resid,rank,sigma = linalg.lstsq(M,B) + c, resid, rank, sigma = linalg.lstsq(M, B) plane.append([i * c[0][0] + c[1][0] for i in range(size_x)]) @@ -198,7 +198,12 @@ def check_image_properties(data, data_file): list_nans = np.where(np.isnan(data))[0] data_clean = np.delete(data, list_nans) - data_mean = np.mean(data_clean) + + # If all pixels are on NaN, then put the mean value onto 0.0. + if len(list_nans) == len(data): + data_mean = 0.0 + else: + data_mean = np.mean(data_clean) for nan in list_nans: data[nan] = data_mean