Clean graphs a bit, add HiKe comparison graph

This commit is contained in:
David Bailey 2025-01-28 14:56:05 +01:00
parent b7504031ac
commit fc94830e5f
8 changed files with 20153 additions and 8 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 79 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 97 KiB

Before After
Before After

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 61 KiB

Before After
Before After

View file

@ -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'):

View file

@ -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)