add basic tunnel info
This commit is contained in:
parent
a95399fb04
commit
5a24ab0bc1
@ -465,10 +465,10 @@ def canny_shock_finder(time_list, pressure_list, sigma = 4, derivative_threshold
|
||||
ax.tick_params(which='both', direction='out')
|
||||
ax.yaxis.set_ticks_position('left')
|
||||
ax.xaxis.set_ticks_position('bottom')
|
||||
for tick in ax.yaxis.get_major_ticks():
|
||||
tick.label.set_fontsize(font_sizes['tick_size'])
|
||||
for tick in ax.xaxis.get_major_ticks():
|
||||
tick.label.set_fontsize(font_sizes['tick_size'])
|
||||
#for tick in ax.yaxis.get_major_ticks():
|
||||
# tick.label.set_fontsize(font_sizes['tick_size'])
|
||||
#for tick in ax.xaxis.get_major_ticks():
|
||||
# tick.label.set_fontsize(font_sizes['tick_size'])
|
||||
|
||||
ax.legend(prop={'size':font_sizes['legend_text_size']}, loc = 'best')
|
||||
|
||||
|
@ -12,7 +12,6 @@ shot-info:
|
||||
config: "x2s5823.config"
|
||||
info: "x2s5823.txt"
|
||||
|
||||
|
||||
probe-info:
|
||||
type: "Fat"
|
||||
locations: # In order of pulse
|
||||
|
66
main.py
66
main.py
@ -22,6 +22,10 @@ for folder in folders:
|
||||
# Load Data
|
||||
DATA_PATH = "./data"
|
||||
DATA_INFO = "_info.yaml"
|
||||
PCB_INFO_FILE = "./pcb-info.yaml"
|
||||
|
||||
with open(PCB_INFO_FILE, 'r') as file:
|
||||
PCB_INFO = yaml.safe_load(file)
|
||||
|
||||
data_to_load = [
|
||||
"x2s5823",
|
||||
@ -85,46 +89,46 @@ for dp in data_to_load:
|
||||
loaded_data = list(data.keys())
|
||||
print("Loaded Data")
|
||||
|
||||
|
||||
foo = data[loaded_data[0]]["x2"][0]
|
||||
bar = foo[:].seconds
|
||||
baz = bar[0]
|
||||
|
||||
print(foo)
|
||||
print(bar)
|
||||
print(baz)
|
||||
|
||||
pass
|
||||
|
||||
def process_data(gData: dict):
|
||||
x2_time = (gData["x2"][0][:] - gData["x2"][0][0]).astype('timedelta64[ns]') # Convert x2 to timedelta64[ns]
|
||||
#x2_time = (gData["x2"][0][:] - gData["x2"][0][0]).astype('timedelta64[ns]') # Convert x2 to timedelta64[ns]
|
||||
|
||||
time_data = data[loaded_data[0]]["x2"][0]
|
||||
second_fractions = np.array(time_data[:].second_fractions, dtype=int)
|
||||
seconds = (second_fractions - second_fractions[0]) * (2**(-64))
|
||||
ns_seconds = seconds * 1E9
|
||||
x2_time = ns_seconds
|
||||
|
||||
trigger_info = gData["info"]["probe-info"]["data-record"]["trigger"] # Get the scope trigger info
|
||||
|
||||
|
||||
# Convert the scope times into timedelta64 & apply config offsets & delays
|
||||
scope_time = np.array([ pd.Timedelta(t, 's').to_numpy() for t in (gData["probes"][:, 0] - gData["probes"][0, 0])])
|
||||
scope_time -= np.timedelta64(trigger_info["alignment-offset"], 'ns')
|
||||
scope_time += np.timedelta64(trigger_info["delay"], 'us')
|
||||
#scope_time = np.array([ pd.Timedelta(t, 's').to_numpy() for t in (gData["probes"][:, 0] - gData["probes"][0, 0])])
|
||||
#scope_time -= np.timedelta64(trigger_info["alignment-offset"], 'ns')
|
||||
#scope_time += np.timedelta64(trigger_info["delay"], 'us')
|
||||
|
||||
scope_time = (gData["probes"][:, 0] - gData["probes"][0, 0]) * 1E9 # to ns
|
||||
scope_time -= trigger_info["alignment-offset"]
|
||||
scope_time += trigger_info["delay"] * 1000 # us -> ns
|
||||
|
||||
|
||||
start_timestamp = np.datetime64(f"{gData["info"]["date"]}T{gData["info"]["time"]}")
|
||||
|
||||
start_time = 0
|
||||
x2_timesteps = np.array([0 for _ in x2_time])
|
||||
# start_time = 0
|
||||
# x2_timesteps = np.array([0 for _ in x2_time])
|
||||
|
||||
for i, dt in enumerate(x2_time):
|
||||
dt = dt.astype("int")
|
||||
if i == 0:
|
||||
x2_timesteps[i] = start_time + dt # should be 0
|
||||
else:
|
||||
x2_timesteps[i] = x2_timesteps[i-1] + dt
|
||||
# for i, dt in enumerate(x2_time):
|
||||
# dt = dt.astype("int")
|
||||
# if i == 0:
|
||||
# x2_timesteps[i] = start_time + dt # should be 0
|
||||
# else:
|
||||
# x2_timesteps[i] = x2_timesteps[i-1] + dt
|
||||
|
||||
test = x2_time.cumsum()
|
||||
# test = x2_time.cumsum()
|
||||
|
||||
return x2_time, scope_time, x2_timesteps
|
||||
return x2_time, scope_time
|
||||
|
||||
|
||||
def genGraph(gData: dict, showPlot: bool = True):
|
||||
x2_time, scope_time, _ = process_data(gData)
|
||||
x2_time, scope_time = process_data(gData)
|
||||
|
||||
graphData = {
|
||||
"title": f"Shock response Time\nFor {gData['info']['long_name']}",
|
||||
@ -176,13 +180,13 @@ genGraph(data[loaded_data[1]], showPlot=False)
|
||||
|
||||
# Try to process things
|
||||
gData = data[loaded_data[0]]
|
||||
x2_time, scope_time, x2_timestamps = process_data(gData)
|
||||
x2_time, scope_time = process_data(gData)
|
||||
|
||||
time = (gData["x2"][0][:] - gData["x2"][0][0])
|
||||
#time = (gData["x2"][0][:] - gData["x2"][0][0])
|
||||
|
||||
#x2_out = canny_shock_finder(time, (gData["x2"][4][:] - gData["x2"][4][0]) * 0.0148)
|
||||
x2_out = canny_shock_finder(x2_time, (gData["x2"][4][:] - gData["x2"][4][0]) * 0.0148)
|
||||
|
||||
#print(x2_out)
|
||||
print(x2_out)
|
||||
|
||||
# This forces matplotlib to hang untill I tell it to close all windows
|
||||
pltKeyClose()
|
||||
|
34
pcb-info.yaml
Normal file
34
pcb-info.yaml
Normal file
@ -0,0 +1,34 @@
|
||||
distance:
|
||||
sd1: 2577 #mm
|
||||
sd2: 2810 #mm
|
||||
sd3: 3043 #mm
|
||||
|
||||
st1: 4231 #mm
|
||||
st2: 4746 #mm
|
||||
st3: 5260 #mm
|
||||
|
||||
at1: 6437 #mm
|
||||
at2: 6615 #mm
|
||||
at3: 6796 #mm
|
||||
|
||||
at4: 7590 #mm
|
||||
at5: 7846 #mm
|
||||
at6: 8096 #mm
|
||||
|
||||
|
||||
volt-scale:
|
||||
sd1: 0.00095 #V/kPa
|
||||
sd2: 0.00095 #V/kPa
|
||||
sd3: 0.000682 #V/kPa
|
||||
|
||||
st1: 0.01482 #V/kPa
|
||||
st2: 0.011687 #V/kPa
|
||||
st3: 0.0145 #V/kPa
|
||||
|
||||
at1: 0.01443 #V/kPa
|
||||
at2: 0.0145 #V/kPa
|
||||
at3: 0.0144798 #V/kPa
|
||||
|
||||
at4: 0.01435 #V/kPa
|
||||
at5: 0.01447 #V/kPa
|
||||
at6: 0.01442 #V/kPa
|
Loading…
x
Reference in New Issue
Block a user