Skip to content

AnotherWorkingNerd/LatentEye

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LatentEye

LatentEye icon

The eye that sees into generative art.

Update March 2026

Life unfolds in unexpected ways causing priorities to change. Therefore I've come to realize that it's time for me to step away from this project and take one of Life's other paths. Working on this was a lot of fun. Take care.

  • AnotherWorkingNerd.

Introduction:

LatentEye allows you to visually explore local AI-generated images and view their hidden metadata. This user-friendly desktop app offers features for viewing, managing metadata, and clipboard operations. Primarily for ComfyUI and Generative AI tools that produce images with Stable Diffusion compatible metadata but can view any of the supported file types.

My interest in AI image generation began with Automatic 1111, followed by a discovery of the amazing ComfyUI. In the process of creating images, I struggled to find an image viewer that displayed my creations along with the metadata in a way I liked. This led me to create LatentEye, initially it is designed for ComfyUI and Stable Diffusion based tools, support additional GenAI apps may be added in the future.

Prior to LatentEye, I had no knowledge of PyQt 6, so this project serves as my opportunity to learn it and many other diffuse and pythonic things along the way. This is a way for an old nerd to try and remain relevant. The name is a play on Latent Space and Latent Image. For the mathematicians or Generative AI developers, you might find this interesting: Complexity Matters: Rethinking the Latent Space for Generative Modeling. Just for the record, I'm not a mathematician and 99% of that paper I didn't understand. whoo hoo I'm a 1%er!?!? LOL.

LatentEye was designed, developed on a Mac and and tested on MacOS and Linux. It is expected to run on Windows and maybe other platforms supported by Qt. I primarily only use Windows for playing GuildWars 2 and a few other Steam games, so my testing on Windows has been very light.

mainwin

Here are a few more screenshots if interested.

Features:

  • Supports macOS, Linux and Windows.
  • Thumbnail generation for browsing PNG, jpeg and webp images.1
  • Display full metadata associated with images from ComfyUI and Stable Diffusion related tools
  • Intelligent file tree that shows what directories have image files and on any drive.2
  • EyeSight for full size viewing of selected image.
  • Copy the metadata info to the system clipboard.
  • Easy to use GUI with resizable elements and windows.
  • Cross Platform by using PyQt6. Runs on Linux, macOS, and Windows.
  • Dark mode

0.3.0 Release

The Summary is below and the CHANGELOG provides all the details.

This added some desperately needed features. Directory refresh and a right click menu for the Thumbnails for some basic file management. See the screenshots or docs for more info.

Most of the changes are invisible code refactoring, cleanup and hopefully improvements.

  • Added directory Refresh button to main toolbar
  • Added context menu to thumbnails for delete, rename and clipboard functions
  • code cleanup, lots of internal work and hopefully improvement.
  • updated documentation and screenshots.

0.2.0 Release Notice

This release is a significant improvement of LatentEye. The Summary is below and the CHANGELOG provides all the details.

  • improved speed for thumbnails with progress bar.
  • Thumbnail sorting. defaults to sort by name.
  • EyeSight: all tool bar buttons functional. Zoom and zoom reset works.
  • Added Thumbnail refresh. If new files get added to the directory you're looking at, hit refresh.

Some things may still have issues. The KnownIssues have been updated.

Documentation

I think this is pretty well covered in how to use LatentEye if not let me know.

Installation

Requirements:

  • Python versions: 3.12.3 or later is required due to StringEnums being used.
  • PyQt v6.8 see: Installing PyQt6

In order to use LatentEye you need to have python3.12 or later on your system. If you don't have it installed instructions are provided in Python3 installation

Installing LatentEye

Now were ready to actually install LatentEye. Just follow along with the steps below.

  1. Clone the repository: change to the directory where you want to install LatentEye and open a shell window and...

    # if you have github ssh key setup.
    git clone git@github.com:AnotherWorkingNerd/LatentEye.git
    
    # not using ssh.
    git clone https://github.com/AnotherWorkingNerd/LatentEye.git
    
    cd LatentEye
  2. Create and Activate virtual environment:
    If you already have a python virtual environment that has not been activated, activate it then skip to the next step Otherwise continue with the steps below. Create the venv for LatentEye anywhere you like but for this example we are going to create it in the LatentEye Directory and call it virtenv. if you change the name just remember to change it in all the commands below.

    For Unix-based machines

    python3 -m venv virtenv
    . virtenv/bin/activate

    that's dot space then the path to the python virtual env.

    For for Windows-based machines -

    .\virtenv\Scripts\activate
  3. Verify the virtEnv is set up
    For these commands use python not python3 so that you will use the python in the virtual environment created in the first step, otherwise you just the system python and it's generally not a good idea to add a lot of stuff to the system python. Why, that is the case is way beyond the scope of these instructions. if you are interested a search engine or you favorite Chatbot is a good place to ask that.

    for linux:

    which python

    Should return something like LatentEye/vertenv/bin/python if you get an error here make sure you followed ALL the steps starting at step 1 and used the correct path in step 2.

    For Ubuntu and possibly other Linux distro's there are additional steps that you may need to make. All of this is covered in Ubuntu Notes along with some troubleshooting notes.

    for Windows: open cmd.exe or powershell(preferred) and simply type python -V it either works or it doesn't. Use quit() to exit python.

  4. Install the required packages:

    pip install -r requirements.txt

    This will make sure that pip and the python setuptools are at the level needed then install:

  5. Open LatentEye Presuming you are still in the LatentEye directory.

    python LatentEye.py
    

    You can also launch LatentEye using different Qt styles. The names are:

    • Fusion
    • macOS note: this only works on macOS.
    • Windows note: this only works on Windows.
    • Basic
    • Imagine
    • iOS
    • Material
    • Universal
    • FluentWinUI3 Style note: this works on all platforms.

    use python LatentEye.py -style [StyleName] to use a different Qt style.
    This may depend on the version of Qt 6.x installed.

