-
Notifications
You must be signed in to change notification settings - Fork 8
Complete TTK GUI conversion with full parameter system integration #81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
alexlib
wants to merge
44
commits into
master
Choose a base branch
from
ui-modernization
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Created new UI package with PySide6-based components - Implemented main window, camera view, and parameter sidebar - Added entry point that supports both legacy and modern UI - Used matplotlib for image display and drawing - Created a cleaner, more intuitive UI structure
- Add calibration dialog with epipolar line visualization - Add detection dialog with threshold and filter controls - Connect main window actions to PTV core functionality - Update toolbar actions to use the new core functions
- Create tracking dialog with sequence preparation, track forward/backward controls - Enhance parameter dialogs with specialized forms for main, calibration, and tracking parameters - Connect tracking dialog to main window - Improve parameter sidebar with better parameter editing
- Create plugin manager dialog with tabbed interface for sequence and tracking plugins - Add import plugin tab for adding new plugins - Connect plugin manager to main window - Implement saving plugins to configuration files
- Replace traits/traitsui with YAML-based parameter system - Create compatibility layer for legacy code - Update UI to use PySide6 and matplotlib exclusively - Remove conditional initialization with use_yaml parameter
- Add missing QWidget imports for parameter_sidebar - Fix class method property access in YAML parameter loading
- Add QSize import to files where it's used but was missing - Replace Qt.QSize with QSize for consistent usage - Fix pyptv_gui.py to better handle the modern UI flag - Improve app.py command line argument handling 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1. Handle errors during PTV core initialization by: - Adding error handling around the py_start_proc_c call - Creating legacy experiment object when needed 2. Fix sequence image loading to handle YAML parameters: - Support both YAML and legacy parameter systems - Add proper null checks for base names - Use correct image dimensions based on parameter system 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
commit b1637f7 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Aug 3 18:24:21 2025 +0300 moving to YAML parameters (#92) * added splitter in parameters, image_split and test of strange list access * plugins now has to have 'default' if plugin text files exist and splitter almost works * much more reasonable plugins.json treatment * move plugins into test_cavity where it should appear in the working folder * first part cal_splitter works * working version with the calibration and splitter * removed debuging plot, changed highpass behaivor for calibration * Select Split TWICE: in main gui and in calibration gui, added test_splitter folder * also detect and show trajectories work * slight update of user_manual, it's not what's needed really * fixed tests, added test of plugins * bumped version to 0.3.8, ready for pull request * default low pass filter size is 25 - to remove uneven illumination * moved to tests/ * proper error * ruff * Fix: Update parameter handling to match optv API changes * work in progress * copy test cavity should not be tracked * work in progress * working on tests * we do not need small yaml files * experiment.py * higphass works and masking doesn't fail * we do not need yaml except for parameters.yaml * before change in parameters_manager * fixed volume params * parameters are managed by manager, which is under Experiment * from directories to yaml files * n_cams top level * updated n_cams to top level * man_ori inside * more yaml stuff * why do we have another folder /parameters in pyptv? * removed /parameters * testing parameters - translation to Cython is not good * parameters tests pass * fixed parameters. tests pass. * pyptv_gui also works. need to test more stuff, including splitter * moved docs to docs tests to tests * more tests, parameters and gui * tests the closer version * tests pass * obsolete * experiment is clean python, no traits * hastraits needed for gui * fixed gui bugs * parameters * there should be no n_img in the yaml file * docs * cleaning up the docs * working on detection gui * detection_gui almost there * a bit messy option to change the range sliders * added paramter_gui work to pyptv_gui * fixed bug in the first processing * print is now in the local message window - don't need to look it up * fixed test detection * fixed bug as we should call detect_plate and not targ_rec. * solved detection in calibration * fixed manual orientation * DetectionGUI expects Path to the working folder. glass is 1.46, water is 1.33 to 1.41 * plugins * fixed detect_plate bug. todo: check splitter and calibration, bump version * splitter * tests updated with batch plugins and splitter * some tests that play with the tracking parameters. we need a ground truth test * more tests of ptv.py * tests partially fixed * previous tests with plugins * plugins.json are obsolete * test_cavity with larger tracking distances * batch parallel test * tracker * bumped version for future tag, rmeove message window which didn't help much * fixed calibration_gui bug * fixed calibration of test-splitter * updated tests * Update python-package.yml * fixed one test * one test as pytest * one more pytest * File->Open works * added subprocess * Squashed commit of the following: commit d784b6f Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Jul 26 23:24:37 2025 +0300 updated pyptv_batch and plugins, some tests. commit 218161b Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Jul 26 16:26:38 2025 +0300 removed debug prints commit 3bfb8e9 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Jul 26 15:45:10 2025 +0300 fixed cython parameter loading commit 1408b8b Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Jul 26 15:32:03 2025 +0300 no parameter loading in ptv.py commit 76093c7 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Jul 26 15:30:15 2025 +0300 removed obsolete parameter reading commit 1a3bfdb Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Jul 26 14:46:55 2025 +0300 Experment(pm = pm) initializes expeirment with the existing parameter_manager commit 0b3ac7e Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Jul 26 13:15:40 2025 +0300 pyptv.pm -> pyptv.parameter_manager commit b729866 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Jul 26 13:14:22 2025 +0300 parameter_manager -> pm for brevity commit 8a52f87 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Jul 26 01:07:10 2025 +0300 trying to simplify parameters and fix the bug when switching active paramset commit 1f6bba9 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Jul 26 00:12:52 2025 +0300 trying to find the bug in tests/track commit 87c9548 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Fri Jul 25 23:49:32 2025 +0300 fix commit 48837af Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Fri Jul 25 23:32:22 2025 +0300 fixed bugs with main parameters and with parameter_manager on splitter commit 9c2eeeb Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Fri Jul 25 23:05:27 2025 +0300 added splitter and cal_splitter manually after populating expeirments commit 2c0e186 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Fri Jul 25 22:55:52 2025 +0300 updated parameters directories for add_new_particle commit b893f6e Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Fri Jul 25 21:31:33 2025 +0300 fixed the case of 0 targets in track/Run3 commit 765c001 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Fri Jul 25 20:24:11 2025 +0300 remove trackeback commit 9c9e060 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Fri Jul 25 19:11:41 2025 +0300 added legacy_parameters_to_yaml to scrpit and created 3 yaml files for track tests commit 7cd78a9 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Fri Jul 25 18:26:07 2025 +0300 almost all tests pass. only additional particle still fails, probably parameters commit 70f6432 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Fri Jul 25 01:13:04 2025 +0300 need to test it more commit d67c3fc Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Fri Jul 25 00:43:01 2025 +0300 the gui seems to work commit f2576cd Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Thu Jul 24 00:34:35 2025 +0300 the gui destroys parameters and tracking is not saving parameters. think, don't shoot commit 6a57936 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Wed Jul 23 22:11:58 2025 +0300 better than before some bugs were removed commit 0aff702 Author: alexlib <alex.liberzon@gmail.com> Date: Wed Jul 23 18:03:48 2025 +0300 some new functions in renaming, copying deleting paramsets commit 4675b9a Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Wed Jul 23 10:12:18 2025 +0300 simplify to find bugs commit 152ae48 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Wed Jul 23 01:30:44 2025 +0300 working on filling all the parameters commit 499f46c Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Wed Jul 23 00:29:33 2025 +0300 added plugins. test plugins commit f59f9ec Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Tue Jul 22 23:55:55 2025 +0300 found bugs due to missing plugins parameters commit 6603d3e Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Tue Jul 22 21:35:37 2025 +0300 fixing small things commit af5d015 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Tue Jul 22 01:15:17 2025 +0300 trying to simplify naming short_base commit 556dfcd Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Tue Jul 22 00:14:49 2025 +0300 updated tests, tracking still fails commit ef5833c Author: alexlib <alex.liberzon@gmail.com> Date: Mon Jul 21 16:48:09 2025 +0300 Create test_parameter_manager_prints.py commit cfe33a4 Author: alexlib <alex.liberzon@gmail.com> Date: Mon Jul 21 16:46:52 2025 +0300 updated manager not to print all kind of attributes commit 973ca81 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Mon Jul 21 00:29:02 2025 +0300 parameters are corrupted again commit 16c612c Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Jul 20 23:52:44 2025 +0300 updated legacy commit 361727e Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Jul 20 23:22:52 2025 +0300 obsolete commit 893ae6b Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Jul 20 23:09:41 2025 +0300 fixed EOF error commit b3a657c Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Jul 20 23:03:49 2025 +0300 simple reading in ptv.par commit 41b88df Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Jul 20 23:03:46 2025 +0300 simpler reading in ptv.par commit 9dbe355 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Jul 20 22:51:36 2025 +0300 simplified legacy and parameters_manager commit 3424286 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Jul 20 00:34:39 2025 +0300 trying to add File -> Open commit fdd9f0d Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Jul 19 23:25:15 2025 +0300 added File -> Open commit 8143911 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Jul 19 23:03:12 2025 +0300 fixed some ugly bugs commit ebf51d9 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Jul 19 21:34:35 2025 +0300 preparing track additional tests, on the way changed half of the code :) commit 7700ed1 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Jul 19 00:31:57 2025 +0300 almost all tests pass commit 146a074 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Jul 19 00:29:32 2025 +0300 updated a bit work with gui - yaml is default now commit d29692f Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Fri Jul 18 20:48:42 2025 +0300 created new test with track/ two types with and without new particle not yet finished. added pyptv_batch only tracking or only sequence mode commit e357dd3 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Fri Jul 18 18:13:55 2025 +0300 working on parameters. splitter makes life difficutl with default strings instead of image names commit 99f02b2 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Fri Jul 18 13:44:29 2025 +0300 tests pass, but not additional ones yet commit a07929e Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Fri Jul 18 01:08:34 2025 +0300 when you want better code you pay for it commit 79ef3bb Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Fri Jul 18 00:52:46 2025 +0300 tried to fix default parameters in GUI, then changed all to num_cams and then it collapsed commit a536d0b Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Thu Jul 17 00:33:14 2025 +0300 trach commit 176308f Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Thu Jul 17 00:33:06 2025 +0300 need to test track * updated one more test * target_filenames created once under mainGui and kept through. also update plugins * added the new target_filenames * tests pass but obviously one of the last tests of tests/track prints wrong results. * Create check.yml * added test code editor for coverage * marked two qt tests * some tests are difficult due to the change in pyptv_gui use of target_filenames * dockerfile qt in __init__ * Squashed commit of the following: commit 060285e Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Mon Jul 28 21:11:42 2025 +0300 fixed some tests. moved target_filenames to the parameters * copied from pbi dumbbell calibration module * removed py_rclick_delete obsolete * cleaning up * copied some version from pbi - but maybe it's wiser just to use pbi separately. * moved all to Python * fixed the dumbbell * separated gui tests, added batch to run, new github actions, and updated coverage summary. """ * Update check.yml * removed old github workflows * remove check.yml * should possibly pass * Update requirements-dev.txt * try better * all gui in a separate folder * also this one * added img_orig * fixed the tests * we do not use uv right now, so we can remove it from the requirements-dev.txt file. * Update tests/test_parameter_manager_prints.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update tests/test_parameter_manager.py I'm not sure the output is the same. the parameter files are written as single lines Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * updated some markdown documents * organized readme --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> commit 9117426 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Fri Jun 27 19:05:15 2025 +0300 simplified left and right click commit fb9ad06 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Fri Jun 27 17:59:12 2025 +0300 fixed the inputs commit ef469a5 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Thu Jun 26 21:59:01 2025 +0300 also docs commit 5dbda3d Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Thu Jun 26 21:58:57 2025 +0300 improved pyptv_batch_parallel commit cbde753 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Thu Jun 26 21:34:51 2025 +0300 improved pyptv_batch - push to master commit 923fc68 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Tue Jun 24 21:09:14 2025 +0300 fixed test environment commit 9a033a4 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Tue Jun 24 20:53:36 2025 +0300 improved printing of right click with the camera number commit 8c41f19 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Mon Jun 23 22:38:17 2025 +0300 parallel sequence - saves a lot of time (#90) commit df41887 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Jun 22 18:43:31 2025 +0300 0.3.7 commit 5f93a9d Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Jun 22 18:43:07 2025 +0300 fixed calibration with particles commit 77c794f Merge: 73b3045 ed23415 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Jun 22 17:33:06 2025 +0300 Merge branch 'master' of https://github.com/alexlib/pyptv commit 73b3045 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Jun 22 17:33:02 2025 +0300 waiting for optv>=0.3.0 commit ed23415 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Jun 19 15:46:00 2025 +0300 Bump urllib3 from 2.3.0 to 2.5.0 (#89) Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.3.0 to 2.5.0. - [Release notes](https://github.com/urllib3/urllib3/releases) - [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst) - [Commits](urllib3/urllib3@2.3.0...2.5.0) --- updated-dependencies: - dependency-name: urllib3 dependency-version: 2.5.0 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 9b8f6fc Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Wed Jun 18 18:55:06 2025 +0300 no more RenameParams, use manual rename on folder, detection shows orange crosses for clarity commit 0795277 Merge: 3c7b983 53b4393 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Wed Jun 18 18:24:14 2025 +0300 Merge branch 'master' of https://github.com/alexlib/pyptv commit 3c7b983 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Wed Jun 18 18:24:13 2025 +0300 exp_path in launch.json, detection_gui has discontuniuty and pyptv_gui works with qt not qt4 commit 53b4393 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue Jun 17 10:49:42 2025 +0300 Bump protobuf from 6.30.1 to 6.31.1 (#88) Bumps [protobuf](https://github.com/protocolbuffers/protobuf) from 6.30.1 to 6.31.1. - [Release notes](https://github.com/protocolbuffers/protobuf/releases) - [Changelog](https://github.com/protocolbuffers/protobuf/blob/main/protobuf_release.bzl) - [Commits](protocolbuffers/protobuf@v6.30.1...v6.31.1) --- updated-dependencies: - dependency-name: protobuf dependency-version: 6.31.1 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit ceeab93 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Jun 14 19:27:43 2025 +0300 ruff commit 0d67dc4 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Tue Jun 10 22:34:23 2025 +0300 Update README.md commit f293421 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Tue Jun 10 22:31:35 2025 +0300 Update requirements-dev.txt commit b9282bd Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Tue Jun 10 22:20:18 2025 +0300 ruff fixed many format issues commit ded205b Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue Jun 10 22:10:45 2025 +0300 Bump tornado from 6.4.2 to 6.5.1 (#86) Bumps [tornado](https://github.com/tornadoweb/tornado) from 6.4.2 to 6.5.1. - [Changelog](https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst) - [Commits](tornadoweb/tornado@v6.4.2...v6.5.1) --- updated-dependencies: - dependency-name: tornado dependency-version: 6.5.1 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 8c69863 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue Jun 10 22:10:33 2025 +0300 Bump requests from 2.32.3 to 2.32.4 (#87) Bumps [requests](https://github.com/psf/requests) from 2.32.3 to 2.32.4. - [Release notes](https://github.com/psf/requests/releases) - [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md) - [Commits](psf/requests@v2.32.3...v2.32.4) --- updated-dependencies: - dependency-name: requests dependency-version: 2.32.4 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 107db07 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Tue Jun 10 22:06:54 2025 +0300 Update pyptv_gui.py commit c3b4593 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Tue May 27 00:48:32 2025 +0300 fixed calibration_gui.py bugs commit 45a5152 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Tue May 27 00:47:49 2025 +0300 fixed more bugs in calibration_gui.py. need to bump version commit 71817a2 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Mon May 26 23:31:24 2025 +0300 another bug in protecting ori commit ee7cfca Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Mon May 26 23:30:05 2025 +0300 fixed critical bug in calibration_gui.py commit ef699f5 Author: alexlib <alex.liberzon@gmail.com> Date: Sun May 25 08:55:55 2025 +0300 Update ext_sequence_rembg_contour.py commit 256eed3 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Fri May 23 17:39:43 2025 +0300 updated commit adff434 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Fri May 23 17:37:36 2025 +0300 renamed to index.html to serve on github pages https://alexlib.github.io/pyptv commit 5b2e3b1 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Fri May 23 17:34:37 2025 +0300 written by skyworks commit 0c36314 Merge: 4f379e8 2aa2ddd Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat May 3 22:26:53 2025 +0300 Merge branch 'plugin_remback' commit 4f379e8 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Wed Apr 30 17:23:42 2025 +0300 updated plugin. it works on exp2 commit 1cf3675 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Wed Apr 30 17:06:51 2025 +0300 fixed reading string vs bytes commit 2aa2ddd Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Wed Apr 30 16:59:57 2025 +0300 moved to tests commit 36e4aed Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Wed Apr 30 16:58:48 2025 +0300 plugin is ready. copy to the working folder and see the magic in action commit bae4bcc Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Wed Apr 30 16:57:30 2025 +0300 works well. time to move it to plugin and test commit c08a2fe Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Wed Apr 30 15:21:26 2025 +0300 running up to 500 commit 721d19d Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Wed Apr 30 15:20:19 2025 +0300 trying up to 500, seems to work. normalized plots to 1 commit e93515f Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Wed Apr 30 15:09:06 2025 +0300 works great. plot is fine. testing on a larger set. commit e99c7d1 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Wed Apr 30 15:00:48 2025 +0300 not a good attempt commit e268141 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Wed Apr 30 14:56:33 2025 +0300 before merging masks commit ccc7875 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Wed Apr 30 13:56:55 2025 +0300 almost running commit 913c562 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Tue Apr 29 22:52:08 2025 +0300 working on a local plugin debugging commit 72aea77 Author: alexlib <alex.liberzon@gmail.com> Date: Tue Apr 29 08:57:40 2025 +0300 updated the way to read plugins list commit 04d9565 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Mon Apr 28 22:58:04 2025 +0300 Omer prepared a notebook that runs contour detection and pairwise distance over rembg result commit c892fd1 Merge: 3a9601c 4d2a2e0 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Mon Apr 28 22:53:55 2025 +0300 Merge branch 'master' into plugin_remback commit 4d2a2e0 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 20:11:12 2025 +0300 stupid bug commit 62a33ea Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 20:07:11 2025 +0300 updated python-package commit 3e7722f Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 19:44:59 2025 +0300 added clean commit 11ae461 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 19:35:54 2025 +0300 docker stuff failed. removing it all commit 1afb08a Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 12:36:54 2025 +0300 removed obsolete, updated tests/test_cavity/parameters commit aa8025b Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 12:27:51 2025 +0300 Fix Docker scripts to install dependencies step by step commit d8d9bc5 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 12:26:14 2025 +0300 Fix Docker scripts to use python3 -m pip instead of pip3 commit 6c007eb Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 12:24:51 2025 +0300 Fix Docker scripts to ensure proper installation of PyPTV commit 903bd08 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 12:23:35 2025 +0300 Clean up Docker setup: single script solution that works commit 92a1271 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 12:16:14 2025 +0300 Add simplified Docker setup using dorowu/ubuntu-desktop-lxde-vnc commit ca028d3 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 12:13:33 2025 +0300 Add clean, reliable Docker setup for PyPTV using consol/ubuntu-xfce-vnc commit 02ebdac Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 12:10:09 2025 +0300 Update DOCKER_RUN.md with simplified Docker setup instructions commit e563768 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 12:09:22 2025 +0300 Add simplified all-in-one Docker scripts for PyPTV commit cc0d9fe Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 12:04:31 2025 +0300 Add script to install PyPTV in the dorowu container commit 400abd9 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 12:02:55 2025 +0300 Add dorowu-based Docker setup for a simple and reliable VNC experience commit 3189047 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 12:01:28 2025 +0300 Add TiredOfIt-based Docker setup for the most reliable VNC experience commit 4add5c5 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 11:56:07 2025 +0300 Add Kasm-based Docker setup for more reliable VNC experience commit 1a4c664 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 11:42:00 2025 +0300 Update Docker setup based on tiredofit/novnc for better cross-platform compatibility commit 775fa9e Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 10:14:42 2025 +0300 Update DOCKER_RUN.md with minimal setup instructions commit 6f5ad0a Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 10:13:51 2025 +0300 Add minimal Docker setup with linuxserver/webtop commit 0c75c9f Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 10:09:42 2025 +0300 Update DOCKER_RUN.md with simple setup instructions commit 4a04ef7 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 10:08:53 2025 +0300 Add simplified Docker setup with linuxserver/webtop base image commit 6c421ae Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 09:55:42 2025 +0300 Remove authentication from Docker setup for local use commit b0a072c Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 01:40:09 2025 +0300 Fix supervisord configuration to run as root commit 1da04b2 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 00:42:17 2025 +0300 Fix VNC password setup in Docker configuration commit 151681e Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 00:32:45 2025 +0300 Fix Dockerfile: Add tigervnc-common package for vncpasswd command commit 37cc266 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 00:26:59 2025 +0300 Add comprehensive Docker usage guide for new users commit 526d98f Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 00:23:23 2025 +0300 Add Docker setup with noVNC for cross-platform GUI access commit 68c75a2 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 00:15:58 2025 +0300 Update DEFAULT_FRAME_NUM constant to match original value commit fd08f53 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Apr 13 00:10:47 2025 +0300 Improve code quality in ptv.py commit 6b29de0 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Apr 12 23:57:41 2025 +0300 moved test_calibration commit d884c42 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Apr 12 23:53:42 2025 +0300 added and fixed tests commit 1380702 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Apr 12 22:57:00 2025 +0300 tested windows on linux using wine commit 1da337b Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Apr 12 22:52:51 2025 +0300 also for Windows, but requires tests commit 0542438 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Apr 12 22:48:55 2025 +0300 bash scripts and tests for failing installation on linux commit 404d05c Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat Apr 12 13:01:37 2025 +0300 Bump zipp from 3.17.0 to 3.19.1 (#84) Bumps [zipp](https://github.com/jaraco/zipp) from 3.17.0 to 3.19.1. - [Release notes](https://github.com/jaraco/zipp/releases) - [Changelog](https://github.com/jaraco/zipp/blob/main/NEWS.rst) - [Commits](jaraco/zipp@v3.17.0...v3.19.1) --- updated-dependencies: - dependency-name: zipp dependency-version: 3.19.1 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 7734252 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat Apr 12 13:01:28 2025 +0300 Bump tornado from 6.4 to 6.4.2 (#85) Bumps [tornado](https://github.com/tornadoweb/tornado) from 6.4 to 6.4.2. - [Changelog](https://github.com/tornadoweb/tornado/blob/v6.4.2/docs/releases.rst) - [Commits](tornadoweb/tornado@v6.4.0...v6.4.2) --- updated-dependencies: - dependency-name: tornado dependency-version: 6.4.2 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit f8c7b15 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Apr 12 12:14:00 2025 +0300 small tests and requirements fix commit c7af950 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Mon Mar 24 01:27:25 2025 +0200 not using claude commit 54cd6a0 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Mon Mar 24 01:14:59 2025 +0200 without verify commit ed94c83 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Mon Mar 24 01:13:18 2025 +0200 updated from the dockerfile commit f7c5e2a Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Mon Mar 24 01:12:22 2025 +0200 dockerfile works commit 9bb641f Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Mar 23 23:34:35 2025 +0200 updated Dockerfiles wit the optv test commit 6ecacef Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Mar 23 23:14:01 2025 +0200 removed emd commit 085b81b Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Mar 23 22:54:21 2025 +0200 updating Dockerfile for test, and github actions commit cfb4787 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Mar 23 22:29:13 2025 +0200 installation failure commit 4468954 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Mar 23 22:27:16 2025 +0200 removed decode commit 407f2b3 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Mar 23 22:19:21 2025 +0200 bumped version to 0.3.5 and fixed tests commit 519598a Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Mar 23 22:09:03 2025 +0200 updated pyptv_gui to work with mask_centers.tiffs commit d995a5e Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Mar 22 15:51:37 2025 +0200 removed obsolete scripts commit 467f5db Merge: 559a0cd 17b65ef Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Mar 22 15:09:18 2025 +0200 Merge branch 'draw_mask' into feature/update-numpy-compatibility commit 559a0cd Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Mar 22 15:08:43 2025 +0200 still have to decode commit 894be13 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Mar 22 01:17:25 2025 +0200 trying to match the new opentpv with cython 3 commit 17b65ef Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Wed Mar 19 00:08:10 2025 +0200 Update pyptv_gui.py commit fc3be56 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Mon Mar 17 23:48:25 2025 +0200 created mask_gui commit 2eb6a5d Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Mar 16 00:11:24 2025 +0200 updated pyptv.parameters and tried imageplot to get video multi view demo commit 1273473 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Fri Mar 14 23:39:08 2025 +0200 updated many things in shaking part commit 84db4d8 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Thu Mar 13 00:36:53 2025 +0200 py_multiplane never called commit 879fa07 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Thu Mar 13 00:15:35 2025 +0200 write ori using optv commit 23f0fa1 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Wed Mar 12 23:42:40 2025 +0200 commented out the writing command, saves time commit bdc1cd7 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Wed Mar 12 00:40:42 2025 +0200 works. with some glitches commit 0505d8e Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Wed Mar 12 00:27:37 2025 +0200 almost there. only drawing fails commit 179236e Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Tue Mar 11 00:21:33 2025 +0200 updated notebook commit cf2bc92 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Tue Mar 11 00:21:17 2025 +0200 updated calibration_gui commit 7635bcf Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Tue Mar 11 00:18:07 2025 +0200 updated notebook commit 7956162 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Tue Mar 11 00:11:04 2025 +0200 added full_scipy_calibration commit 87c41b0 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Mon Mar 10 23:12:37 2025 +0200 updated docstring commit 40a095d Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Mon Mar 10 00:29:57 2025 +0200 full calibration fails commit 7f1c88c Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Mon Mar 10 00:08:07 2025 +0200 started working on pbi's method commit ff5e0c4 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Tue Mar 4 20:21:55 2025 +0200 small update. we need to figure out how to know the img name commit bbb4693 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Mon Mar 3 22:25:28 2025 +0200 missing imports commit 7dd76a6 Merge: f0be977 cd85e3c Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Mon Mar 3 21:55:30 2025 +0200 Merge branch 'master' into calibration_from_particles commit 3a9601c Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Thu Jan 2 23:32:53 2025 +0200 renamed sequence and tracking plugins commit 27b959b Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Thu Jan 2 23:29:03 2025 +0200 fixed the names in the plugins list commit 28ba3d9 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Thu Jan 2 23:23:34 2025 +0200 so simple, rembg just works commit 84d75b7 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Wed Jan 1 22:45:42 2025 +0200 created external_sequence for Run30 LV project and updated Readme commit f0be977 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Dec 29 00:17:25 2024 +0200 some bug need to be fixed commit ca15f3c Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Dec 29 00:09:03 2024 +0200 added some bits for scipy.optimize.minimize commit 673923f Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sun Dec 29 00:03:07 2024 +0200 still in working commit 8244e5a Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Dec 28 23:10:53 2024 +0200 working on the jupyter notebook commit e8f2157 Merge: a1deeb1 5e83775 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Dec 28 16:03:41 2024 +0200 Merge branch 'master' into calibration_from_particles commit a1deeb1 Author: Alex Liberzon <alexlib@users.noreply.github.com> Date: Sat Dec 28 12:41:02 2024 +0200 first boilerplate
- Create comprehensive hybrid GUI (pyptv_gui_ttk.py) combining original functionality with modern enhancements - Fix critical camera count initialization bug: changed 'if num_cameras:' to 'if num_cameras is not None:' - Add complete menu system matching original pyptv_gui.py exactly: * File, Start, Preprocess, 3D Positions, Calibration, Sequence * Tracking, Plugins, Detection demo, Drawing mask, View, Help - Implement all original menu action methods with proper signatures - Add lightweight dependencies (no matplotlib/PIL issues) - Support multiple layout modes: tabs, grid, single camera view - Include interactive camera panels with zoom, pan, click handling - Add tree navigation with context menus and parameter dialogs - Implement dynamic camera count adjustment (--cameras argument works correctly) - Add comprehensive documentation in docs/recent_changes.md - Maintain complete backwards compatibility with original GUI - Ready for integration with full PTV processing pipeline
- Replace Chaco/Enable/Traits with Tkinter/TTK and matplotlib - Create experiment_ttk.py: Traits-free experiment management with ExperimentTTK class - Complete parameter_gui_ttk.py: Full TTK parameter dialogs (Main, Calibration, Tracking) - Update pyptv_gui_ttk.py: Integrate TTK experiment class and parameter dialogs - Add MatplotlibCameraPanel: Full matplotlib image display with zoom, pan, overlays - Update pyproject.toml: Remove old GUI dependencies, add new entry points - Create comprehensive documentation and test suite - Maintain backward compatibility with existing YAML files Co-authored-by: openhands <openhands@all-hands.dev>
- Merged .gitignore updates from remote - Combined with complete TTK parameter system integration
- Fixed create_experiment_from_directory to properly handle YAML file discovery - Updated main function to gracefully handle missing YAML files - Added automatic YAML creation from .par files when no YAML exists - Improved error handling and validation logic - Added comprehensive test suites (test_gui_fixes.py, test_comprehensive_gui.py) - Fixed 'YAML parameter file does not exist: None' error completely The GUI now works with: - Direct YAML file arguments - Directory arguments (finds existing YAML or creates from .par files) - Default test directory fallback - Robust error handling for edge cases Co-authored-by: openhands <openhands@all-hands.dev>
The comprehensive tests were used to validate the bug fixes but are not needed in the repository as they duplicate existing test functionality. Co-authored-by: openhands <openhands@all-hands.dev>
- Implemented proper init_system method that loads images from PTV parameters - Added load_images_from_params method supporting both splitter mode and individual camera images - Added initialize_cython_objects method to set up Cython parameter objects - Added update_camera_displays method to refresh camera panels with loaded images - Fixed parameter dialog integration with proper imports and error handling - All core parameter system integration tests passing Co-authored-by: openhands <openhands@all-hands.dev>
- Added documentation for parameter dialog integration fixes - Added documentation for init system functionality implementation - Added documentation for image loading from parameters - Updated with latest commit information and test results - Marked final status as FULLY FUNCTIONAL Co-authored-by: openhands <openhands@all-hands.dev>
- Replaced ptv.py_pre_processing_c with scipy.ndimage.gaussian_filter implementation - Implemented proper highpass filter using Gaussian blur subtraction technique - Added image inversion support for inverse parameter - Added mask application support for mask_flag parameter - Ensured processed images are properly centered around 128 with valid range - Updated camera displays after processing - Added comprehensive error handling and progress feedback - Tested and validated all functionality works correctly Co-authored-by: openhands <openhands@all-hands.dev>
- Added comprehensive documentation of highpass filter implementation - Documented scipy-based Gaussian filter approach - Included testing results and validation - Updated final status to reflect complete functionality Co-authored-by: openhands <openhands@all-hands.dev>
- Implement complete img_coord_action method with ptv.py_detection_proc_c integration - Add proper validation for initialization and image loading - Implement complete corresp_action method with ptv.py_correspondences_proc_c integration - Add _clean_correspondences helper method to filter invalid correspondences - Add colored cross drawing for different correspondence types (pairs, triplets, quadruplets) - Add comprehensive error handling and user feedback - Integrate with existing drawcross_in_all_cams functionality - All methods tested and verified working correctly Co-authored-by: openhands <openhands@all-hands.dev>
…ces implementation - Complete implementation guide for img_coord_action and corresp_action methods - Technical details on OpenPTV integration via ptv.py functions - Usage instructions and parameter requirements - Architecture overview of Traits-free TTK implementation - Testing methodology and validation approach Co-authored-by: openhands <openhands@all-hands.dev>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Complete TTK GUI Conversion - Pure Tkinter + OpenPTV Integration
This PR completes the modernization of PyPTV's GUI system by completely removing Chaco, Enable, and Traits dependencies and replacing them with a pure Tkinter/TTK + matplotlib implementation that directly uses OpenPTV library functions through Cython.
🎯 Overview
This comprehensive update transforms PyPTV from a Traits-based GUI to a completely Traits-free TTK interface while maintaining full backward compatibility with existing YAML parameter files. No Traits dependencies are used anywhere in the new TTK implementation.
🚀 Latest Updates (October 2025)
✅ NEW: Image Coordinate and Correspondences Functionality
Status: FULLY IMPLEMENTED AND TESTED
Pure OpenPTV Integration:
ptv.py_detection_proc_c()
andptv.py_correspondences_proc_c()
Implemented Features:
img_coord_action()
method with target detectioncorresp_action()
method with multi-camera correspondence findingImplementation Details:
img_coord_action()
: Direct integration withptv.py_detection_proc_c()
for target detectioncorresp_action()
: Direct integration withptv.py_correspondences_proc_c()
for correspondence processing_clean_correspondences()
helperTesting Results:
✅ Complete Parameter System Integration
Status: FULLY FUNCTIONAL - TRAITS-FREE
Pure TTK Implementation:
ptv.py_start_proc_c()
and other OpenPTV functionsFixed Issues:
ptv.py_start_proc_c()
directlyImplementation Details:
init_system()
: Complete initialization usingptv.py_start_proc_c()
directlyload_images_from_params()
: Pure Python/numpy image loadinginitialize_cython_objects()
: Direct OpenPTV Cython object initializationupdate_camera_displays()
: Pure matplotlib camera panel updates🚀 Key Features
✅ Complete Dependency Replacement
✅ Pure OpenPTV Integration
ptv.py_detection_proc_c()
,ptv.py_correspondences_proc_c()
,ptv.py_start_proc_c()
✅ Modern Parameter System (Traits-Free)
✅ Complete Processing Pipeline (Pure OpenPTV)
ptv.py_detection_proc_c()
integrationptv.py_correspondences_proc_c()
integration✅ Enhanced Visualization (Pure Matplotlib)
📁 Architecture Overview
No Traits objects anywhere in the pipeline!
🔧 Updated Files
pyptv/pyptv_gui_ttk.py
- Complete Traits-free implementationptv.py_*
methodsimg_coord_action()
andcorresp_action()
methodspyptv/experiment_ttk.py
- Pure Python experiment managementpyptv/parameter_gui_ttk.py
- Pure TTK parameter dialogs🧪 Testing
Comprehensive verification confirms:
ptv.py_detection_proc_c()
ptv.py_correspondences_proc_c()
# Test the complete Traits-free functionality python pyptv/pyptv_gui_ttk.py tests/test_cavity
🔄 Migration Benefits
For Users
For Developers
🎨 UI Improvements
🔍 Technical Details
📋 Checklist
🎉 Final Status: COMPLETELY TRAITS-FREE
The TTK GUI is now 100% Traits-free and uses only:
No Traits, Chaco, or Enable dependencies anywhere in the TTK implementation!
🔬 Processing Pipeline Status
Complete PyPTV processing pipeline now available with pure OpenPTV integration:
ptv.py_start_proc_c()
ptv.py_detection_proc_c()
ptv.py_correspondences_proc_c()
ptv.py_trackcorr_loop()
This PR represents the complete modernization of PyPTV's GUI system, providing a fast, lightweight, and dependency-free interface that directly leverages the OpenPTV library's full capabilities.