From d397a9668be029192616f5dcd04962b4a3f43048 Mon Sep 17 00:00:00 2001 From: Vonka Date: Wed, 3 Sep 2025 18:17:39 +0200 Subject: [PATCH] changes before migration --- .gitignore | 1 + src/cristallina/p22478/__init__.py | 37 +++++++++++++++++++++++++++++- src/cristallina/uscan.py | 21 +++++++++++++---- src/cristallina/utils.py | 4 ++-- 4 files changed, 55 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index da9e8cc..bb67c65 100644 --- a/.gitignore +++ b/.gitignore @@ -37,6 +37,7 @@ htmlcov/* junit*.xml coverage.xml .pytest_cache/ +tests/cache_test/ # Build and docs folder/files build/* diff --git a/src/cristallina/p22478/__init__.py b/src/cristallina/p22478/__init__.py index 2d1245b..c4fe73a 100644 --- a/src/cristallina/p22478/__init__.py +++ b/src/cristallina/p22478/__init__.py @@ -1 +1,36 @@ -print("p22478 module imported.") \ No newline at end of file +import os +import json +from pathlib import Path +from collections import defaultdict, deque +from copy import copy +import time + +import scipy +import numpy as np +import pandas as pd +from tqdm.notebook import tqdm +import re + +from pathlib import Path + +import warnings + +from matplotlib import pyplot as plt +import matplotlib as mpl + +import cristallina.utils as cu +import cristallina as cr + +from loguru import logger + +from cristallina.uscan import UnfinishedScan + +from joblib import Parallel, delayed, Memory +import sfdata +from sfdata import SFProcFile, SFDataFile, SFDataFiles, SFScanInfo + +memory = Memory(location="/sf/cristallina/data/p22478/work/joblib", compress=2, verbose=2) +pgroup = "p22478" + +print(f"p22478 module imported.") + diff --git a/src/cristallina/uscan.py b/src/cristallina/uscan.py index 9c6c1d4..d4c0fe5 100644 --- a/src/cristallina/uscan.py +++ b/src/cristallina/uscan.py @@ -22,15 +22,26 @@ class UnfinishedScan(SFScanInfo): parser = JSONParser() self.info = info = parser.parse(content) + self.files = info["scan_files"] - self.parameters = info["scan_parameters"] + + try: + self.parameters = info["scan_parameters"] + except KeyError: + self.parameters = None - values = info["scan_values"] - values = [v for v in values if v] + try: + values = info["scan_values"] + values = [v for v in values if v] + except KeyError: + values = None - readbacks = info["scan_readbacks"] - readbacks = [r for r in readbacks if r] + try: + readbacks = info["scan_readbacks"] + readbacks = [r for r in readbacks if r] + except KeyError: + readbacks = None self.values = sfdata.utils.adjust_shape(values) self.readbacks = sfdata.utils.adjust_shape(readbacks) diff --git a/src/cristallina/utils.py b/src/cristallina/utils.py index 86c2059..c7fd491 100644 --- a/src/cristallina/utils.py +++ b/src/cristallina/utils.py @@ -454,7 +454,7 @@ class ROI: def height(self): return self.top - self.bottom - def shift(self, x: float, y: float, inplace=False): + def shift(self, x: float = 0, y: float = 0, inplace=False): """ Returns a new ROI that is shifted by x to the left and by y pixels up. @@ -473,7 +473,7 @@ class ROI: self.top = self.top + y - def expand(self, x: float, y: float, inplace=False): + def expand(self, x: float = 0, y: float = 0, inplace=False): """ Returns a new ROI that is expanded in x to the left and right, and in y to the top and bottom.