From f31849b08bf5a42ef996ae522dd7d0d49fa53dfc Mon Sep 17 00:00:00 2001 From: rasmusvt Date: Tue, 16 Aug 2022 12:08:52 +0200 Subject: [PATCH] Add function to pick out scans based on timestamps --- nafuma/xanes/plot.py | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/nafuma/xanes/plot.py b/nafuma/xanes/plot.py index 99e5d9f..f4389d5 100644 --- a/nafuma/xanes/plot.py +++ b/nafuma/xanes/plot.py @@ -4,6 +4,7 @@ from matplotlib.ticker import (MultipleLocator, FormatStrFormatter,AutoMinorLoca import pandas as pd import numpy as np import math +import datetime #import ipywidgets as widgets #from IPython.display import display @@ -13,7 +14,7 @@ import nafuma.plotting as btp import nafuma.auxillary as aux -def plot_xanes(data, options=None): +def plot_xanes(data, options={}): # Update options @@ -30,8 +31,6 @@ def plot_xanes(data, options=None): options = aux.update_options(options=options, required_options=required_options, default_options=default_options) - print(options['xunit']) - if not 'xanes_data' in data.keys(): data['xanes_data'] = xas.io.load_data(data=data, options=options) @@ -59,6 +58,28 @@ def plot_xanes(data, options=None): return fig, ax +def pick_out_scans(metadata: dict, timestamp: list): + + # If either start or end are None, set to way back when or way into the future + if not timestamp[0]: + timestamp[0] = datetime.datetime.strptime('1970 01 01 00:00:00', '%Y %m %d %H:%M:%S') + else: + timestamp[0] = datetime.datetime.strptime(timestamp[0], "%d.%b %y %H.%M.%S") + if not timestamp[1]: + timestamp[1] = datetime.datetime.strptime('3000 01 01 00:00:00', '%Y %m %d %H:%M:%S') + else: + timestamp[1] = datetime.datetime.strptime(timestamp[1], "%d.%b %y %H.%M.%S") + + scans = [] + for i, time in enumerate(metadata['time']): + if time >= timestamp[0] and time <= timestamp[1]: + scans.append(i) + + + return scans + + +