This desktop program is designed to illustrate the relative importance of magnitude and phase components while emphasizing the frequencies' contributions to a signal. Although demonstrated using 2D images, the concepts apply universally to any signal. The software offers several features:
- Open and View: Capability to open and view four grayscale images, with each displayed in a separate "viewport".
- Grayscale Conversion: Automatically converts colored images to grayscale upon opening.
- Unified Sizes: Ensures all opened images are displayed at the same size, adjusted to the smallest size among them.
- FT Components: Each image viewport displays two components:
- Image itself.
- User-selectable Fourier Transform (FT) component, including FT Magnitude, FT Phase, FT Real, and FT Imaginary.
- Easy Browse: Images can be changed by double-clicking on the respective viewer.
- Two Output Viewports: Mixer results can be displayed in one of two output viewports, identical to input image viewports.
- User Control: Users can determine which output viewport displays the mixer result.
- Adjustments: Users can modify image brightness/contrast via mouse dragging within any image viewport.
- Applicable to Components: Brightness/contrast adjustments can be applied to any of the four components.
- Customizable Weights: Mixer output is the inverse Fourier transform (ifft) of a weighted average of the FT of the input four images.
- Slider Controls: Users can customize weights for each image FT via sliders.
- Intuitive Interface: Ensures user-friendliness for customizing weights, especially for two components like magnitude and phase.
- Region Selection: Users can pick regions from each FT component for output—inner region (low frequencies) or outer region (high frequencies).
- Selectable Regions: Rectangles drawn on each FT allow users to include inner or outer regions, with selected region highlighted.
- Customizable Size: Size (or percentage) of region rectangle is adjustable via slider or resize handles.
- Progress Indication: Lengthy ifft operations are accompanied by a progress bar to indicate the process.
- Cancellation: If user initiates new mixing settings while a previous operation is ongoing, the program cancels the prior operation and starts the new one.
This project was supervised by Dr. Tamer Basha & Eng. Abdallah Darwish, who provided invaluable guidance and expertise throughout its development as a part of the Digital Signal Processing course at Cairo University Faculty of Engineering.