Meta data

Utility classes for meta data storage and handling.

Usage examples:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# load meta data
metadata_container = MetaDataContainer(filename='event_list.txt').load()

# Print content
print(metadata_container)

# Log content
metadata_container.log()

# Filter based on event label
print(metadata_container.filter(event_label='drawer'))

# Filter based on scene label
print(metadata_container.filter(scene_label='office'))

# Filter time segment
print(metadata_container.filter_time_segment(onset=10.0, offset=30.0))

# Add time offset
metadata_container.add_time_offset(100)

# Process events
print(metadata_container.process_events(minimum_event_length=0.5, minimum_event_gap=0.5))

# Combine content
metadata_container2 = MetaDataContainer(filename='event_list.txt').load()
metadata_container += metadata_container2

# Unique file list
metadata_container.file_list

MetaDataItem

Dict based class for storing meta data item (i.e. one row in meta data file).

MetaDataItem(\*args, \*\*kwargs) Constructor
MetaDataItem.id Unique item identifier
MetaDataItem.file Filename
MetaDataItem.scene_label Scene label
MetaDataItem.event_label Event label
MetaDataItem.event_onset Event onset
MetaDataItem.event_offset Event offset
MetaDataItem.identifier Identifier
MetaDataItem.source_label Source label

MetaDataContainer

List of MetaDataItems for storing meta data file in one container.

Reads meta data from CSV-text files. Preferred delimiter is tab, however, other delimiters are supported automatically (they are sniffed automatically).

Supported input formats:

  • [file(string)]
  • [event_onset (float)][tab][event_offset (float)]
  • [file(string)][scene_label(string)]
  • [file(string)][scene_label(string)][identifier(string)]
  • [event_onset (float)][tab][event_offset (float)][tab][event_label (string)]
  • [file(string)][event_onset (float)][tab][event_offset (float)][tab][event_label (string)]
  • [file(string)][event_onset (float)][tab][event_offset (float)][tab][event_label (string)][tab][identifier(string)]
  • [file(string)[tab][scene_label][tab][event_onset (float)][tab][event_offset (float)][tab][event_label (string)]
  • [file(string)[tab][scene_label][tab][event_onset (float)][tab][event_offset (float)][tab][event_label (string)][tab][source_label(string)]
MetaDataContainer(\*args, \*\*kwargs)
MetaDataContainer.log([level]) Log container content
MetaDataContainer.show([show_stats]) Print container content
MetaDataContainer.get_string([show_stats]) Get content in string format
MetaDataContainer.update(data) Replace content with given list
MetaDataContainer.filter([filename, ...]) Filter content
MetaDataContainer.filter_time_segment([...]) Filter time segment
MetaDataContainer.process_events([...]) Process event content
MetaDataContainer.remove_field(field_name) Remove field from meta items
MetaDataContainer.slice_field(field_name) Slice field values into list
MetaDataContainer.filter_time_segment([...]) Filter time segment
MetaDataContainer.add_time_offset(offset) Add time offset to event onset and offset timestamps
MetaDataContainer.file_list List of unique files in the container
MetaDataContainer.event_count Get number of events
MetaDataContainer.scene_label_count Get number of unique scene labels
MetaDataContainer.event_label_count Get number of unique event labels
MetaDataContainer.unique_scene_labels Get unique scene labels
MetaDataContainer.unique_event_labels Get unique event labels
MetaDataContainer.max_offset Find the offset (end-time) of last event
MetaDataContainer.load([filename]) Load event list from delimited text file (csv-formated)
MetaDataContainer.save([filename, delimiter]) Save content to csv file
MetaDataContainer.event_stat_counts() Event count statistics
MetaDataContainer.event_roll([label_list, ...]) Event roll

EventRoll

Class to convert MetaDataContainer to binary matrix indicating event activity withing time segment defined by time_resolution.

EventRoll(metadata_container[, label_list, ...]) Event roll
EventRoll.roll Event roll
EventRoll.pad(length) Pad event roll’s length to given length
EventRoll.plot() Plot Event roll

ProbabilityItem

Dict based class for storing meta data item along with probability.

ProbabilityItem(\*args, \*\*kwargs) Constructor
ProbabilityItem.id Unique item identifier
ProbabilityItem.file Filename
ProbabilityItem.label Label
ProbabilityItem.timestamp
Returns:
ProbabilityItem.probability
Returns:
ProbabilityItem.get_list() Return item values in a list with specified order.

ProbabilityContainer

List of ProbabilityItem for storing meta data along with probabilities in one container.

ProbabilityContainer(\*args, \*\*kwargs)
ProbabilityContainer.log([level]) Log container content
ProbabilityContainer.show(\*\*kwargs) Print container content
ProbabilityContainer.update(data) Replace content with given list
ProbabilityContainer.file_list List of unique files in the container
ProbabilityContainer.unique_labels Get unique labels
ProbabilityContainer.filter([filename, ...]) Filter content
ProbabilityContainer.get_string() Get content in string format
ProbabilityContainer.load([filename]) Load probability list from delimited text file (csv-formated)
ProbabilityContainer.save([filename, delimiter]) Save content to csv file