From ae7fc0779f062b3791fb10692b0623fc3db6ba08 Mon Sep 17 00:00:00 2001 From: Gao Date: Mon, 3 Jul 2023 19:32:51 +0200 Subject: [PATCH] regular backup --- ToolFunction/ToolFunction.py | 44 ++++++++++++++++++++++++++++++++++++ fit_test_20230703.ipynb | 7 ++++++ 2 files changed, 51 insertions(+) diff --git a/ToolFunction/ToolFunction.py b/ToolFunction/ToolFunction.py index dd1d23c..1a333fc 100644 --- a/ToolFunction/ToolFunction.py +++ b/ToolFunction/ToolFunction.py @@ -1,5 +1,6 @@ import glob from datetime import date +import copy import numpy as np from uncertainties import unumpy as unp @@ -8,14 +9,37 @@ import xarray as xr def get_mask(dataArray): + """generate a bool mask array for given dataArray + + :param dataArray: The given dataArray + :type dataArray: xarray DataArray + :return: the mask array + :rtype: numpy array of bool elements + """ return np.ones(dataArray.shape, dtype=bool) def remove_bad_shots(dataArray, **kwargs): + """copy and remove bad shots from the dataArray + + :param dataArray: The given dataArray + :type dataArray: xarray DataArray + :return: The dataArray after removement + :rtype: xarray DataArray + """ + dataArray = copy.deepcopy(dataArray) dataArray.loc[dict(kwargs)] = np.nan + return dataArray def auto_rechunk(dataSet): + """rechunk the dataSet or dataArray using auto rechunk function + + :param dataSet: The given dataArray or dataSet + :type dataSet: xarray DataArray or xarray DataSet + :return: The chuncked dataArray or dataSet + :rtype: xarray DataArray or xarray DataSet + """ kwargs = { key: "auto" for key in dataSet.dims @@ -24,6 +48,15 @@ def auto_rechunk(dataSet): def copy_chunk(dataSet, dataChunk): + """copy the chunk and apply to another dataArray or dataSet + + :param dataSet: The dataArray or dataSet will be chunked + :type dataSet: xarray DataArray or xarray DataSet + :param dataChunk: The dataArray or dataSet giving the chunk + :type dataChunk: xarray DataArray or xarray DataSet + :return: The chuncked dataArray or dataSet + :rtype: xarray DataArray or xarray DataSet + """ kwargs = { key: dataChunk.chunksizes[key] for key in dataChunk.chunksizes @@ -33,6 +66,17 @@ def copy_chunk(dataSet, dataChunk): def get_h5_file_path(folderpath, maxFileNum=None, filename='*.h5',): + """_summary_ + + :param folderpath: _description_ + :type folderpath: _type_ + :param maxFileNum: _description_, defaults to None + :type maxFileNum: _type_, optional + :param filename: _description_, defaults to '*.h5' + :type filename: str, optional + :return: _description_ + :rtype: _type_ + """ filepath = np.sort(glob.glob(folderpath + filename)) if maxFileNum is None: return filepath diff --git a/fit_test_20230703.ipynb b/fit_test_20230703.ipynb index 04f1f16..5285fdf 100644 --- a/fit_test_20230703.ipynb +++ b/fit_test_20230703.ipynb @@ -2033,6 +2033,13 @@ "dataSet_cropOD.to_numpy()" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "code", "execution_count": null,