236 Commits

Author SHA1 Message Date
68673ccdbe feat: Implement face detection improvements and cleanup script
This commit introduces significant enhancements to the face detection system, addressing false positives by updating configuration settings and validation logic. Key changes include stricter confidence thresholds, increased minimum face size, and improved aspect ratio requirements. A new script for cleaning up existing false positives from the database has also been added, successfully removing 199 false positive faces. Documentation has been updated to reflect these changes and provide usage instructions for the cleanup process.
2025-10-16 15:56:17 -04:00
d398b139f5 chore: Update migration documentation and quickstart notes for DeepFace integration
This commit adds final notes to the migration documentation and quickstart files, confirming readiness for DeepFace implementation across all phases. The updates include completion confirmations in `DEEPFACE_MIGRATION_COMPLETE.md`, `PHASE1_COMPLETE.md`, `PHASE2_COMPLETE.md`, and `PHASE3_COMPLETE.md`, as well as quickstart notes in `.notes/phase1_quickstart.md` and `.notes/phase2_quickstart.md`. These changes ensure clarity on the project's progress and readiness for the next steps in the DeepFace integration.
2025-10-16 15:20:14 -04:00
ddb156520b feat: Implement quality filtering in Identify Panel for enhanced face identification
This commit adds a quality filtering feature to the Identify Panel, allowing users to filter faces based on a quality score (0-100%). The `_get_unidentified_faces()` method has been updated to accept a `min_quality_score` parameter, and the SQL query now includes a WHERE clause for quality filtering. All relevant call sites have been modified to utilize this new feature, improving the user experience during face identification. The unique checkbox default state has also been confirmed to be unchecked, ensuring consistency in the UI behavior.
2025-10-16 15:02:43 -04:00
986fc81005 feat: Enhance Identify Panel with quality filtering and navigation improvements
This commit introduces a quality filtering feature in the Identify Panel, allowing users to filter faces based on a quality score (0-100%). The panel now includes a slider for adjusting the quality threshold and displays the current quality percentage. Additionally, navigation functions have been updated to skip to the next or previous face that meets the quality criteria, improving the user experience during identification. The README has been updated to reflect these new features and enhancements.
2025-10-16 14:49:00 -04:00
b2847a066e docs: Add comprehensive documentation for Phase 6 testing and validation
This commit introduces several new documents summarizing the completion of Phase 6, which focused on testing and validation of the DeepFace integration. Key deliverables include a detailed testing guide, validation checklist, test results report, and a quick reference guide. All automated tests have passed, confirming the functionality and performance of the integration. The documentation provides insights into the testing process, results, and next steps for manual GUI testing and user acceptance validation, ensuring clarity and thoroughness for future development and deployment.
2025-10-16 13:30:40 -04:00
ef7a296a9b feat: Complete migration to DeepFace with full integration and testing
This commit finalizes the migration from face_recognition to DeepFace across all phases. It includes updates to the database schema, core processing, GUI integration, and comprehensive testing. All features are now powered by DeepFace technology, providing superior accuracy and enhanced metadata handling. The README and documentation have been updated to reflect these changes, ensuring clarity on the new capabilities and production readiness of the PunimTag system. All tests are passing, confirming the successful integration.
2025-10-16 13:17:41 -04:00
d300eb1122 chore: Add configuration and documentation files for project structure and guidelines
This commit introduces several new files to enhance project organization and developer onboarding. The `.cursorignore` and `.cursorrules` files provide guidelines for Cursor AI, while `CONTRIBUTING.md` outlines contribution procedures. Additionally, `IMPORT_FIX_SUMMARY.md`, `RESTRUCTURE_SUMMARY.md`, and `STATUS.md` summarize recent changes and project status. The `README.md` has been updated to reflect the new project focus and structure, ensuring clarity for contributors and users. These additions aim to improve maintainability and facilitate collaboration within the PunimTag project.
2025-10-15 14:43:18 -04:00
e49b567afa Remove deprecated files and refactor codebase for improved maintainability
This commit deletes the `photo_tagger_refactored.py`, `run.sh`, and test files (`test_basic.py`, `test_deepface_gui.py`, `test_face_recognition.py`) that are no longer in use. The removal of these files streamlines the project structure and eliminates legacy code, paving the way for future enhancements and a cleaner codebase. The README has been updated to reflect these changes, ensuring clarity on the current state of the project.
2025-10-15 12:44:02 -04:00
ac5507c560 Add cancel functionality to Dashboard GUI processing 2025-10-15 11:40:09 -04:00
507b09b764 Implement progress tracking and status updates in Dashboard GUI processing
This commit enhances the Dashboard GUI by adding a progress bar and status label to provide real-time feedback during photo processing. The processing button is now disabled during the operation, and the progress updates are simulated to reflect various stages of the process. Additionally, error handling has been improved to reset the progress state in case of failures, ensuring a smoother user experience. The README has been updated to include these new features, emphasizing the improved interactivity and user feedback during processing tasks.
2025-10-14 14:53:22 -04:00
3e88e2cd2c Enhance Dashboard GUI with smart navigation and unified exit behavior
This commit introduces a compact home icon for quick navigation to the welcome screen, improving user experience across all panels. Additionally, all exit buttons now navigate to the home screen instead of closing the application, ensuring a consistent exit behavior. The README has been updated to reflect these enhancements, emphasizing the improved navigation and user experience in the unified dashboard.
2025-10-10 14:47:38 -04:00
cbc29a9429 Add Tag Manager Panel to Dashboard GUI for comprehensive tag management functionality
This commit introduces the TagManagerPanel class into the Dashboard GUI, providing a fully integrated interface for managing photo tags. Users can now view, add, edit, and delete tags directly within the dashboard, enhancing the overall tagging experience. The panel includes features for bulk operations, responsive layout, and a detailed preview of tag management capabilities. The README has been updated to reflect these new functionalities, emphasizing the improved user experience in managing photo tags and their associations.
2025-10-10 14:02:26 -04:00
f40b3db868 Integrate Modify Panel into Dashboard GUI for enhanced face editing functionality
This commit introduces the ModifyPanel class into the Dashboard GUI, providing a fully integrated interface for editing identified faces. Users can now view and modify person details, unmatch faces, and perform bulk operations with visual confirmation. The panel includes a responsive layout, search functionality for filtering people by last name, and a calendar interface for date selection. The README has been updated to reflect the new capabilities of the Modify Panel, emphasizing its full functionality and improved user experience in managing photo identifications.
2025-10-10 13:37:42 -04:00
8ce538c508 Add Auto-Match Panel to Dashboard GUI for enhanced face matching functionality
This commit introduces the AutoMatchPanel class into the Dashboard GUI, providing a fully integrated interface for automatic face matching. The new panel allows users to start the auto-match process, configure tolerance settings, and visually confirm matches between identified and unidentified faces. It includes features for bulk selection of matches, smart navigation through matched individuals, and a search filter for large databases. The README has been updated to reflect the new functionality and improvements in the auto-match workflow, enhancing the overall user experience in managing photo identifications.
2025-10-10 12:40:24 -04:00
e5ec0e4aea Enhance Dashboard GUI with full screen and responsive design features
This commit updates the Dashboard GUI to support automatic full screen mode across platforms, ensuring optimal viewing experiences. It introduces a responsive layout that dynamically adjusts components during window resizing, improving usability. Additionally, typography has been enhanced with larger fonts for better readability. The README has been updated to reflect these new features, emphasizing the unified dashboard's capabilities and user experience improvements.
2025-10-10 11:11:58 -04:00
de23fccf6a Integrate Identify Panel into Dashboard GUI for enhanced face identification functionality
This commit introduces the IdentifyPanel class into the Dashboard GUI, allowing for a fully integrated face identification interface. The Dashboard now requires a database manager and face processor to create the Identify panel, which includes features for face browsing, identification, and management. Additionally, the DatabaseManager has been updated to support case-insensitive person additions, improving data consistency. The PhotoTagger class has also been modified to accommodate these changes, ensuring seamless interaction between components.
2025-10-09 15:36:44 -04:00
34c7998ce9 Revamp Dashboard GUI with unified interface and menu navigation
This commit transforms the Dashboard GUI into a unified interface designed for web migration, featuring a single window with a menu bar for easy access to all functionalities. Key enhancements include the addition of a content area for seamless panel switching, improved panel management, and real-time status updates. The README has also been updated to reflect these changes, providing a comprehensive overview of the new dashboard features and system requirements.
2025-10-09 14:19:05 -04:00
aa67f12a20 Enhance Search GUI with processed status and improved results display
This commit updates the SearchGUI class to include a new "Processed" column, displaying the processing status of photos. The results area now features a header with item count, and sorting functionality has been added for the processed status. Additionally, the treeview has been enhanced with a vertical scrollbar for better navigation. The logic for displaying and sorting results has been updated to accommodate these changes, improving the overall user experience in managing photo collections.
2025-10-09 14:00:30 -04:00
18e65e88fc Update README to enhance path handling and dashboard features
This commit improves the README documentation by detailing the new path handling capabilities, including support for both absolute and relative paths, and automatic path normalization. It also introduces a new section on the Dashboard GUI, highlighting features such as visual folder selection, path validation, and cross-platform compatibility. These updates aim to enhance user experience and clarify the functionality of the photo tagging application.
2025-10-09 12:45:18 -04:00
36aaadca1d Add folder browsing and path validation features to Dashboard GUI and photo management
This commit introduces a folder browsing button in the Dashboard GUI, allowing users to select a folder for photo scanning. It also implements path normalization and validation using new utility functions from the path_utils module, ensuring that folder paths are absolute and accessible before scanning. Additionally, the PhotoManager class has been updated to utilize these path utilities, enhancing the robustness of folder scanning operations. This improves user experience by preventing errors related to invalid paths and streamlining folder management across the application.
2025-10-09 12:43:28 -04:00
150ae5fd3f Enhance Search GUI with multiple search types and interactive features
This commit updates the README to detail new functionalities in the Search GUI, including the ability to search for photos by name, date, tags, and to identify photos without faces or tags. A collapsible filters area has been added, featuring a folder location filter, browse and clear buttons, and tooltips for user guidance. The results display now includes sortable columns and additional interactive features such as a tag help icon and calendar picker, improving the overall user experience and search capabilities.
2025-10-08 15:21:09 -04:00
29a02ceae3 Implement folder filter functionality in Search GUI
This commit enhances the SearchGUI class by introducing a folder filter feature, allowing users to filter search results based on a specified folder path. The GUI now includes an input field for folder location, along with 'Browse' and 'Clear' buttons for easier folder selection and management. Additionally, the search logic has been updated to apply the folder filter across various search types, improving the overall search experience and result accuracy. Tooltip functionality has also been added for better user guidance on available tags and filter options.
2025-10-08 15:20:39 -04:00
6fd5fe3e44 Implement date search functionality in Search GUI and SearchStats
This commit enhances the SearchGUI and SearchStats classes by introducing the ability to search for photos within a specified date range. The SearchGUI now includes input fields for users to enter 'From' and 'To' dates, along with calendar buttons for easier date selection. The SearchStats class has been updated to execute database queries that retrieve photos based on the provided date criteria, returning results that include the date taken. This addition improves the overall search capabilities and user experience in managing photo collections.
2025-10-08 14:47:58 -04:00
1c8856209a Enhance Search GUI and SearchStats with photos without tags feature
This commit introduces functionality to search for and display photos that lack associated tags in the SearchGUI and SearchStats classes. The SearchGUI has been updated to manage the visibility of relevant columns based on the selected search type, ensuring a seamless user experience. Additionally, the SearchStats class now retrieves photos without tags from the database, improving the overall search capabilities of the application.
2025-10-08 14:31:04 -04:00
8a9834b056 Implement photos without faces feature in Search GUI and SearchStats
This commit enhances the SearchGUI and SearchStats classes by adding functionality to search for and display photos that do not have detected faces. The SearchGUI now includes logic to handle the visibility of relevant columns based on the selected search type, ensuring a streamlined user experience. Additionally, the SearchStats class has been updated to retrieve photos without faces from the database, improving the overall search capabilities of the application.
2025-10-08 14:19:58 -04:00
40ffc0692e Enhance database and GUI for case-insensitive tag management
This commit updates the DatabaseManager to support case-insensitive tag lookups and additions, ensuring consistent tag handling. The SearchGUI and TagManagerGUI have been modified to reflect these changes, allowing for improved user experience when managing tags. Additionally, the search logic in SearchStats and TagManagement has been adjusted for case-insensitive tag ID retrieval, enhancing overall functionality and reliability in tag management across the application.
2025-10-08 14:03:41 -04:00
d92f5750b7 Enhance Search GUI with tag search functionality and improved result display
This commit updates the SearchGUI class to include a new feature for searching photos by tags, allowing users to input multiple tags and choose match modes (ANY or ALL). The results now display associated tags for each photo, and the GUI has been adjusted to accommodate these changes, including sorting capabilities for the tags column. Additionally, the search logic in the SearchStats class has been implemented to retrieve photos based on the specified tags, enhancing the overall search experience.
2025-10-08 13:44:04 -04:00
1972a69685 Refactor IdentifyGUI for improved face identification and management
This commit enhances the IdentifyGUI class by updating the face identification process to handle similar faces more effectively. The logic for updating the current face index has been streamlined, allowing for better flow when identifying faces. Additionally, new methods have been introduced to manage selected similar faces, ensuring that all identified faces are properly marked and displayed. The form clearing functionality has also been updated to include similar face selections, improving user experience during the identification process.
2025-10-08 12:55:56 -04:00
69150b2025 Enhance Search GUI with detailed features and improved workflow
This commit updates the README to reflect significant enhancements in the Search GUI, including new functionalities for photo selection, tagging, and sorting. Users can now view and manage tags through a dedicated popup, select multiple photos for bulk tagging, and utilize sortable columns for better navigation. The workflow for searching and managing photos has been clarified, providing a comprehensive guide for users to efficiently utilize the updated features.
2025-10-07 15:04:32 -04:00
9ec8b78b05 Enhance Search GUI with photo selection and tagging features
This commit updates the SearchGUI class to include a checkbox for selecting photos, allowing users to tag multiple photos at once. New buttons for tagging selected photos and clearing selections have been added, improving the user experience in managing photo tags. Additionally, the GUI now displays tags associated with each photo, enhancing the functionality of the search interface. The PhotoTagger class is updated to accommodate these changes, streamlining the tagging process.
2025-10-07 15:03:20 -04:00
55cd82943a Add sorting functionality to Search GUI for improved result management
This commit enhances the SearchGUI class by introducing sorting capabilities for search results. Users can now sort results by 'Person' and 'Photo path' columns, with visual indicators for sort direction. The sorting state is maintained, allowing for toggling between ascending and descending orders. Additionally, the default sorting is set to 'Person' when results are first loaded, improving the overall user experience in navigating search results.
2025-10-07 13:31:49 -04:00
0883a47914 Add Dashboard GUI for core feature management
This commit introduces the DashboardGUI class, providing a user-friendly interface for launching core features of the PunimTag application. The dashboard includes placeholder buttons for scanning, processing, and identifying faces, along with options for folder input and batch processing. The PhotoTagger class is updated to integrate the new dashboard functionality, and the README is revised to include usage instructions for the new dashboard command. This enhancement aims to streamline user interactions and improve overall accessibility to key features.
2025-10-07 12:27:57 -04:00
d4504ee81a Add Search GUI for enhanced photo searching capabilities
This commit introduces the SearchGUI class, allowing users to search for photos by name through a user-friendly interface. The new functionality includes options to view search results, open photo locations, and display relevant information about matched individuals. The PhotoTagger class is updated to integrate this feature, and the README is revised to include usage instructions for the new search-gui command. Additionally, the search_faces method in SearchStats is enhanced to return detailed results, improving the overall search experience.
2025-10-07 11:45:12 -04:00
b9a0637035 Enhance database schema with photo-tag linkage type and remove redundant migrations
This commit adds a new column, linkage_type, to the phototaglinkage table to distinguish between single and bulk tag additions. Additionally, the previous migration attempts to add date_taken and date_added columns to the photos table have been removed, streamlining the database initialization process. These changes improve the database structure for better tag management.
2025-10-06 14:42:22 -04:00
01404418f7 Enhance TagManagerGUI with bulk tagging features and linkage type management
This commit introduces significant enhancements to the TagManagerGUI, including the ability to add and manage bulk tags for all photos in a folder. Users can now link tags in bulk, with clear distinctions between single and bulk linkage types. The GUI also features improved handling of pending tag changes, allowing for better tracking and management of tag states. Additionally, the README has been updated to reflect these new functionalities and provide usage instructions.
2025-10-06 14:36:19 -04:00
64c29f24de Add TagManagerGUI for enhanced tag management in PhotoTagger
This commit introduces the TagManagerGUI class, which provides a comprehensive interface for managing photo tags within the PhotoTagger application. The new GUI preserves the legacy functionality while integrating into the refactored architecture, allowing users to add, edit, and delete tags efficiently. The PhotoTagger class is updated to utilize this new feature, streamlining the tag management process. Additionally, relevant documentation in the README has been updated to reflect these changes and provide usage instructions.
2025-10-06 12:43:30 -04:00
70cb11adbd Refactor AutoMatchGUI and ModifyIdentifiedGUI for improved unsaved changes handling
This commit enhances the AutoMatchGUI and ModifyIdentifiedGUI classes by refining the logic for handling unsaved changes when quitting. The AutoMatchGUI now uses a simplified messagebox for unsaved changes, while the ModifyIdentifiedGUI introduces a similar prompt to warn users about pending changes. Additionally, the logic for managing matched IDs has been updated to ensure consistency in face identification. These improvements aim to enhance user experience by providing clearer warnings and preserving user actions more effectively.
2025-10-06 12:25:44 -04:00
ac546a09e0 Add ModifyIdentifiedGUI for face modification in PhotoTagger
This commit introduces the ModifyIdentifiedGUI class, enabling users to view and modify identified faces within the PhotoTagger application. The new GUI provides a comprehensive interface for searching, displaying, and managing faces associated with individuals, allowing for easy unmatching and editing of person details. The PhotoTagger class is updated to integrate this functionality, streamlining the face modification process. Additionally, relevant documentation has been updated to reflect these changes.
2025-10-06 12:14:12 -04:00
b75e12816c Refactor AutoMatchGUI layout and enhance confidence display
This commit refines the layout of the AutoMatchGUI by adjusting the positioning of elements for better usability. The photo icon placement is now calculated based on the actual image dimensions, ensuring accurate positioning. Additionally, a new confidence badge feature is introduced, providing a visual representation of confidence levels alongside filenames. The layout adjustments improve the overall user experience by ensuring that images and related information are displayed more intuitively. The IdentifyGUI is also updated to reflect similar layout enhancements for consistency across the application.
2025-10-06 11:53:35 -04:00
38f931a7a7 Add AutoMatchGUI for face identification in PhotoTagger
This commit introduces the AutoMatchGUI class, enabling users to automatically identify and match unidentified faces against already identified ones within the PhotoTagger application. The new GUI provides a user-friendly interface for displaying potential matches, selecting identified faces, and saving changes. It integrates seamlessly with existing components, enhancing the overall functionality of the application. The PhotoTagger class is updated to utilize this new feature, streamlining the face identification process. Additionally, relevant documentation has been updated to reflect these changes.
2025-10-03 15:39:09 -04:00
5c1d5584a3 Implement auto-identification of faces with GUI in PhotoTagger
This commit introduces a comprehensive auto-identification feature within the PhotoTagger application, allowing users to automatically match unidentified faces against identified ones using a graphical user interface. The implementation includes database queries to fetch identified faces, a user-friendly display of potential matches, and options for selecting and saving identified faces. The GUI is designed for optimal performance and usability, ensuring a seamless experience. Additionally, the README has been updated to reflect this new functionality and provide usage instructions.
2025-10-03 15:24:23 -04:00
a51ffcfaa0 Add face identification GUI and related features to PhotoTagger
This commit introduces a new IdentifyGUI class for handling face identification within the PunimTag application. The GUI allows users to identify faces interactively, with features such as batch processing, date filtering, and a user-friendly interface for entering person details. The PhotoTagger class is updated to integrate this new functionality, enabling seamless face identification directly from the tagging interface. Additionally, enhancements to the calendar dialog and improved quit validation are included, ensuring a smoother user experience. The README is updated to reflect these new features and usage instructions.
2025-10-03 14:49:08 -04:00
f410e60e66 Add core functionality for PunimTag with modular architecture
This commit introduces a comprehensive set of modules for the PunimTag application, including configuration management, database operations, face processing, photo management, and tag management. Each module is designed to encapsulate specific functionalities, enhancing maintainability and scalability. The GUI components are also integrated, allowing for a cohesive user experience. This foundational work sets the stage for future enhancements and features, ensuring a robust framework for photo tagging and face recognition tasks.
2025-10-03 12:25:41 -04:00
b910be9fe7 Add photo icon feature to PhotoTagger for easy access to original photos
This update introduces a new photo icon in the PhotoTagger interface, allowing users to click the camera icon on face images to open the original photo in their default image viewer. The feature includes cross-platform support for Windows, macOS, and Linux, ensuring proper window sizing and multiple viewer options. Tooltips are added for enhanced user guidance, and the README has been updated to reflect this new functionality and its usage.
2025-10-02 14:16:41 -04:00
a14a8a4231 Add quit button with unsaved changes warning in PhotoTagger
This update introduces a new quit button that prompts users with a warning if there are unsaved changes before exiting the tagging dialog. The warning summarizes pending tag additions and removals, allowing users to choose to save changes, quit without saving, or cancel the action. Additionally, the tag selection combobox is now set to 'readonly' to prevent user modifications, enhancing the overall user experience in managing photo tags.
2025-10-02 13:31:33 -04:00
31691d7c47 Implement enhanced tag management features in PhotoTagger
This update introduces a comprehensive system for managing photo tags, including the ability to add and remove tags with pending changes tracked until saved. A new tag management dialog allows users to link tags intuitively, featuring a linkage icon for easy access. The interface now supports real-time updates and visual indicators for saved and pending tags, improving user experience. Additionally, the README has been updated to reflect these enhancements and provide clear documentation on the new functionalities.
2025-10-02 13:07:08 -04:00
639b283c0c Enhance tag management in PhotoTagger by implementing shared tag linking functions and improving tag deletion handling. Introduce a unified tag button frame for various view modes, allowing users to add tags seamlessly. Update pending tag changes cleanup logic to ensure accurate tag displays after deletions. This update streamlines the tagging process and enhances user experience across different photo views. 2025-10-02 12:41:16 -04:00
4602c252e8 Implement comprehensive tag management features in PhotoTagger
Add functionality for deduplicating tags, parsing tag strings, and managing tag IDs within the PhotoTagger GUI. Introduce a tag management dialog for adding, editing, and deleting tags, ensuring a user-friendly interface for tag operations. Update the internal logic to utilize tag IDs for improved performance and reliability, while enhancing the README to reflect these significant changes in tag handling and management.
2025-10-02 12:24:15 -04:00
7f89c2a825 Add tagging functionality to PhotoTagger GUI
Introduce a tagging system that allows users to manage tags for photos directly within the interface. Implement a tagging widget for each photo, enabling users to add and remove tags dynamically. Include a save button to persist tag changes to the database, enhancing the overall tagging experience. Update the layout to accommodate the new tagging feature and ensure existing tags are loaded for user convenience.
2025-10-01 15:24:48 -04:00
6bfc44a6c9 Refactor database schema for tag management in PhotoTagger
Enhance the tagging system by introducing a normalized structure with a separate `tags` table for unique tag definitions and a `phototaglinkage` table to manage the many-to-many relationship between photos and tags. Update the logic for inserting and retrieving tags to improve data integrity and prevent duplicates. Additionally, update the README to reflect these changes and document the new folder view features.
2025-10-01 15:10:23 -04:00