ATTENTION: You are viewing a page formatted for mobile devices; to view the full web page, click HERE. Software > N.A.N.Y. 2012

NANY 2012 - RELEASE: PerceptualDiff GUI

(1/2) > >>

NANY 2012 Entry Information
Application Name PerceptualDiff GUIVersion 1.0Short DescriptionBatch compare two branches of image files in a human visible (perceptual - not binary) way. Move and Rename files depending on match resultsSupported OSes Windows XP/Vista/7Setup File RequirementsNothing special. Its a portable app!Author InfoMost regular DoCos know me. And others i won't chase away with any picture of me :) DescriptionInspired by a request from DC member Tat1990, who dug up a nice utility named Perceptual Diff, which compares two images in a perceptual (respecting human vision) way for differences, the idea to this app was born. Tat1990 complained, that the Perceptual Diff utility is a hard to handle CLI application and lacks the capability to compare a whole branch (subtree) of images against another branch of images in batch mode. Also she was in need to move the images from branch1 (i.e. some new images you want to add to your collection) to branch2 (i.e. a "library" or your collection) under the subdir of the image of branch2 (your collection) that best match the actual image of branch1 (the new images to add), keeping all the original subdirs of the branch1 image. Furthermore she wanted to rename the image from branch1 following the best match image filename of branch2.

To help her out here, i wrote the PerceptualDiff GUI (Perceptual Diff Graphic User Interface) app, that firstly gives the possibility to nicely and easily handle all the parameters of the Perceptual Diff CLI utility with TextControls, SpinControls and Sliders. Secondly it adds move, rename and batch capability of an unlimited amount of image files processed unnattendedly. And lastly you get a nice logfile for the archives with all actions that PerceptualDiff GUI did or would have done. Moving and Renaming are not mandantory, so you can also just get a report of which images match best with which other.

And as this is a portable app that is self contained and don't need any installation you can use it everywhere just right out of the box.

After that i realized, that this maybe useful for others too and developed the quick and dirty thing up to a usable and showable application. And with the upcoming NANY event, that was my chance to join the game. And here it is. :)

A word about the Perceptual Diff utility. My app is just a convinient frontend to the Perceptual Diff utility of Hector Yee ( This utility uses a special comparing method that is not simply a binary byte-by-byte comparison. Rather this utility respects some rules of human vision and therefore compares the two images like a human would look at these pictures and decide if they are similar or totally different. The threshold for what is considered similar is adjustable. PerceptualDiff GUI always finds the BEST PERCEPTUAL MATCH of the images, depending on the given threshhold and based on the results returned by Hectors Perceptual Diff utility, comparing every picture from branch1 with every picture on branch2.Features
* Perceptual comparison. Not binary comparison
* Unlimited amount of images to compare to each other. Whole directory trees (with subdirectories) can be processed
* Unattended batch mode
* Move and Rename actions can be enabled or disabled. So just do a comparison to get a report which image best match with which one without changing your data or let PDiff GUI take actions to move and rename files for you to the bestmatch locations (keeping the necessary parts of the original path)
* File move and rename actions take care about filename collisions and rename/move with numbering where necessary
* Easy setup of the CLI parameters of the Perceptual Diff utility with GUI controls
* Save and load settings for reusing the same settings over and over again
* Downsampling of the images to speed up the comparison process
* Detailed logfile with all actions and results that can be saved for later use or for the archives
* Portable application
* Multilanguage (Englisch and German translations available for now - If anyone wants to do another language, please contact me)ScreenshotsNANY 2012 - RELEASE: PerceptualDiff GUI
InstallationNo installation needed. It's a portable app. Just unpack and run the exe file.Using the applicationMostly self explanatory. For more information about Perceptual Diff utility, please see the above mentioned Homepage of Hector Yee.UninstallingTo uninstall, just delete the program folder again.
Known IssuesNone YET! :)

Suggestions are welcome. Hope this program is useful to anyone else than Tat1990.

Happy perceptual comparing

Looks like nice work, JoTo!  :Thmbsup:

JoTo - I admit I haven't downloaded it yet, but does this require I also download pdiff, or is pdiff included in the program download?  Also, any plans to release this back to the project?  I find so many front ends to make sourceforge projects easier are not always released back to the project and are a surprise to the project developers in some cases.  Granted, some just reject it for a variety of reasons, but it is worth at least offering it as an addition if you haven't already.

Nice, Joto, and I echo what steeladept suggested about offering it back to the pdiff devs.

Hi DoCos,

firstly let me thank you for the kind words.

Secondly, the package (not yet downloadable because i'm in the process of packaging and setting up a webpage for it right now) is self-conatined. So nothing else is needed to download. Just the GUI package and you are set.

Thirdly: I neither compiled against anything directly nor have i changed/added anything in the Perceptual Diff utility code. The 3rd party stuff is just included as separate precompiled binary exe and dll files, unchanged as i got them from the authors homepage in the package. So you can still use the Perceptual Diff utility standalone without my GUI and or unpackage again and get back the original package (well to be honest, i stripped the source code files and some compiling instruction textfiles from my distribution package).

And MOST IMPORTANT! Of course i contacted the author Hector Yee before i have included his exe file in my package, informed him what i've done and about the NANY event and offered him to send him a pre-release version to have a look at it. And Hector responded to me with the following words (copied from his eMail):

I'm pretty sure you can distribute it as there are debian  and ubuntu packages with it already, so not a problem. Plus I give you permission to distribute it as well just in case. Thanks for doing this!
--- End quote ---

And of course i give appropriate credits for Hectors utility and the GPL freeimage.dll that Hector uses in the about dialog of my GUI. I also will inform Hector again, if the page for my GUI is up, so he can link to it, if he wants, on his utility page. I'd appreciate this too, as this would give my GUI more prominence and maybe help more users to use it.

I think with all that i have done all i can do to "Give the king what the king deserves" :) and i'm on the legal and morally bright side of life, isn't it?

Thanks for pointing that out and give me the chance to clarify and get more safety in not doing something wrong because some guys shared their thoughts about the legality. Any more concerns that you think i should consider?



[0] Message Index

[#] Next page

Go to full version