Testing.

Confirmed successful runs on the following:

  • Operating Systems:

    • MacOS Monterey or greater.
    • Ubuntu 24.04.1 LTS (Noble Numbat)
    • Windows 10, 11
  • Python Versions

    • 3.12
    • 3.13
  • PyQt version 6.8 or later.

The testing was constrained by the resources at hand. It was tested across multiple platforms, storage devices, and utilizing over 150 distinct image files from a wide range of publicly accessible AI generators.

Contributing

Since this is a one man operation, contributions are always welcome! Contributions in any form are encouraged so of the ways you can do this with little effort on your part:

  • Star this repo.
  • Spread the word about LatentEye by recommending it to others.
  • Your feedback about features you'd like to see or bugs reports, please provide detailed feedback here on GitHub.

Contributions requiring a bit more effort on your part:

  • If you have an AI generated image png, jpeg image that doesn't display the image or metadata properly please create a bug report and provide details of what the problem is and what was used generate it, and what was expected. if applicable, a copy of the existing metadata would be helpful for verification purposes.
  • If you have something in mind. please fork the repo, create a new branch for your code, write it, test it, commit and push it then open a PR to the main repo.
  • Improving documentation, if you see typo's, bad grammar, or docs that can be improved please file an issue and let me know the details.

I had forgotten how much non-coding work went into setting up a public repo. Your involvement and support will help keep me motivated.

LatentEye's vision for the future.

First on the list is, of course, getting LatentEye feature complete that means everything operates as I planned, intended, or expected. Here are some of the things that I'm working on now:

Updated June 2025:

  • DONE Aug2025: file handling including file rename, file move, file delete, maybe copy
  • IN PROGRESS: EyeSight improvement - image sizing and other minor issues. Maybe eating still more carrots. :-)
  • RESEARCHING:Fix platform specific issues like Linux font sizes, etc.
  • IN PROGRESS: Still Lots of internal improvements with the code.
  • Testing on Windows.
  • DONE?: Rewriting or fixing any typos or mistakes in the duckumints documents I've written. I think I've got most of them.

My vision for future versions, This list is just the high level items, presented in random order, and not prioritized:

  • Improve the UI / UX
  • App save settings, like window locations and last used path.
  • Media playback. videos and music
  • Render ComfyUI workflows. I don't know how much work this is. Wow, to do this the way I envision is a lot more work than I expected.
  • User setting. make things as configurable as possible. colors, fonts, file formats, etc.
  • Lots of coding improvements that would be completely unseen. This could cover all areas of LatentEye
  • Creating an installer and maybe executables.
  • Adjustable font and font size for the file tree and different icons
  • Status bar
  • Some sort of install script/program

Stuff LatentEye doesn't do and probably will never do.

  • Image editing. Image editing is a specialized task. This is a viewer, and there are many excellent image editing tools available. I won't recommend a specific one, as your requirements may differ from those of others.
  • Editing of the metadata. In a future version, will be the ability to clear image metadata, but this feature will focus solely on clearing, not editing.
  • EXIF data. - That's the realm of photography not Generative AI and doesn't align LatentEye's vision. It could be added someday, but it's unlikely.
  • Drag and drop. There are other apps that support that like sd-prompt-reader and https://www.sdimage.info
  • Image Printing. It's highly improbable because of the necessary code and support. There are many better ways to print an image without adding this feature.

Of course this list is subject to change but the first and last ones on the never do list are very unlikely to change.

THANKS!

MANY Thanks go out to the following. Without them, LatentEye's would have never been opened.

MIT License

This project is licensed under the MIT License - see the LICENSE file for details. The software includes third-party libraries that are subject to their own licenses and disclaimers.

A mention would be nice, however. :-)


Footnotes:

1. metadata is not shown for .webp formatted files.

2. see the docs for more info on this. The TL;DR version is: but not in parent or child directories

About

LatentEye - Browse AI generated images and reveal the hidden metadata in them. With advanced features for viewing, metadata handling, and clipboard operations. Great with ComfyUI or Stable Diffusion tools

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages