Picsimilar
About v0.1







Picsimilar is open Source Software.
http://picsimilar.sourceforge.net
Copyright (c) Dennis Damico, dennis508@yahoo.com
GNU General Public License
http://www.opensource.org/licenses/gpl-2.0.php

PC Installation Notes:
You need
o Java Runtime Environment Version 7 or later.
o ExifTool (included in Windows distribution)
o dcraw (optional) (included in Windows distribution)
o ImageMagick (optional)
o FFMPEG (optional)
o VLC (optional)




Beta Test Notice
The official beta test is completed. However, your help in improving quality is still requested. Please report any defects or oddities to me at dennis508@yahoo.com. Improvement ideas are also solicited. Good news is also welcome; if you like something, please let me know.

Some of the non-English text was produced by an automated translation service. Please send corrections/improvements to me at dennis508@yahoo.com.
Bitte verbessern Sie die automatische Übersetzung.
Merci d'améliorer la traduction automatique.




Quick Links
o Installing Picsimilar, ExifTool, and Java
o Running Picsimilar
o Viewing various image types
o Known problems
o Testing notes

                            

1. To install Picsimilar open the distribution file, move all files to a location of your choice.
To run in portable mode on removable drives: Create a writable folder named Picsimilar.db in the folder containing Picsimilar.jar. (This folder will hold all program data.)

Windows users: You may delete libopencv_java454.so.
Linux users: You may delete *.exe and *.dll.

Windows users:
2. Picsimilar requires the Java Runtime Environment Version 7 or later. You may obtain it from: https://www.java.com. Install 64-bit Java.
3. Install support programs as needed. See below.
4. Run Picsimilar by double-clicking Picsimilar.exe.
5. Read the known problem below relating to Unicode pathnames. If you are not using the Unicode workaround you may delete Picsimilar_temp.txt.
6. Users of High-Contrast Themes: Screens will look better if you execute Picsimilar from the command line as follows:
java -jar Picsimilar.jar -look com.sun.java.swing.plaf.windows.WindowsLookAndFeel

Linux users:
7. Picsimilar requires the Java Runtime Environment version 7 or later. Consult your Linux documentation if Java is not already installed. You might try this to install:
$ sudo apt-get update
$ sudo apt-get install default-jdk
$ java -version
8. If you wish, you may use an icon file to create a desktop shortcut to the jar file.
9. Picsimilar requires that ExifTool is installed on your system. Install ExifTool from https://exiftool.org/.
The first time you execute Picsimilar it will attempt to locate the ExifTool executable file. If that file cannot be located you will be asked to locate and select it. The executable should be named exiftool. If you make a mistake you can force Picsimilar to re-search for ExifTool by executing from the command line in the Picsimilar folder:
java -jar Picsimilar.jar -exiftool
10. Run Picsimilar by double-clicking Picsimilar.jar.
You may start in a particular folder by executing from the command line in the Picsimilar folder:
java -jar Picsimilar.jar -path fullpathtofolder

All users:
11. To enable viewing of DNG and RAW images, you need the dcraw executable:
o Windows: dcraw for 64-bit systems is included in the distribution.

o LINUX: Install the dcraw program using your system's package manager. Be sure it is installed in a location such that the "which" command can find it. Example:
$ which dcraw
/usr/bin/dcraw
o Also, if your RAW format is not recognized please read the Limitations section in the "About Picsimilar" file.

12. To enable viewing of HEIC, TIFF, WEBP and AVIF images, you need the ImageMagick executable:
o Windows: Download the ImageMagick program from http://www.imagemagick.org/script/index.php.
You may install the program anywhere on your system.
Then, in the folder containing exiftool.exe, create a symbolic link (not a shortcut) named "convert.exe" to ImageMagick's magick.exe program. Example from the command prompt:
mklink convert.exe "C:\Program Files\ImageMagick\magick.exe". (You may need to do this as an administrator.)

o LINUX: Install the imageMagick program using your system's package manager or download the portable Linux "magick" program.
If your version contains the "convert" program, be sure it is installed in a location such that the "which" command can find it. Example:
$ which convert
/usr/bin/convert
If your version contains the "magick" program but not the "convert" program, create a link named "convert" to it. The "which convert" command must be able to find it.

13. To enable viewing of video and audio thumbnails, you need the FFMPEG executable:
o Windows: Download the FFMPEG program from https://ffmpeg.org/.
You may install the program anywhere on your system.
Then, in the folder containing exiftool.exe, create a symbolic link (not a shortcut) named "ffmpeg.exe" to the FFMPEG program of the same name. Example from the command prompt:
mklink ffmpeg.exe "C:\Program Files\ffmpeg-4.0.2-win64-static\bin\ffmpeg.exe". (You may need to do this as an administrator.)

