pathsim.blocks.scope module
- class pathsim.blocks.scope.Scope(sampling_rate=None, t_wait=0.0, labels=[])[source]
Bases:
BlockBlock for recording time domain data with variable sampling sampling rate.
A time threshold can be set by ‘wait’ to start recording data after the simulation time is larger then the specified waiting time, i.e. ‘t - t_wait > 0’. This is useful for recording data only after all the transients have settled.
- Parameters:
- reset()[source]
Reset the blocks inputs and outputs and also its internal solver, if the block has a solver instance.
- read()[source]
Return the recorded time domain data and the corresponding time for all input ports
- Returns:
time (array[float]) – recorded time points
data (array[obj]) – recorded data points
- sample(t)[source]
Sample the data from all inputs, and overwrites existing timepoints, since we use a dict for storing the recorded data.
- Parameters:
t (float) – evaluation time for sampling
- plot(*args, **kwargs)[source]
Directly create a plot of the recorded data for quick visualization and debugging.
- plot2D(*args, **kwargs)[source]
Directly create a 2D plot of the recorded data for quick visualization and debugging.
Note
Only plots the data recorded from the first two ports.
- save(path='scope.csv')[source]
Save the recording of the scope to a csv file.
- Parameters:
path (str) – path where to save the recording as a csv file
- class pathsim.blocks.scope.RealtimeScope(sampling_rate=None, t_wait=0.0, labels=[], max_samples=None)[source]
Bases:
ScopeAn extension of the ‘Scope’ block that also initializes a realtime plotter that creates an interactive plotting window while the simulation is running.
Otherwise implements the same functionality as the regular ‘Scope’ block.
Note
Due to the plotting being relatively expensive, including this block slows down the simulation significantly but may still be valuable for debugging and testing.
- Parameters:
- plotter
instance of a RealtimePlotter
- Type: