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);
|
||||
|
||||
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):
|
||||
print("Normalizing bandwidth for all steps...")
|
||||
|
||||
|
@ -285,7 +304,7 @@ def perform_peak_normalization(plot_data, plot_config):
|
|||
y_max = max(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:
|
||||
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']]
|
||||
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:
|
||||
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):
|
||||
perform_x_adjustment(plot_data, plot_config);
|
||||
|
||||
if(data_process_step == 'normalize_bandwidth'):
|
||||
perform_bandwidth_normalization(plot_data, plot_config)
|
||||
if(data_process_step == 'remove_offset'):
|
||||
|
|
|
@ -99,6 +99,36 @@ plots:
|
|||
linewidth: 0.8
|
||||
|
||||
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
|
||||
loadtype: ltspice
|
||||
type: single
|
||||
|
@ -122,9 +152,9 @@ plots:
|
|||
xscale: log
|
||||
|
||||
ofile: Parasitics/SingleStage_noise_example.png
|
||||
- load:
|
||||
47M N.1: V1_Measurements/V1.1-a1/47M_cap/linearity_1.csv
|
||||
47M N.2: V1_Measurements/V1.1-a1/47M_cap/linearity_2.csv
|
||||
- load:
|
||||
47M: V1_Measurements/V1.1-a1/47M_cap/linearity_1.csv
|
||||
# 47M N.2: V1_Measurements/V1.1-a1/47M_cap/linearity_2.csv
|
||||
loadtype: multicsv
|
||||
|
||||
load_values: ["Setpoint", "Measurement", "Error"]
|
||||
|
@ -136,7 +166,9 @@ plots:
|
|||
|
||||
xscale: linear
|
||||
yformatter: engineering
|
||||
yplaces: 1
|
||||
yplaces: 0
|
||||
|
||||
colourmap: default
|
||||
|
||||
ymax: 0.0025
|
||||
ymin: -0.0025
|
||||
|
@ -147,8 +179,8 @@ plots:
|
|||
|
||||
ofile: V1_Measurements/V1.1-a1/47M_cap/linearity_error.png
|
||||
- load:
|
||||
47M N.1: V1_Measurements/V1.1-a1/47M_cap/linearity_1.csv
|
||||
47M N.2: V1_Measurements/V1.1-a1/47M_cap/linearity_2.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
|
||||
loadtype: multicsv
|
||||
|
||||
load_values: ["Setpoint", "Measurement"]
|
||||
|
@ -158,6 +190,8 @@ plots:
|
|||
y_key: Measurement
|
||||
x_key: Setpoint
|
||||
|
||||
colourmap: default
|
||||
|
||||
xscale: linear
|
||||
|
||||
xlabel: Input current (nA)
|
||||
|
|