sleap.gui.dialogs.merge

Gui for merging two labels files with options to resolve conflicts.

class sleap.gui.dialogs.merge.ConflictTable(base_labels: sleap.io.dataset.Labels, extra_base: List[sleap.instance.LabeledFrame], extra_new: List[sleap.instance.LabeledFrame])[source]

Qt table view for summarizing merge conflicts.

Arguments are passed through to the table view object.

The two lists of LabeledFrame objects should be correlated (idx in one will match idx of the conflicting frame in other).

Parameters
  • base_labels – The base dataset.

  • extra_baseLabeledFrame objects from base that conflicted.

  • extra_newLabeledFrame objects from new dataset that conflicts.

class sleap.gui.dialogs.merge.ConflictTableModel(base_labels: sleap.io.dataset.Labels, extra_base: List[sleap.instance.LabeledFrame], extra_new: List[sleap.instance.LabeledFrame])[source]

Qt table model for summarizing merge conflicts.

See ConflictTable.

columnCount(*args)[source]

Required by Qt.

data(index: PySide2.QtCore.QModelIndex, role=PySide2.QtCore.Qt.ItemDataRole.DisplayRole)[source]

Required by Qt.

headerData(section, orientation: <class 'PySide2.QtCore.Qt.Orientation'>, role=PySide2.QtCore.Qt.ItemDataRole.DisplayRole)[source]

Required by Qt.

rowCount(*args)[source]

Required by Qt.

class sleap.gui.dialogs.merge.MergeDialog(base_labels: sleap.io.dataset.Labels, new_labels: sleap.io.dataset.Labels, *args, **kwargs)[source]

Dialog window for complex merging of two SLEAP datasets.

This will immediately merge any labeled frames that can be cleanly merged, show summary of merge and prompt user about how to handle merge conflict, and then finish merge (resolving conflicts as the user requested).

finishMerge()[source]

Finishes merge process, possibly resolving conflicts.

This is connected to accepted signal.

Parameters

None.

Raises

ValueError – If no valid merge method was selected in dialog.

Returns

None.

class sleap.gui.dialogs.merge.MergeTable(merged, *args, **kwargs)[source]

Qt table view for summarizing cleanly merged frames.

Arguments are passed through to the table view object.

Parameters

merged – The frames that were cleanly merged. See Labels.complex_merge_between() for details.

class sleap.gui.dialogs.merge.MergeTableModel(merged: Dict[Video, Dict[int, List[Instance]]])[source]

Qt table model for summarizing merge conflicts.

See MergeTable.

columnCount(*args)[source]

Required by Qt.

data(index: PySide2.QtCore.QModelIndex, role=PySide2.QtCore.Qt.ItemDataRole.DisplayRole)[source]

Required by Qt.

headerData(section, orientation: <class 'PySide2.QtCore.Qt.Orientation'>, role=PySide2.QtCore.Qt.ItemDataRole.DisplayRole)[source]

Required by Qt.

rowCount(*args)[source]

Required by Qt.

sleap.gui.dialogs.merge.show_instance_type_counts(instance_list: List[Instance]) → str[source]

Returns string of instance counts to show in table.

Parameters

instance_list – The list of instances to count.

Returns

String with numbers of user/predicted instances.