From 4496d54b7be6163cdad44443c9c4e10845956b94 Mon Sep 17 00:00:00 2001 From: Jon Date: Thu, 7 Nov 2024 23:58:29 -0100 Subject: [PATCH] Fix for working with 32 bit images with raw_data --- datalab/datalab_session/analysis/raw_data.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/datalab/datalab_session/analysis/raw_data.py b/datalab/datalab_session/analysis/raw_data.py index 83ea697..a355252 100644 --- a/datalab/datalab_session/analysis/raw_data.py +++ b/datalab/datalab_session/analysis/raw_data.py @@ -21,7 +21,15 @@ def raw_data(input: dict): max_size = input.get('max_size', 500) image = Image.fromarray(image_data) newImage = image.resize((max_size, max_size), Image.LANCZOS) - scaled_array = np.asarray(newImage).astype(np.float16) + bitpix = abs(int(sci_hdu.header.get('BITPIX', 16))) + match bitpix: + case 8: + datatype = np.uint8 + case 16: + datatype = np.float16 + case 32: + datatype = np.float32 + scaled_array = np.asarray(newImage).astype(datatype) scaled_array_flipped = np.flip(scaled_array, axis=0) return {'data': scaled_array_flipped.flatten().tolist(),