Matrix Mask Picker is a sophisticated Python application designed for precise manipulation of binary matrix data. Built with PyQt5, it provides an intuitive graphical interface for loading, visualizing, and editing JSON and CSV files containing binary mask data used in defense and data analysis applications.
View Source Code on GitHub
Program Description
This application is specifically designed to help you load, view, and edit data stored in JSON and CSV files. The interface centers around an intuitive matrix display where each cell represents a binary value (0 or 1), making it perfect for working with mask data, configuration matrices, and binary datasets.
How It Works
- Data Loading: Import JSON files containing structured binary data
- Vector Selection: Choose from two specified data vectors within the JSON structure
- Matrix Conversion: Automatically convert data into a visual CSV matrix format
- Real-time Editing: Make live modifications with instant visual feedback
Matrix Visualization
- Binary States: Cells with value 1 are displayed in green
- Zero States: Cells with value 0 are displayed in blue
- Interactive Editing: Click any cell to toggle its value (0 ↔ 1)
- Change Tracking: Modified cells show enhanced saturation to highlight recent changes
- Visual Feedback: Smooth animations and hover effects for better user experience
Dual Matrix System
The application supports working with two matrices simultaneously for advanced data management:
- Master Matrix: Primary data source (left panel)
- Slave Matrix: Secondary data for comparison or backup (right panel)
- Synchronization: Real-time sync capabilities between matrices
- Independent Editing: Modify each matrix independently or together
Control Functions
Advanced control buttons provide efficient matrix manipulation:
- Sync: Makes the slave matrix identical to the master
- All Off: Sets all cells to 0 across the matrix
- All On: Sets all cells to 1 across the matrix
- Save: Exports modified data (console output in demo)
- Random Data: Generates random binary patterns for testing
Interactive Live Demo
Try the matrix editor below - click cells to toggle values, use controls to manipulate data, and see real-time changes!