From 943e0aab6841688a24ca16889f7d9ac38844485c Mon Sep 17 00:00:00 2001 From: Po-Nan Li <663444+liponan@users.noreply.github.com> Date: Mon, 5 May 2025 19:31:45 -0700 Subject: [PATCH 1/3] Update sxccd_image.py --- sxccd/sxccd_image.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/sxccd/sxccd_image.py b/sxccd/sxccd_image.py index 5f7fa33..8e40de0 100644 --- a/sxccd/sxccd_image.py +++ b/sxccd/sxccd_image.py @@ -1,10 +1,11 @@ import argparse -import sxccd -import h5py import time + +import h5py +import sxccd import numpy as np -def takeImage( exp_ms, delay=0, prefix="images", nExp = 1, singleImage=True, bin=1 ): +def takeImage(exp_ms, delay=0, prefix="images", nExp=1, singleImage=True, bin=1): sx = sxccd.Camera() sx.model() @@ -13,8 +14,8 @@ def takeImage( exp_ms, delay=0, prefix="images", nExp = 1, singleImage=True, bin params = sx.parameters() width = params["width"] height = params["height"] - w = int( width / bin ) - h = int( height / bin ) + w = int(width / bin) + h = int(height / bin) filename = prefix + "_" + str(exp_ms).zfill(6) + ".h5" f = h5py.File(filename, 'w') @@ -33,7 +34,7 @@ def takeImage( exp_ms, delay=0, prefix="images", nExp = 1, singleImage=True, bin for t in range(nExp): t1 = time.time() - img = sx.readPixelsDelayed( exp_ms, width, height, x_bin=bin, y_bin=bin, + img = sx.readPixelsDelayed(exp_ms, width, height, x_bin=bin, y_bin=bin, x_offset=0, y_offset=0, verbose=False) img_avg += img @@ -45,9 +46,7 @@ def takeImage( exp_ms, delay=0, prefix="images", nExp = 1, singleImage=True, bin img_avg = img_avg.astype(np.float32) / nExp avg_set[:] = img_avg - print("========== done " + str(nExp) + " images ========== \a\a\a") - f.close() @@ -74,5 +73,5 @@ def takeImage( exp_ms, delay=0, prefix="images", nExp = 1, singleImage=True, bin args = parser.parse_args() print(args) - takeImage( exp_ms=args.exp, delay=args.delay, prefix=args.prefix, - nExp = args.num, singleImage=args.single, bin=args.bin ) + takeImage(exp_ms=args.exp, delay=args.delay, prefix=args.prefix, + nExp = args.num, singleImage=args.single, bin=args.bin) From 8b8a17c3ce4a2d8d3b8e16b6dc1e6a31db3f5999 Mon Sep 17 00:00:00 2001 From: Po-Nan Li <663444+liponan@users.noreply.github.com> Date: Mon, 5 May 2025 19:33:03 -0700 Subject: [PATCH 2/3] Update sxccd_utils.py --- sxccd/sxccd_utils.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/sxccd/sxccd_utils.py b/sxccd/sxccd_utils.py index ec0d865..5af336f 100644 --- a/sxccd/sxccd_utils.py +++ b/sxccd/sxccd_utils.py @@ -1,15 +1,18 @@ import numpy as np -def decLH( LH ): + +def decLH(LH): return LH[0] + 256*LH[1] -def dec2bytes( num, lg=2 ): + +def dec2bytes(num, lg=2): return (num).to_bytes(lg, byteorder="little") -def dec2image( data, h, w ): + +def dec2image(data, h, w): img_sz = int(len(data)/2) - img = np.zeros( (img_sz,1), dtype=np.uint32) + img = np.zeros((img_sz,1), dtype=np.uint32) for i in range(img_sz): img[i] = decLH( data[2*i:(2*i+2)]) - img = np.reshape( img, (h, w) ) + img = np.reshape(img, (h, w)) return img From f61c5b3b7d1ae9aa9f1bbaafbc5fd4ad56d0a42f Mon Sep 17 00:00:00 2001 From: Po-Nan Li <663444+liponan@users.noreply.github.com> Date: Mon, 5 May 2025 19:36:42 -0700 Subject: [PATCH 3/3] Update sxccd_image.py --- sxccd/sxccd_image.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/sxccd/sxccd_image.py b/sxccd/sxccd_image.py index 8e40de0..28959a1 100644 --- a/sxccd/sxccd_image.py +++ b/sxccd/sxccd_image.py @@ -5,6 +5,7 @@ import sxccd import numpy as np + def takeImage(exp_ms, delay=0, prefix="images", nExp=1, singleImage=True, bin=1): sx = sxccd.Camera() @@ -17,7 +18,7 @@ def takeImage(exp_ms, delay=0, prefix="images", nExp=1, singleImage=True, bin=1) w = int(width / bin) h = int(height / bin) - filename = prefix + "_" + str(exp_ms).zfill(6) + ".h5" + filename = f"{prefix}_{exp_ms:06d}.h5" f = h5py.File(filename, 'w') avg_set = f.create_dataset("avg", (h, w), dtype=np.float32) if singleImage: @@ -26,10 +27,8 @@ def takeImage(exp_ms, delay=0, prefix="images", nExp=1, singleImage=True, bin=1) img_avg = np.zeros( (h,w), dtype=np.uint32) - if delay>0: - print("=========== camera exposure starts in " - + str(delay) + " sec " - + "===========" ) + if delay > 0: + print(f"=========== camera exposure starts in {delay} sec ===========" ) time.sleep(delay) for t in range(nExp): @@ -42,11 +41,11 @@ def takeImage(exp_ms, delay=0, prefix="images", nExp=1, singleImage=True, bin=1) img_set[:,:,t] = img t2 = time.time() - print("image " + str(t+1) + " done in " + str(t2-t1) + " sec \a") + print(f"image {t+1} done in {t2-t1} sec \a") img_avg = img_avg.astype(np.float32) / nExp avg_set[:] = img_avg - print("========== done " + str(nExp) + " images ========== \a\a\a") + print(f"========== done {nExp} images ========== \a\a\a") f.close()