Repository navigation
Expand file tree
/
Copy pathclasses_mopipe.dot
More file actions
126 lines (126 loc) · 21.7 KB
/
Copy pathclasses_mopipe.dot
File metadata and controls
126 lines (126 loc) · 21.7 KB
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
digraph "classes_mopipe" {
rankdir=BT
charset="utf-8"
"mopipe.core.data.reader.AbstractReader" [color="#99DDFF", fontcolor="black", label=<{AbstractReader|allowed_extensions : list[str]<br ALIGN="LEFT"/>data_id : str<br ALIGN="LEFT"/>metadata : MetaData<br ALIGN="LEFT"/>name : str<br ALIGN="LEFT"/>sample_rate : t.Optional[float]<br ALIGN="LEFT"/>source : t.Union[Path, pd.DataFrame]<br ALIGN="LEFT"/>|<I>read</I>(): t.Optional[EmpiricalData]<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.segments.segmenttypes.AnalysisType" [color="#99DDFF", fontcolor="black", label=<{AnalysisType|<br ALIGN="LEFT"/>|}>, shape="record", style="filled"];
"mopipe.core.segments.inputs.AnyInput" [color="#99DDFF", fontcolor="black", label=<{AnyInput|<br ALIGN="LEFT"/>|validate_input(): bool<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.segments.inputs.AnyNumericInput" [color="#99DDFF", fontcolor="black", label=<{AnyNumericInput|<br ALIGN="LEFT"/>|validate_input(): bool<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.segments.outputs.AnyNumericOutput" [color="#99DDFF", fontcolor="black", label=<{AnyNumericOutput|<br ALIGN="LEFT"/>|validate_output(output: t.Any): bool<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.segments.outputs.AnyOutput" [color="#99DDFF", fontcolor="black", label=<{AnyOutput|<br ALIGN="LEFT"/>|validate_output(output: t.Any): bool<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.segments.inputs.AnySeriesInput" [color="#99DDFF", fontcolor="black", label=<{AnySeriesInput|<br ALIGN="LEFT"/>|validate_input(): bool<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.segments.outputs.AnySeriesOutput" [color="#99DDFF", fontcolor="black", label=<{AnySeriesOutput|<br ALIGN="LEFT"/>|validate_output(output: t.Any): bool<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.segment.CalcShift" [color="#77AADD", fontcolor="black", label=<{CalcShift|<br ALIGN="LEFT"/>|process(x: pd.DataFrame, cols: pd.Index \| t.Iterable[str] \| None, shift: int): pd.DataFrame<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.segment.ColMeans" [color="#77AADD", fontcolor="black", label=<{ColMeans|<br ALIGN="LEFT"/>|process(x: pd.DataFrame, col: t.Union[str, int, slice, None]): pd.Series<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.segment.CrossRQAStats" [color="#77AADD", fontcolor="black", label=<{CrossRQAStats|<br ALIGN="LEFT"/>|process(x: pd.DataFrame, col_a: t.Union[str, int], col_b: t.Union[str, int], dim: int, tau: int, threshold: float, lmin: int): pd.DataFrame<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.common.datastructs.DataLevel" [color="#99DDFF", fontcolor="black", label=<{DataLevel|name<br ALIGN="LEFT"/>|}>, shape="record", style="filled"];
"mopipe.core.data.empirical.DiscreteData" [color="#99DDFF", fontcolor="black", label=<{DiscreteData|<br ALIGN="LEFT"/>|}>, shape="record", style="filled"];
"mopipe.core.data.empirical.EmpiricalData" [color="#99DDFF", fontcolor="black", label=<{EmpiricalData|data : DataFrame<br ALIGN="LEFT"/>data_id : str<br ALIGN="LEFT"/>level : str<br ALIGN="LEFT"/>metadata<br ALIGN="LEFT"/>name : str<br ALIGN="LEFT"/>|}>, shape="record", style="filled"];
"mopipe.core.common.datastructs.EnumContainsMeta" [color="#99DDFF", fontcolor="black", label=<{EnumContainsMeta|<br ALIGN="LEFT"/>|}>, shape="record", style="filled"];
"mopipe.core.data.experiment.Experiment" [color="#99DDFF", fontcolor="black", label=<{Experiment|parent : ExperimentLevel \| None<br ALIGN="LEFT"/>|}>, shape="record", style="filled"];
"mopipe.core.data.experiment.ExperimentLevel" [color="#99DDFF", fontcolor="black", label=<{ExperimentLevel|child : t.Optional['ExperimentLevel']<br ALIGN="LEFT"/>depth : int<br ALIGN="LEFT"/>level_id : str<br ALIGN="LEFT"/>level_metadata : 'MetaData'<br ALIGN="LEFT"/>level_name : str<br ALIGN="LEFT"/>leveldata : list['EmpiricalData']<br ALIGN="LEFT"/>parent : t.Optional['ExperimentLevel']<br ALIGN="LEFT"/>timeseries : list['EmpiricalData']<br ALIGN="LEFT"/>|add_leveldata(leveldata: 'EmpiricalData'): None<br ALIGN="LEFT"/>add_timeseries(timeseries: 'EmpiricalData'): None<br ALIGN="LEFT"/>bottom(): 'ExperimentLevel'<br ALIGN="LEFT"/>climb(): t.Iterator['ExperimentLevel']<br ALIGN="LEFT"/>descend(): t.Iterator['ExperimentLevel']<br ALIGN="LEFT"/>get_timeseries_by_id(data_id: str): t.Optional['EmpiricalData']<br ALIGN="LEFT"/>get_timeseries_by_name(name: str): t.Optional['EmpiricalData']<br ALIGN="LEFT"/>relevel_children(): None<br ALIGN="LEFT"/>relevel_stack()<br ALIGN="LEFT"/>run_pipeline(pipeline: 'Pipeline', data_name: t.Optional[str], result_name: t.Optional[str]): 'EmpiricalData'<br ALIGN="LEFT"/>run_pipeline_on_descendants(pipeline: 'Pipeline', target_depth: t.Optional[int], data_name: t.Optional[str], result_name: t.Optional[str]): list['EmpiricalData']<br ALIGN="LEFT"/>top(): 'ExperimentLevel'<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.segments.io.IOType" [color="#99DDFF", fontcolor="black", label=<{IOType|name<br ALIGN="LEFT"/>|}>, shape="record", style="filled"];
"mopipe.core.segments.io.IOTypeBaseMixin" [color="#99DDFF", fontcolor="black", label=<{IOTypeBaseMixin|<br ALIGN="LEFT"/>|}>, shape="record", style="filled"];
"mopipe.core.segments.inputs.InputTypeBaseMixin" [color="#99DDFF", fontcolor="black", label=<{InputTypeBaseMixin|input_type : IOType<br ALIGN="LEFT"/>|<I>validate_input</I>(): bool<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.data.experiment.LDType" [color="#99DDFF", fontcolor="black", label=<{LDType|name<br ALIGN="LEFT"/>|}>, shape="record", style="filled"];
"mopipe.segment.Mean" [color="#77AADD", fontcolor="black", label=<{Mean|<br ALIGN="LEFT"/>|process(x: t.Union[pd.Series, pd.DataFrame]): float<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.data.empirical.MetaData" [color="#99DDFF", fontcolor="black", label=<{MetaData|<br ALIGN="LEFT"/>|}>, shape="record", style="filled"];
"mopipe.core.data.collator.MocapDataCollator" [color="#99DDFF", fontcolor="black", label=<{MocapDataCollator|output_dir : Path<br ALIGN="LEFT"/>output_name : str<br ALIGN="LEFT"/>primary_reader : int<br ALIGN="LEFT"/>readers : list[AbstractReader]<br ALIGN="LEFT"/>|add_reader(reader: AbstractReader): int<br ALIGN="LEFT"/>collate(method: str): EmpiricalData<br ALIGN="LEFT"/>set_primary_reader(index: int): None<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.data.empirical.MocapMetaData" [color="#99DDFF", fontcolor="black", label=<{MocapMetaData|<br ALIGN="LEFT"/>|}>, shape="record", style="filled"];
"mopipe.core.common.datastructs.MocapMetadataEntries" [color="#99DDFF", fontcolor="black", label=<{MocapMetadataEntries|name<br ALIGN="LEFT"/>|}>, shape="record", style="filled"];
"mopipe.core.data.reader.MocapReader" [color="#99DDFF", fontcolor="black", label=<{MocapReader|metadata : MocapMetaData<br ALIGN="LEFT"/>|read(): MocapTimeSeries<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.data.empirical.MocapTimeSeries" [color="#99DDFF", fontcolor="black", label=<{MocapTimeSeries|metadata<br ALIGN="LEFT"/>|}>, shape="record", style="filled"];
"mopipe.core.segments.inputs.MultiValueInput" [color="#99DDFF", fontcolor="black", label=<{MultiValueInput|<br ALIGN="LEFT"/>|validate_input(): bool<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.segments.outputs.MultiValueOutput" [color="#99DDFF", fontcolor="black", label=<{MultiValueOutput|<br ALIGN="LEFT"/>|validate_output(output: t.Any): bool<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.segments.inputs.MultivariateSeriesInput" [color="#99DDFF", fontcolor="black", label=<{MultivariateSeriesInput|<br ALIGN="LEFT"/>|validate_input(): bool<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.segments.outputs.MultivariateSeriesOutput" [color="#99DDFF", fontcolor="black", label=<{MultivariateSeriesOutput|<br ALIGN="LEFT"/>|validate_output(output: t.Any): bool<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.segments.inputs.OtherInput" [color="#99DDFF", fontcolor="black", label=<{OtherInput|<br ALIGN="LEFT"/>|validate_input(): bool<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.segments.outputs.OtherOutput" [color="#99DDFF", fontcolor="black", label=<{OtherOutput|<br ALIGN="LEFT"/>|validate_output(output: t.Any): bool<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.segments.segmenttypes.OtherType" [color="#99DDFF", fontcolor="black", label=<{OtherType|<br ALIGN="LEFT"/>|}>, shape="record", style="filled"];
"mopipe.core.segments.outputs.OutputTypeBaseMixin" [color="#99DDFF", fontcolor="black", label=<{OutputTypeBaseMixin|output_type : IOType<br ALIGN="LEFT"/>|<I>validate_output</I>(output: t.Any): bool<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.analysis.pipeline.Pipeline" [color="#99DDFF", fontcolor="black", label=<{Pipeline|cache_dir : t.Optional[t.Union[str, Path]]<br ALIGN="LEFT"/>segments : t.MutableSequence[Segment]<br ALIGN="LEFT"/>|add_segment(segment: Segment): int<br ALIGN="LEFT"/>clear_cache(): None<br ALIGN="LEFT"/>insert(index: int, value: Segment): None<br ALIGN="LEFT"/>run(): t.Any<br ALIGN="LEFT"/>segment(index: int): Segment<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.segments.segmenttypes.PreprocessorType" [color="#99DDFF", fontcolor="black", label=<{PreprocessorType|<br ALIGN="LEFT"/>|}>, shape="record", style="filled"];
"mopipe.segment.RQAStats" [color="#77AADD", fontcolor="black", label=<{RQAStats|<br ALIGN="LEFT"/>|process(x: pd.Series, dim: int, tau: int, threshold: float, lmin: int): pd.DataFrame<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.segments.seg.Segment" [color="#99DDFF", fontcolor="black", label=<{Segment|input_type : IOType<br ALIGN="LEFT"/>name : str<br ALIGN="LEFT"/>output_type : IOType<br ALIGN="LEFT"/>segment_id : str<br ALIGN="LEFT"/>segment_type : SegmentType<br ALIGN="LEFT"/>|<I>process</I>(x: t.Any): t.Any<br ALIGN="LEFT"/><I>validate_input</I>(): bool<br ALIGN="LEFT"/><I>validate_output</I>(output: t.Any): bool<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.segments.seg.SegmentMeta" [color="#99DDFF", fontcolor="black", label=<{SegmentMeta|<br ALIGN="LEFT"/>|}>, shape="record", style="filled"];
"mopipe.core.segments.segmenttypes.SegmentType" [color="#99DDFF", fontcolor="black", label=<{SegmentType|name<br ALIGN="LEFT"/>|}>, shape="record", style="filled"];
"mopipe.core.segments.segmenttypes.SegmentTypeMixin" [color="#99DDFF", fontcolor="black", label=<{SegmentTypeMixin|segment_type : SegmentType<br ALIGN="LEFT"/>|}>, shape="record", style="filled"];
"mopipe.segment.SimpleGapFilling" [color="#77AADD", fontcolor="black", label=<{SimpleGapFilling|<br ALIGN="LEFT"/>|process(x: pd.DataFrame): pd.DataFrame<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.segments.inputs.SingleNumericValueInput" [color="#99DDFF", fontcolor="black", label=<{SingleNumericValueInput|<br ALIGN="LEFT"/>|validate_input(): bool<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.segments.outputs.SingleNumericValueOutput" [color="#99DDFF", fontcolor="black", label=<{SingleNumericValueOutput|<br ALIGN="LEFT"/>|validate_output(output: t.Any): bool<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.segments.inputs.SingleValueInput" [color="#99DDFF", fontcolor="black", label=<{SingleValueInput|<br ALIGN="LEFT"/>|validate_input(): bool<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.segments.outputs.SingleValueOutput" [color="#99DDFF", fontcolor="black", label=<{SingleValueOutput|<br ALIGN="LEFT"/>|validate_output(output: t.Any): bool<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.segments.segmenttypes.SummaryType" [color="#99DDFF", fontcolor="black", label=<{SummaryType|<br ALIGN="LEFT"/>|}>, shape="record", style="filled"];
"mopipe.core.data.empirical.TimeseriesData" [color="#99DDFF", fontcolor="black", label=<{TimeseriesData|<br ALIGN="LEFT"/>|}>, shape="record", style="filled"];
"mopipe.core.common.qtm.TrajectoryType" [color="#99DDFF", fontcolor="black", label=<{TrajectoryType|name<br ALIGN="LEFT"/>|from_str(string: str): 'TrajectoryType'<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.segments.segmenttypes.TransformType" [color="#99DDFF", fontcolor="black", label=<{TransformType|<br ALIGN="LEFT"/>|}>, shape="record", style="filled"];
"mopipe.core.data.experiment.Trial" [color="#99DDFF", fontcolor="black", label=<{Trial|child : ExperimentLevel \| None<br ALIGN="LEFT"/>|}>, shape="record", style="filled"];
"mopipe.core.segments.inputs.UnivariateSeriesInput" [color="#99DDFF", fontcolor="black", label=<{UnivariateSeriesInput|<br ALIGN="LEFT"/>|validate_input(): bool<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.segments.outputs.UnivariateSeriesOutput" [color="#99DDFF", fontcolor="black", label=<{UnivariateSeriesOutput|<br ALIGN="LEFT"/>|validate_output(output: t.Any): bool<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.segments.segmenttypes.VisualizationType" [color="#99DDFF", fontcolor="black", label=<{VisualizationType|<br ALIGN="LEFT"/>|}>, shape="record", style="filled"];
"mopipe.segment.WindowedCrossRQAStats" [color="#77AADD", fontcolor="black", label=<{WindowedCrossRQAStats|<br ALIGN="LEFT"/>|process(x: pd.DataFrame, col_a: t.Union[str, int], col_b: t.Union[str, int], dim: int, tau: int, threshold: float, lmin: int, window: int, step: int): pd.DataFrame<br ALIGN="LEFT"/>}>, shape="record", style="filled"];
"mopipe.core.segments.segmenttypes.WriteType" [color="#99DDFF", fontcolor="black", label=<{WriteType|<br ALIGN="LEFT"/>|}>, shape="record", style="filled"];
"mopipe.core.data.empirical.DiscreteData" -> "mopipe.core.data.empirical.EmpiricalData" [arrowhead="empty", arrowtail="none"];
"mopipe.core.data.empirical.MocapMetaData" -> "mopipe.core.data.empirical.MetaData" [arrowhead="empty", arrowtail="none"];
"mopipe.core.data.empirical.MocapTimeSeries" -> "mopipe.core.data.empirical.TimeseriesData" [arrowhead="empty", arrowtail="none"];
"mopipe.core.data.empirical.TimeseriesData" -> "mopipe.core.data.empirical.EmpiricalData" [arrowhead="empty", arrowtail="none"];
"mopipe.core.data.experiment.Experiment" -> "mopipe.core.data.experiment.ExperimentLevel" [arrowhead="empty", arrowtail="none"];
"mopipe.core.data.experiment.Trial" -> "mopipe.core.data.experiment.ExperimentLevel" [arrowhead="empty", arrowtail="none"];
"mopipe.core.data.reader.MocapReader" -> "mopipe.core.data.reader.AbstractReader" [arrowhead="empty", arrowtail="none"];
"mopipe.core.segments.inputs.AnyInput" -> "mopipe.core.segments.inputs.InputTypeBaseMixin" [arrowhead="empty", arrowtail="none"];
"mopipe.core.segments.inputs.AnyNumericInput" -> "mopipe.core.segments.inputs.InputTypeBaseMixin" [arrowhead="empty", arrowtail="none"];
"mopipe.core.segments.inputs.AnySeriesInput" -> "mopipe.core.segments.inputs.InputTypeBaseMixin" [arrowhead="empty", arrowtail="none"];
"mopipe.core.segments.inputs.InputTypeBaseMixin" -> "mopipe.core.segments.io.IOTypeBaseMixin" [arrowhead="empty", arrowtail="none"];
"mopipe.core.segments.inputs.MultiValueInput" -> "mopipe.core.segments.inputs.InputTypeBaseMixin" [arrowhead="empty", arrowtail="none"];
"mopipe.core.segments.inputs.MultivariateSeriesInput" -> "mopipe.core.segments.inputs.InputTypeBaseMixin" [arrowhead="empty", arrowtail="none"];
"mopipe.core.segments.inputs.OtherInput" -> "mopipe.core.segments.inputs.InputTypeBaseMixin" [arrowhead="empty", arrowtail="none"];
"mopipe.core.segments.inputs.SingleNumericValueInput" -> "mopipe.core.segments.inputs.InputTypeBaseMixin" [arrowhead="empty", arrowtail="none"];
"mopipe.core.segments.inputs.SingleValueInput" -> "mopipe.core.segments.inputs.InputTypeBaseMixin" [arrowhead="empty", arrowtail="none"];
"mopipe.core.segments.inputs.UnivariateSeriesInput" -> "mopipe.core.segments.inputs.InputTypeBaseMixin" [arrowhead="empty", arrowtail="none"];
"mopipe.core.segments.outputs.AnyNumericOutput" -> "mopipe.core.segments.outputs.OutputTypeBaseMixin" [arrowhead="empty", arrowtail="none"];
"mopipe.core.segments.outputs.AnyOutput" -> "mopipe.core.segments.outputs.OutputTypeBaseMixin" [arrowhead="empty", arrowtail="none"];
"mopipe.core.segments.outputs.AnySeriesOutput" -> "mopipe.core.segments.outputs.OutputTypeBaseMixin" [arrowhead="empty", arrowtail="none"];
"mopipe.core.segments.outputs.MultiValueOutput" -> "mopipe.core.segments.outputs.OutputTypeBaseMixin" [arrowhead="empty", arrowtail="none"];
"mopipe.core.segments.outputs.MultivariateSeriesOutput" -> "mopipe.core.segments.outputs.OutputTypeBaseMixin" [arrowhead="empty", arrowtail="none"];
"mopipe.core.segments.outputs.OtherOutput" -> "mopipe.core.segments.outputs.OutputTypeBaseMixin" [arrowhead="empty", arrowtail="none"];
"mopipe.core.segments.outputs.OutputTypeBaseMixin" -> "mopipe.core.segments.io.IOTypeBaseMixin" [arrowhead="empty", arrowtail="none"];
"mopipe.core.segments.outputs.SingleNumericValueOutput" -> "mopipe.core.segments.outputs.OutputTypeBaseMixin" [arrowhead="empty", arrowtail="none"];
"mopipe.core.segments.outputs.SingleValueOutput" -> "mopipe.core.segments.outputs.OutputTypeBaseMixin" [arrowhead="empty", arrowtail="none"];
"mopipe.core.segments.outputs.UnivariateSeriesOutput" -> "mopipe.core.segments.outputs.OutputTypeBaseMixin" [arrowhead="empty", arrowtail="none"];
"mopipe.core.segments.segmenttypes.AnalysisType" -> "mopipe.core.segments.segmenttypes.SegmentTypeMixin" [arrowhead="empty", arrowtail="none"];
"mopipe.core.segments.segmenttypes.OtherType" -> "mopipe.core.segments.segmenttypes.SegmentTypeMixin" [arrowhead="empty", arrowtail="none"];
"mopipe.core.segments.segmenttypes.PreprocessorType" -> "mopipe.core.segments.segmenttypes.SegmentTypeMixin" [arrowhead="empty", arrowtail="none"];
"mopipe.core.segments.segmenttypes.SummaryType" -> "mopipe.core.segments.segmenttypes.SegmentTypeMixin" [arrowhead="empty", arrowtail="none"];
"mopipe.core.segments.segmenttypes.TransformType" -> "mopipe.core.segments.segmenttypes.SegmentTypeMixin" [arrowhead="empty", arrowtail="none"];
"mopipe.core.segments.segmenttypes.VisualizationType" -> "mopipe.core.segments.segmenttypes.SegmentTypeMixin" [arrowhead="empty", arrowtail="none"];
"mopipe.core.segments.segmenttypes.WriteType" -> "mopipe.core.segments.segmenttypes.SegmentTypeMixin" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.CalcShift" -> "mopipe.core.segments.inputs.MultivariateSeriesInput" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.CalcShift" -> "mopipe.core.segments.outputs.MultivariateSeriesOutput" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.CalcShift" -> "mopipe.core.segments.seg.Segment" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.CalcShift" -> "mopipe.core.segments.segmenttypes.TransformType" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.ColMeans" -> "mopipe.core.segments.inputs.MultivariateSeriesInput" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.ColMeans" -> "mopipe.core.segments.outputs.UnivariateSeriesOutput" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.ColMeans" -> "mopipe.core.segments.seg.Segment" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.ColMeans" -> "mopipe.core.segments.segmenttypes.SummaryType" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.CrossRQAStats" -> "mopipe.core.segments.inputs.MultivariateSeriesInput" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.CrossRQAStats" -> "mopipe.core.segments.outputs.AnySeriesOutput" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.CrossRQAStats" -> "mopipe.core.segments.seg.Segment" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.CrossRQAStats" -> "mopipe.core.segments.segmenttypes.AnalysisType" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.Mean" -> "mopipe.core.segments.inputs.AnySeriesInput" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.Mean" -> "mopipe.core.segments.outputs.SingleNumericValueOutput" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.Mean" -> "mopipe.core.segments.seg.Segment" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.Mean" -> "mopipe.core.segments.segmenttypes.SummaryType" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.RQAStats" -> "mopipe.core.segments.inputs.UnivariateSeriesInput" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.RQAStats" -> "mopipe.core.segments.outputs.AnySeriesOutput" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.RQAStats" -> "mopipe.core.segments.seg.Segment" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.RQAStats" -> "mopipe.core.segments.segmenttypes.AnalysisType" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.SimpleGapFilling" -> "mopipe.core.segments.inputs.MultivariateSeriesInput" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.SimpleGapFilling" -> "mopipe.core.segments.outputs.MultivariateSeriesOutput" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.SimpleGapFilling" -> "mopipe.core.segments.seg.Segment" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.SimpleGapFilling" -> "mopipe.core.segments.segmenttypes.TransformType" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.WindowedCrossRQAStats" -> "mopipe.core.segments.inputs.MultivariateSeriesInput" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.WindowedCrossRQAStats" -> "mopipe.core.segments.outputs.AnySeriesOutput" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.WindowedCrossRQAStats" -> "mopipe.core.segments.seg.Segment" [arrowhead="empty", arrowtail="none"];
"mopipe.segment.WindowedCrossRQAStats" -> "mopipe.core.segments.segmenttypes.AnalysisType" [arrowhead="empty", arrowtail="none"];
"mopipe.core.data.empirical.MocapTimeSeries" -> "mopipe.core.data.empirical.MocapMetaData" [arrowhead="vee", arrowtail="none", fontcolor="green", label="metadata", style="solid"];
"mopipe.core.data.empirical.MetaData" -> "mopipe.core.data.empirical.EmpiricalData" [arrowhead="odiamond", arrowtail="none", fontcolor="green", label="metadata", style="solid"];
}