Skip to content

Commit

Permalink
Merge pull request #471 from OpenTrafficCam/feature/4466-show-events-…
Browse files Browse the repository at this point in the history
…of-current-filter-range

feature/4466-show-events-of-current-filter-range
  • Loading branch information
randy-seng committed Feb 29, 2024
2 parents 0ee04c9 + 012054a commit 6fa4830
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 6 deletions.
3 changes: 2 additions & 1 deletion OTAnalytics/plugin_prototypes/event_visualization.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
from OTAnalytics.domain import event, track
from OTAnalytics.domain.event import Event, EventRepository
from OTAnalytics.domain.progress import ProgressbarBuilder
from OTAnalytics.domain.types import EventType
from OTAnalytics.plugin_filter.dataframe_filter import DataFrameFilterBuilder
from OTAnalytics.plugin_prototypes.track_visualization.track_viz import (
PandasDataFrameProvider,
Expand Down Expand Up @@ -58,7 +59,7 @@ def _convert_tracks(self, events: Iterable[Event]) -> DataFrame:
event.VIDEO_NAME: track.VIDEO_NAME,
}
)

data = data.loc[data[event.EVENT_TYPE] == EventType.SECTION_ENTER.value, :]
df = data.set_index([track.TRACK_ID, track.OCCURRENCE])
df.index.names = [track.TRACK_ID, track.OCCURRENCE]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -679,7 +679,7 @@ def _plot_dataframe(self, track_df: DataFrame, axes: Axes) -> None:
hue=track.TRACK_CLASSIFICATION,
data=track_df_start_end,
style="type",
markers={"start": ">", "end": "$x$"},
markers={"start": ">", "end": "s"},
legend=self._enable_legend,
s=15,
ax=axes,
Expand Down
31 changes: 27 additions & 4 deletions OTAnalytics/plugin_ui/visualization/visualization.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,10 @@
ALPHA_BOUNDING_BOX = 0.7
LINEWIDTH_BOUNDING_BOX = 1.5
MARKERSIZE_TRACK_POINT = 6
MARKERSIZE_EVENT_FRAME = 12
MARKERSIZE_EVENT_FILTER = 6
MARKER_EVENT_FILTER = "x"
MARKER_EVENT_FRAME = "o"


class FilterEndDateProvider(VisualizationTimeProvider):
Expand Down Expand Up @@ -195,7 +199,8 @@ def build(

track_bounding_box_plotter = self._create_track_bounding_box_plotter()
track_point_plotter = self._create_track_point_plotter()
event_point_plotter = self._create_event_point_plotter()
event_point_plotter_frame = self._create_event_point_plotter_frame()
event_point_plotter_filter = self._create_event_point_plotter_filter()

layer_definitions = [
("Background", background_image_plotter, True),
Expand Down Expand Up @@ -245,9 +250,14 @@ def build(
track_point_plotter,
False,
),
(
"Show events of current filter",
event_point_plotter_filter,
False,
),
(
"Show events of current frame",
event_point_plotter,
event_point_plotter_frame,
False,
),
]
Expand Down Expand Up @@ -759,7 +769,7 @@ def _create_track_point_plotter(self) -> Plotter:
)
return PlotterPrototype(self._track_view_state, track_plotter)

def _create_event_point_plotter(self) -> Plotter:
def _create_event_point_plotter_frame(self) -> Plotter:
track_plotter = MatplotlibTrackPlotter(
TrackPointPlotter(
FilterByFrame(
Expand All @@ -771,7 +781,20 @@ def _create_event_point_plotter(self) -> Plotter:
),
self._color_palette_provider,
alpha=ALPHA_BOUNDING_BOX,
marker="h",
marker=MARKER_EVENT_FRAME,
markersize=MARKERSIZE_EVENT_FRAME,
),
)
return PlotterPrototype(self._track_view_state, track_plotter)

def _create_event_point_plotter_filter(self) -> Plotter:
track_plotter = MatplotlibTrackPlotter(
TrackPointPlotter(
self._get_event_data_provider_class_filter(),
self._color_palette_provider,
alpha=ALPHA_BOUNDING_BOX,
marker=MARKER_EVENT_FILTER,
markersize=MARKERSIZE_EVENT_FILTER,
),
)
return PlotterPrototype(self._track_view_state, track_plotter)

0 comments on commit 6fa4830

Please sign in to comment.