An intuitive, open-source tool for advanced image comparison and interaction.
- Overview
- Key Features
- Installation
- Basic Usage
- Contributing
- License
- Development Story
- My personal view on project
Improved ImgSLI is an open-source, non-proprietary software designed for intuitive image interactions. It's completely free, allowing easy distribution without restrictive licensing. It's built for anyone needing detailed image comparison, analysis, or manipulation, such as designers, upscale enthusiasts, photographers, or researchers.
Core Comparison & Viewing:
- Intuitive image splitting (horizontal/vertical) controlled by mouse.
- Display original resolution (WxH) for each loaded image.
- Automatic resizing of images to match the largest dimensions for consistent comparison.
- Save the current comparison view (including split line, magnifier, capture marker, and optional file names) as a full-resolution image.
- Export animated GIF or MP4 videos showing a scanning line transition from left image to right image.
- Create sequential animations with multiple images, showing smooth scanning line transitions between consecutive images in the sequence.
- Multi-image comparison mode for comparing multiple images of the same resolution in a grid layout.
Magnifier Tool:
- Powerful Magnifier for close inspection.
- Visual marker (red circle) indicating the magnifier's capture area on the main image.
- Adjustable magnification area size and magnifier display size.
- Adjustable movement speed for WASD magnifier control.
- Independent magnifier movement using WASD keys (with smooth interpolation).
- Adjust distance between magnifiers using Q and E keys (with smooth interpolation).
- Option to combine magnifiers for direct comparison of magnified areas.
- Freeze the magnifier's view position.
File & Workflow Management:
- Drag-and-drop support for loading one or multiple images per panel.
- Select loaded images via dropdown menus when multiple images are loaded into a panel.
- Swap entire image lists between panels with a single button click.
- Clear image lists for each panel individually using Trash (🗑️) buttons.
- Edit image names directly within the application interface.
- Option to include file names in the saved comparison image.
- Customizable font size and color for included file names.
- Adjustable maximum length for displayed file names with visual warnings.
User Experience & Interface:
- Multilingual support (English, Russian, Chinese, Brazilian Portuguese) with flag-based language selection.
- Dynamic window resizing with adaptive content rendering(relative coords).
- Persistent settings for window state, language, and various display preferences across sessions.
Python (from source):
- Requires: Python, pip, bash
git clone https://github.com/Loganavter/Improve-ImgSLI.git
cd Improve-ImgSLI
chmod +x launcher.sh
./launcher.sh
Arch Linux (AUR):
yay -S improve-imgsli
Windows (Inno Setup):
- Directly download it from >>>here<<<
- Run the installer and follow the prompts.
Flatpak (FlatHub):
- Requires: Flatpak
flatpak install io.github.Loganavter.Improve-ImgSLI
flatpak run io.github.Loganavter.Improve-ImgSLI
MacOS:
- Help wanted! We are looking for assistance to create and maintain a macOS build. See the discussion and contribute here.
- Launch: Start Improved ImgSLI using the method corresponding to your installation.
- Load Images: Use the "Add Img(s)" buttons or drag and drop image files onto the left or right half of the main image display area. If you load multiple files onto one side, use the dropdown menu above it to select the active image.
- Compare: In the standard comparison mode, click and drag the mouse on the image to move the separator line. Use the "Horizontal Split" checkbox to change the split orientation.
- Magnify: Activate the Magnifier tool via its checkbox. In this mode, clicking or dragging on the image sets the central capture point. Use WASD keys to move the magnified view areas independently. Use Q/E keys to adjust the distance between the magnifier circles. You can also freeze the capture point using the corresponding checkbox (WASD will then move the frozen point).
- Save: Click the "Save Result" button in the UI to export the current comparison view as a single image file.
- Create Animation: Click the "Save Animation" button to export a GIF or MP4 animation that shows a scanning line moving from left to right, visually transitioning between the two images.
- Create Sequential Animation: Click the "Save Sequential" button to select multiple images and create a continuous animation that transitions through all selected images in sequence with smooth scanning lines.
- Switch to Multi-Image Mode: Click on the "Multi-Image Comparison" tab in the main interface.
- Import Images: Click the "Import Images" button to select multiple images of the same resolution.
- Adjust Layout: Use the "Rows" and "Columns" spinboxes to set the grid layout for displaying images.
- Use Magnifier: Enable the magnifier checkbox to inspect details. Click on any image to position the capture area.
- Customize Magnifier: Adjust the magnifier size, capture area size, and position using the provided controls.
- Add Text Annotations: Enable "Show Text Information" to add custom text to each image. Adjust text color and size as needed.
- Export Images: Use "Export with Magnifier" to save images with the magnifier effect, or "Export Original" to save the original images without effects.
video.mp4
Contributions are welcome! Feel free to:
- Report bugs or suggest features by opening an Issue.
- Submit improvements by creating a Pull Request.
This project is distributed under the MIT License. See the LICENSE file for more details.
Development Story
Originally, Improve ImgSLI was fully crafted by ChatGPT in September 2024 to simplify creating comparison images for my work, offering basic image comparison functionality. In October, I discovered Claude and used it to enhance the tool with a magnifier feature and drag-and-drop support.
By November, with Claude's help, I refined the magnifier, adding options to freeze the view position and merge magnifiers. However, the growing codebase—coupled with Claude's 8k token context limit—made full regeneration impossible, forcing me to manually edit sections. I turned to Gemini, which assisted in integrating changes, though not all generated code was successful. Some features were postponed, and others were intentionally disabled to avoid bugs.
In early December, I experimented with adaptive magnifier positioning tied to window resizing, but the results were unsatisfactory, and I abandoned the effort. Then, in January 2025, a user request to enable window resizing prompted me to explore DeepSeek—a breakthrough AI with Chain-of-Thought reasoning at the time. DeepSeek helped implement this feature, while Gemini seamlessly incorporated it and other updates into the existing code.
In February 2025, I resumed enhancing Improve ImgSLI. With Claude Sonnet 3.7, I added dynamic image swapping via a button, a language dictionary, and further magnifier improvements, along with a help tooltip in the top-right corner. Soon after, I gained access to Grok 3—first on X, then via its website after a quick Google search. Grok 3 proved invaluable: its DeepThink model efficiently resolved persistent bugs, outperforming DeepSeek, while its generous query limits and smart standard model kept development flowing smoothly. It optimized rendering updates, introduced file name display and editing, and fixed fullscreen mode issues.
In late March 2025, I focused on improving cross-platform compatibility. Gemini and Grok, utilizing their web search functions, helped draft the necessary build and packaging scripts. While I initially hoped for community assistance with maintaining builds for different platforms, skepticism from some potential contributors about the project's AI-assisted origins meant this became a solo undertaking. Consequently, preparing each platform release was time-intensive, taking considerable effort, though this thorough process did help uncover and resolve several remaining bugs before the successful launch of the cross-platform versions. However, additional reviews and inspections delayed the publication on flathab until mid-April. But during this time, I also managed to fix a few more bugs and add a list cleanup feature.
In general, if do not take into account the price of my personal time, which is about 3.5 weeks in total, then this project cost me about $ 30. I got the AUR maintainer for free, so we don't take it into account either :)