Adaptive Buffer

class pathsim.utils.adaptivebuffer.AdaptiveBuffer(delay)[source]

Bases: object

A class that manages an adaptive buffer for delay modeling which is primarily used in the pathsim ‘Delay’ block but might have future applications aswell.

It implements a linear interpolation for arbitrary time lookup.

Parameters:

delay (float) – time delay in seconds

buffer_t

deque that collects the time data for buffering

Type:

deque

buffer_v

deque that collects the value data for buffering

Type:

deque

ns

safety for buffer truncation

Type:

int

add(t, value)[source]

adding a new datapoint to the buffer

Parameters:
interp(t)[source]

interpolate buffer at defined lookup time

Parameters:

t (float) – time for interpolation

Returns:

out – interpolated value

Return type:

float, array

get(t)[source]

lookup datapoint from buffer with delay at t_lookup = t - delay

Parameters:

t (float) – time for lookup with delay

clear()[source]

clear the buffer, reset everything

to_checkpoint(prefix)[source]

Serialize buffer state for checkpointing.

Parameters:

prefix (str) – NPZ key prefix

Returns:

npz_data – numpy arrays keyed by path

Return type:

dict

load_checkpoint(npz, prefix)[source]

Restore buffer state from checkpoint.

Parameters:
  • npz (dict-like) – numpy arrays from checkpoint NPZ

  • prefix (str) – NPZ key prefix