Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
bc48d55
created selection dir for further dev
klemengit Jul 8, 2025
d2eb034
started new point selection implementation
klemengit Jul 8, 2025
6957f50
moved along_the_line to new file
klemengit Jul 9, 2025
3b146ee
Improved along the line selection
klemengit Jul 9, 2025
74b7aba
select from manual and along the line and combine the points
klemengit Jul 9, 2025
67289af
Call selection gui directly as a class
klemengit Jul 9, 2025
aa6fed5
Added splitter for the right menu
klemengit Jul 9, 2025
1378b38
simplified method options
klemengit Jul 9, 2025
871ba50
added grid method, optimized performance
klemengit Jul 9, 2025
d30d87a
grid list works
klemengit Jul 9, 2025
bc3fb5e
color fix for points
klemengit Jul 9, 2025
78efcd0
show subsets checkbox
klemengit Jul 9, 2025
4c8dd72
Remove point functionality
klemengit Jul 9, 2025
300e0b6
Track the number of selected subsets
klemengit Jul 9, 2025
c224202
Added distance between the subsets
klemengit Jul 9, 2025
958b833
Code cleanup
klemengit Jul 9, 2025
589a287
SelectionGUI import (has pyqt6 or not)
klemengit Jul 9, 2025
d6309a8
added placeholders for automatic feature selection
klemengit Jul 9, 2025
1a93496
added test image
klemengit Jul 9, 2025
0f08f0f
automatic filtering of selected points based on eigenvalues
klemengit Jul 9, 2025
65eed3a
fixed subset display
klemengit Jul 9, 2025
df2d0e1
fixed subset display
klemengit Jul 9, 2025
23559cd
fixed along the line computation
klemengit Jul 9, 2025
21aa973
fixed the display of filtered points
klemengit Jul 9, 2025
08cdf12
show candidate points count and added a method to get the filtered p…
klemengit Jul 9, 2025
d211605
Slider for automatic filtering
klemengit Jul 9, 2025
eaec5a0
option to show only the candidates or all points in automatic filtering
klemengit Jul 9, 2025
338a272
removed the automatic tab
klemengit Jul 9, 2025
ff31d2a
Added an "automatic" tab (which is not really a tab). For now empty
klemengit Jul 9, 2025
df9a900
moved the filtering to new "tab"
klemengit Jul 9, 2025
639a54a
disable selection in filtering mode
klemengit Jul 9, 2025
e74be71
code cleanup
klemengit Jul 9, 2025
7d73ab0
Distance between subsets is a slider
klemengit Jul 9, 2025
e24f933
Code cleanup
klemengit Jul 9, 2025
f231267
Added space for other filtering methods
klemengit Jul 9, 2025
24574ee
Brush initial functionality
klemengit Jul 9, 2025
182c4cc
fixed brush finctionality
klemengit Jul 9, 2025
896f0d1
deselect with brush (currently only works for brush selected points, …
klemengit Jul 9, 2025
3e3af87
Cleanup
klemengit Jul 10, 2025
1d44778
cleanup
klemengit Jul 10, 2025
fe6494b
set brush radius with slider
klemengit Jul 10, 2025
b12b748
brush deselction is working for all selected points
klemengit Jul 10, 2025
84e1cf5
shi tomasi computes the eigenvalues just once, then only changes the …
klemengit Jul 10, 2025
cf9780f
Added filtering based on gradient in direction
klemengit Jul 10, 2025
56ff4b9
Renamed the Manual and Automatic mode to Selection and Filter mode. A…
klemengit Jul 10, 2025
85a7935
added instructions for tools in the statusBar
klemengit Jul 10, 2025
33fecd4
clear gradient line when clearing selection
klemengit Jul 10, 2025
7b3a735
Added the "GUIs" folder and re-organized the files. Added "result_vie…
klemengit Jul 11, 2025
8112428
Updated the result viewer layout and styling
klemengit Jul 11, 2025
398c320
updated styling and layout
klemengit Jul 11, 2025
6d2557c
updated styling of the right menu
klemengit Jul 11, 2025
b6e12e2
import fixes
klemengit Jul 11, 2025
09c6435
Changes for seamless combatibility with pyidi analyses returns
klemengit Jul 11, 2025
4d6a2af
Added automatic mode shape visualization
klemengit Jul 14, 2025
e778872
Current frame spinbox (synced to the slider)
klemengit Jul 14, 2025
de47c91
export to MP4 implemented
klemengit Jul 15, 2025
fcdc2ed
ui update and cleanup
klemengit Jul 15, 2025
25bc0df
Added frame range to export functionality
klemengit Jul 15, 2025
5940c33
select region to export to mp4
klemengit Jul 15, 2025
c07175f
Refactor subset size and distance controls in SelectionGUI for improv…
klemengit Jul 15, 2025
301cfd6
Upgrade gradient direction selection and add preset buttons for X and…
klemengit Jul 15, 2025
aec085c
Refactor point retrieval methods in SelectionGUI for improved filteri…
klemengit Jul 15, 2025
8080324
Brush selection tool enables adjustment of the subset spacing
klemengit Jul 15, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions pyidi/GUIs/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import typing

try:
import PyQt6

HAS_PYQT6 = True
except ImportError:
HAS_PYQT6 = False

if HAS_PYQT6 or typing.TYPE_CHECKING:
from .subset_selection import SelectionGUI
from .result_viewer import ResultViewer
else:
class SelectionGUI:
def __init__(self, video):
pass

def show_displacement(self, data):
raise RuntimeError("SelectionGUI requires PyQt6: pip install pyidi[qt]")

class ResultViewer:
def __init__(self):
pass

def show_displacement(self, data):
raise RuntimeError("ResultViewer requires PyQt6: pip install pyidi[qt]")

from .selection import SubsetSelection
from .gui import GUI
6 changes: 3 additions & 3 deletions pyidi/gui.py → pyidi/GUIs/gui.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
import warnings
warnings.simplefilter("default")

from . import tools
from .. import tools
from . import selection
from .methods import SimplifiedOpticalFlow
from .methods import LucasKanade
from ..methods import SimplifiedOpticalFlow
from ..methods import LucasKanade

NO_METHOD = '---'
add_vertical_stretch = True
Expand Down
Loading