magscope.ui.video_viewer

Contents

magscope.ui.video_viewer#

Classes#

Module Contents#

class magscope.ui.video_viewer.VideoViewer(scale_factor=1.25)[source]#

Bases: PyQt6.QtWidgets.QGraphicsView

coordinatesChanged: PyQt6.QtCore.pyqtSignal[source]#
clicked: PyQt6.QtCore.pyqtSignal[source]#
sceneClicked: PyQt6.QtCore.pyqtSignal[source]#
_MINIMAP_MARGIN = 12[source]#
_MINIMAP_MIN_SIZE = 120[source]#
_MINIMAP_MAX_SIZE = 220[source]#
_MINIMAP_LABEL_SPACING = 6[source]#
_MINIMAP_ZOOM_HEIGHT = 26[source]#
_MINIMAP_BUTTON_SPACING = 6[source]#
_mouse_start_pos[source]#
_mouse_start_time = 0.0[source]#
_zoom = 0[source]#
scale_factor = 1.25[source]#
_empty = True[source]#
scene[source]#
_image[source]#
_overlay_entries: list[tuple[PyQt6.QtCore.QRectF, PyQt6.QtCore.QPointF, str, bool, str]] = [][source]#
_visible_overlay_entries: list[tuple[PyQt6.QtCore.QRectF, str, bool]] | None = None[source]#
_visible_label_entries: list[tuple[PyQt6.QtCore.QPointF, PyQt6.QtGui.QStaticText, bool]] | None = None[source]#
_overlay_cache_pixmap[source]#
_overlay_cache_dirty = True[source]#
_overlay_cache_size[source]#
_overlay_cache_device_pixel_ratio = 0.0[source]#
_static_label_cache: dict[str, PyQt6.QtGui.QStaticText][source]#
_label_metrics[source]#
_label_ascent[source]#
_marker_x[source]#
_marker_y[source]#
_marker_size = 0[source]#
_minimap_label[source]#
_minimap_zoom_label[source]#
_minimap_reset_button[source]#
_minimap_base[source]#
_fit_scale = 1.0[source]#
set_bead_overlay(bead_rois: dict[int, tuple[int, int, int, int]], active_bead_id: int | None, selected_bead_id: int | None, reference_bead_id: int | None, label_overrides: dict[int, str] | None = None, state_overrides: dict[int, str] | None = None) None[source]#
_invalidate_overlay_view_cache() None[source]#
_get_static_label(label_text: str) PyQt6.QtGui.QStaticText[source]#
_rebuild_overlay_view_cache() None[source]#
_rebuild_overlay_cache_pixmap() None[source]#
_ensure_overlay_cache_pixmap() None[source]#
plot(x, y, size)[source]#
clear_crosshairs()[source]#
set_image_to_default()[source]#
has_image()[source]#
image_scene_rect() PyQt6.QtCore.QRectF[source]#
reset_view(scale=1)[source]#
clear_image()[source]#
set_pixmap(pixmap)[source]#
zoom_level()[source]#
zoom(step)[source]#
wheelEvent(event)[source]#
resizeEvent(event)[source]#
toggle_drag_mode()[source]#
update_coordinates(pos=None)[source]#
mouseMoveEvent(event)[source]#
leaveEvent(event)[source]#
mousePressEvent(event)[source]#
mouseReleaseEvent(event)[source]#
scrollContentsBy(dx, dy)[source]#
_refresh_minimap()[source]#
_layout_minimap()[source]#
_compute_highlight_rect(scaled_size, offset_x, offset_y)[source]#
_current_zoom_percent()[source]#
drawForeground(painter, rect)[source]#