pynn_brainscales.brainscales2.recording.Recorder

class pynn_brainscales.brainscales2.recording.Recorder(population, file=None)

Bases: pyNN.recording.Recorder, pygrenade_vx.network.abstract.frontend.ExperimentElement

__init__(population, file=None)

Create a recorder.

population – the Population instance which is being recorded by the

recorder

file – one of:
  • a file-name,

  • None (write to a temporary file)

  • False (write to memory).

Methods

__init__(population[, file])

Create a recorder.

add_recording(segment, snippet_idx, variable)

Add the recorded samples to the segment.

add_spike_trains(segment, snippet_idx, *[, …])

Add the recorded spike trains to the segment.

add_to_input_data(experiment, …)

Add element to experiment snippet’s input data.

add_to_topology(experiment)

Add element to experiment snippet’s topology.

extract_output_data(experiment)

Extract output data of element from experiment snippet.

filter_recorded(variable, filter_ids)

get(variables[, gather, filter_ids, clear, …])

Return the recorded data as a Neo Block.

record(variables, ids[, sampling_interval, …])

Add the cells in ids to the sets of recorded cells for the given variables.

Attributes

add_recording(segment: neo.core.segment.Segment, snippet_idx: int, variable: str, device: str = 'madc', *, filter_ids=None, clear: bool = True)None

Add the recorded samples to the segment.

Parameters
  • segment – Segment to which add the data.

  • snippet_idx – Snipped for from which to get the samples.

  • variable – Name of variable for which to get the data.

  • device – Device for which get the samples. I.e. CADC or MADC.

  • filter_ids – Ids of cells for which to get the data. If None, the samples of all cells are retrieved.

  • clear – Clear recorded data.

add_spike_trains(segment: neo.core.segment.Segment, snippet_idx: int, *, filter_ids=None, clear: bool = True)None

Add the recorded spike trains to the segment.

Parameters
  • segment – Segment to which to add the spike trains.

  • snippet_idx – Snipped for from which to get the spike trains.

  • filter_ids – Ids of cells for which to get the spike trains. If None, the spike trains of all cells are retrieved.

  • clear – Clear recorded data.

add_to_input_data(experiment: pygrenade_vx.network.abstract.frontend.ExperimentSnippet, snippet_begin_time, snippet_end_time)

Add element to experiment snippet’s input data.

If the snippet doesn’t contain the element yet, it is added. If it is already contained it is updated, if changed_input_data is True. The method is called after mapping is available.

Parameters
  • experiment – Experiment snippet for which to add this element into the snippet’s input data

  • snippet_begin_time – Time at which the snippet begins

  • snippet_end_time – Time at which the snippet ends

add_to_topology(experiment: pygrenade_vx.network.abstract.frontend.ExperimentSnippet)

Add element to experiment snippet’s topology.

If the snippet doesn’t contain the element yet, it is added. If it is already contained it is updated, if changed_topology is True. This method is called before the potential mapping operation.

Parameters

experiment – Experiment snippet for which to add this element into the snippet’s topology

Returns

Whether the element was added to the topology. The experiment doesn’t track interdependencies defining the order in which the elements can be added to the topology. Therefore this method is expected to perform the check whether the element can be added or updated, in which case the return value is expected to be True.

extract_output_data(experiment: List[pygrenade_vx.network.abstract.frontend.ExperimentSnippet])

Extract output data of element from experiment snippet. This method is called after execution of the experiment. Storage in the front end format is to be performed by the front end.

Parameters

experiment – Experiment snippet from which to extract this element’s output data

filter_recorded(variable, filter_ids)
get(variables, gather=False, filter_ids=None, clear=False, annotations=None, locations=None)

Return the recorded data as a Neo Block.

record(variables, ids, sampling_interval=None, locations=None, *, device='madc')

Add the cells in ids to the sets of recorded cells for the given variables.