o LINUX: Install the FFMPEG program using your system's package manager. Be sure it is installed in a location such that the "which" command can find the ffmpeg executable. Example:
$ which ffmpeg
/usr/bin/ffmpeg

14. To enable viewing of videos and playing of audio, you need the VLC executable:
o Windows: Download the VLC program from https://www.videolan.org/vlc/index.html.
You may install the program anywhere on your system.
Then, in the folder containing exiftool.exe, create a symbolic link (not a shortcut) named "vlc.exe" to the VLC program of the same name. Example from the command prompt:
mklink vlc.exe "C:\Program Files (x86)\VideoLAN\vlc.exe". (You may need to do this as an administrator.)

o LINUX: Install the VLC program using your system's package manager. Be sure it is installed in a location such that the "which" command can find the vlc executable. Example:
$ which vlc
/usr/bin/vlc
                             


Limitations, warnings, and known problems:
-Your RAW file may not be recognized by  Picsimilar. There are hundreds of RAW formats. It may be a simple matter for Picsimilar to recognize your format. Send email to the author.

-Your TIFF file may not be viewable; Picsimilar is limited by 3rd party software capability. See user guide. Some versions of ImageMagick do not correctly apply the Exif Orientation tag.

-Your HEIC file may not be viewable.
--ImageMagick versions for Windows have heic support; versions for other systems may not. From the command line, look for "heic" in the output of "convert --version".

-Your WEBP file may not be viewable.
--ImageMagick versions for Windows have webp support; versions for other systems may not. From the command line, look for "webp" in the output of "convert --version".

-Images with transparency, such as PNG, TIFF, WEBP, are displayed with different colored backgrounds depending on the function being performed.

-Unicode in pathnames: On Windows, ExifTool will not process files with non-ASCII Unicode characters in the filename or pathname. (This includes accented characters such as ä, é, è, ö, ü, and other non-English characters.) This is due to an underlying lack of support for Unicode filenames in the Windows standard C I/O libraries. (This problem does not exist on Linux.) ExifTool 9.79 addresses this problem but Picsimilar does not support the ExifTool solution.

Picsimilar provides a "workaround" to avoid this problem, but with a performance cost. The workaround causes Picsimilar to copy files containing non-ASCII pathname characters to a simple ASCII temporary path, perform the ExifTool operation there, then copy the file back to its original location. To use this workaround, follow these steps.

  1. If you created a Picsimilar.db folder in step #1, copy the file picsimilar_temp.txt from the distribution file to there. If you did not create a Picsimilar.db folder then copy picsimilar_temp.txt to your home folder. Your home folder will be something like "C:\Users\Dennis".
  2. Edit picsimilar_temp.txt to contain a simple ASCII path to a folder for which you have read and write access. For example, "C:\temp".

When you use this workaround, the File attributes of metadata will reflect the temporary location, not the real location. However, the temporary attributes will never be written to the image file.

-Memory management: In extreme cases, such as folders or searches with thousands of images, Picsimilar may be unable to show the images or you may notice missing thumbnail images or Picsimilar slowing down drastically or even hanging. This indicates that Picsimilar needs more memory to operate. You may supply more memory by executing the program from the command line like this:
java  -Xmx8192m  -Xms8192m  -jar Picsimilar.jar
or change the 8192 values to any value greater than 8192.
Likewise you can constrain the program to use less memory by changing 8192 to any value less than 4096 that does not cause the insufficient memory condition.
Alternatively, you may decrease the size of thumbnail images in "Program Settings / Change Thumbnail Size". Smaller thumbnails use less memory than larger thumbnails.
You must use Picsimilar.jar for this, not Picsimilar.exe.

-Windows Security Alert: On some Windows systems you may encounter a firewall warning ("Windows Firewall has blocked some features of this app") when opening the Search window. This warning is benign. Picsimilar does not use network connections of any kind; you may deny access to private and public networks. The author believes this warning stems from hyper vigilance on the part of Microsoft and not from any threat in Picsimilar or Java.

This version of Picsimilar was tested with:
- Windows 10
- Java version "1.8.0_321"
- Java(TM) SE Runtime Environment (build 1.8.0_321-b7)
- ExifTool 12.30

- Kubuntu 20.04
- openjdk 11.0.14.1 2022-02-08
- OpenJDK Runtime Environment (build 11.0.14.1+1-Ubuntu-0ubuntu1.20.04)
- ExifTool 12.38