Clean graphs a bit, add HiKe comparison graph
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 79 KiB |
Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 97 KiB |
10045
Images/Datavis/V1_Measurements/V1.1-a1/2M4/HiKe_GemiTIV_DR55_RR65.csv
Normal file
10045
Images/Datavis/V1_Measurements/V1.1-a1/2M4/HiKe_HighTIME_DR55_RR65.csv
Normal file
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 61 KiB |
|
@ -260,6 +260,25 @@ def plot_lt_sweep(fig, plot_config, plot_data):
|
||||||
|
|
||||||
decorate_ax(ax, plot_config);
|
decorate_ax(ax, plot_config);
|
||||||
|
|
||||||
|
def perform_x_adjustment(plot_data, plot_config):
|
||||||
|
if(not ('x_key' in plot_config)):
|
||||||
|
return;
|
||||||
|
|
||||||
|
print("Adjusting X scaling // offset");
|
||||||
|
|
||||||
|
x_rescale = plot_config.get('xrescale', 1);
|
||||||
|
x_shift = plot_config.get('xshift', 0);
|
||||||
|
|
||||||
|
for step in plot_data['steps']:
|
||||||
|
x_data = step[plot_config['x_key']]
|
||||||
|
|
||||||
|
new_x_data = []
|
||||||
|
|
||||||
|
for datapoint in x_data:
|
||||||
|
new_x_data.append(datapoint*x_rescale + x_shift)
|
||||||
|
|
||||||
|
step[plot_config['x_key']] = new_x_data
|
||||||
|
|
||||||
def perform_bandwidth_normalization(plot_data, plot_config):
|
def perform_bandwidth_normalization(plot_data, plot_config):
|
||||||
print("Normalizing bandwidth for all steps...")
|
print("Normalizing bandwidth for all steps...")
|
||||||
|
|
||||||
|
@ -285,7 +304,7 @@ def perform_peak_normalization(plot_data, plot_config):
|
||||||
y_max = max(y_data)
|
y_max = max(y_data)
|
||||||
y_min = min(y_data)
|
y_min = min(y_data)
|
||||||
|
|
||||||
scaling_factor = 0.1 + 0.9*(y_max if (y_max > (-y_min)) else y_min)
|
scaling_factor = 0.05 + 0.95*(y_max if (y_max > (-y_min)) else y_min)
|
||||||
|
|
||||||
for datapoint in y_data:
|
for datapoint in y_data:
|
||||||
new_y_data.append(datapoint / scaling_factor)
|
new_y_data.append(datapoint / scaling_factor)
|
||||||
|
@ -299,7 +318,7 @@ def perform_offset_removal(plot_data, plot_config):
|
||||||
y_data = step[plot_config['y_key']]
|
y_data = step[plot_config['y_key']]
|
||||||
new_y_data = []
|
new_y_data = []
|
||||||
|
|
||||||
offset_value = np.percentile(y_data, 30) * 0.8
|
offset_value = np.percentile(y_data, 30) * 0.9
|
||||||
|
|
||||||
for datapoint in y_data:
|
for datapoint in y_data:
|
||||||
new_y_data.append(datapoint - offset_value)
|
new_y_data.append(datapoint - offset_value)
|
||||||
|
@ -308,6 +327,8 @@ def perform_offset_removal(plot_data, plot_config):
|
||||||
|
|
||||||
|
|
||||||
def perform_processing_step(data_process_step, plot_data, plot_config):
|
def perform_processing_step(data_process_step, plot_data, plot_config):
|
||||||
|
perform_x_adjustment(plot_data, plot_config);
|
||||||
|
|
||||||
if(data_process_step == 'normalize_bandwidth'):
|
if(data_process_step == 'normalize_bandwidth'):
|
||||||
perform_bandwidth_normalization(plot_data, plot_config)
|
perform_bandwidth_normalization(plot_data, plot_config)
|
||||||
if(data_process_step == 'remove_offset'):
|
if(data_process_step == 'remove_offset'):
|
||||||
|
|
|
@ -99,6 +99,36 @@ plots:
|
||||||
linewidth: 0.8
|
linewidth: 0.8
|
||||||
|
|
||||||
ofile: IMS Measurements/raw_compare.png
|
ofile: IMS Measurements/raw_compare.png
|
||||||
|
- loadtype: multicsv
|
||||||
|
load:
|
||||||
|
GemiTIV: V1_Measurements/V1.1-a1/2M4/HiKe_GemiTIV_DR55_RR65.csv
|
||||||
|
HighTIME: V1_Measurements/V1.1-a1/2M4/HiKe_HighTIME_DR55_RR65.csv
|
||||||
|
|
||||||
|
load_values: ["drift_time", "amplitude"]
|
||||||
|
|
||||||
|
type: lt_sweep
|
||||||
|
|
||||||
|
data_processing_steps:
|
||||||
|
- normalize_peak
|
||||||
|
- remove_offset
|
||||||
|
- normalize_peak
|
||||||
|
|
||||||
|
y_key: amplitude
|
||||||
|
x_key: drift_time
|
||||||
|
|
||||||
|
xscale: linear
|
||||||
|
#xmin: 0.0001
|
||||||
|
#xmax: 0.001
|
||||||
|
|
||||||
|
xrescale: 0.1
|
||||||
|
|
||||||
|
xlabel: Time (s)
|
||||||
|
ylabel: Normalized voltage (a.u.)
|
||||||
|
legend_title: TIV
|
||||||
|
|
||||||
|
linewidth: 0.8
|
||||||
|
|
||||||
|
ofile: IMS Measurements/hike_raw_compare.png
|
||||||
- load: Parasitics/SingleStage_noise_example.txt
|
- load: Parasitics/SingleStage_noise_example.txt
|
||||||
loadtype: ltspice
|
loadtype: ltspice
|
||||||
type: single
|
type: single
|
||||||
|
@ -122,9 +152,9 @@ plots:
|
||||||
xscale: log
|
xscale: log
|
||||||
|
|
||||||
ofile: Parasitics/SingleStage_noise_example.png
|
ofile: Parasitics/SingleStage_noise_example.png
|
||||||
- load:
|
- load:
|
||||||
47M N.1: V1_Measurements/V1.1-a1/47M_cap/linearity_1.csv
|
47M: V1_Measurements/V1.1-a1/47M_cap/linearity_1.csv
|
||||||
47M N.2: V1_Measurements/V1.1-a1/47M_cap/linearity_2.csv
|
# 47M N.2: V1_Measurements/V1.1-a1/47M_cap/linearity_2.csv
|
||||||
loadtype: multicsv
|
loadtype: multicsv
|
||||||
|
|
||||||
load_values: ["Setpoint", "Measurement", "Error"]
|
load_values: ["Setpoint", "Measurement", "Error"]
|
||||||
|
@ -136,7 +166,9 @@ plots:
|
||||||
|
|
||||||
xscale: linear
|
xscale: linear
|
||||||
yformatter: engineering
|
yformatter: engineering
|
||||||
yplaces: 1
|
yplaces: 0
|
||||||
|
|
||||||
|
colourmap: default
|
||||||
|
|
||||||
ymax: 0.0025
|
ymax: 0.0025
|
||||||
ymin: -0.0025
|
ymin: -0.0025
|
||||||
|
@ -147,8 +179,8 @@ plots:
|
||||||
|
|
||||||
ofile: V1_Measurements/V1.1-a1/47M_cap/linearity_error.png
|
ofile: V1_Measurements/V1.1-a1/47M_cap/linearity_error.png
|
||||||
- load:
|
- load:
|
||||||
47M N.1: V1_Measurements/V1.1-a1/47M_cap/linearity_1.csv
|
47M: V1_Measurements/V1.1-a1/47M_cap/linearity_1.csv
|
||||||
47M N.2: V1_Measurements/V1.1-a1/47M_cap/linearity_2.csv
|
# 47M N.2: V1_Measurements/V1.1-a1/47M_cap/linearity_2.csv
|
||||||
loadtype: multicsv
|
loadtype: multicsv
|
||||||
|
|
||||||
load_values: ["Setpoint", "Measurement"]
|
load_values: ["Setpoint", "Measurement"]
|
||||||
|
@ -158,6 +190,8 @@ plots:
|
||||||
y_key: Measurement
|
y_key: Measurement
|
||||||
x_key: Setpoint
|
x_key: Setpoint
|
||||||
|
|
||||||
|
colourmap: default
|
||||||
|
|
||||||
xscale: linear
|
xscale: linear
|
||||||
|
|
||||||
xlabel: Input current (nA)
|
xlabel: Input current (nA)
|
||||||
|
|