Skip to content

Commit 2abfc31

Browse files
committed
Added handling of missing optional dependencies in gui and subsetGUI.
1 parent bcbe64c commit 2abfc31

File tree

2 files changed

+29
-5
lines changed

2 files changed

+29
-5
lines changed

pyidi/GUIs/gui.py

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,24 @@
11
import numpy as np
2-
import napari
3-
from magicgui import magicgui
2+
import importlib
43
import sys
5-
from qtpy.QtWidgets import QTextEdit, QVBoxLayout, QWidget, QApplication
64
import warnings
75
warnings.simplefilter("default")
86

7+
8+
packages = ["napari", "magicgui"]
9+
missing = [pkg for pkg in packages if importlib.util.find_spec(pkg) is None]
10+
11+
if missing:
12+
raise ImportError(
13+
f"Missing required optional dependency for 'napari': "
14+
f"{', '.join(missing)}\n"
15+
f"Install with: pip install pyidi[napari]"
16+
)
17+
18+
import napari
19+
from magicgui import magicgui
20+
from qtpy.QtWidgets import QTextEdit, QVBoxLayout, QWidget, QApplication
21+
922
from .. import tools
1023
from . import selection
1124
from ..methods import SimplifiedOpticalFlow

pyidi/GUIs/subset_selection.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,21 @@
11
import sys
22
import numpy as np
3+
from matplotlib.path import Path
4+
import importlib
5+
6+
packages = ["pyqt6", "pyqtgraph"]
7+
missing = [pkg for pkg in packages if importlib.util.find_spec(pkg) is None]
8+
9+
if missing:
10+
raise ImportError(
11+
f"Missing required optional dependency for 'qt': "
12+
f"{', '.join(missing)}\n"
13+
f"Install with: pip install pyidi[qt]"
14+
)
15+
316
from PyQt6 import QtWidgets, QtCore
417
from pyqtgraph import GraphicsLayoutWidget, ImageItem, ScatterPlotItem
518
import pyqtgraph as pg
6-
from matplotlib.path import Path
7-
# import pyidi # Assuming pyidi is a custom module for video handling
819

920
class BrushViewBox(pg.ViewBox):
1021
def __init__(self, parent_gui, *args, **kwargs):

0 commit comments

Comments
 (0)