It’s so easy to use that a full tutorial is almost unnecessary, but I wanted to showcase the tool anyway, so folks can see what can be created with it. It is also informative to check out Zach’s post explaining a bit about the tool.
The image dataset that I used for this example is a set of 146 covers from The Crisis, the official magazine of the NAACP. These images were gathered from the Modernist Journals Project and include covers from Vol. 1 No. 1 in November 1910 through Vol. 25. No. 2 in December 1922. Thanks to Kate Topham for compiling this image set.
What to do in a nutshell
To get started with Imj, simply go to the site and select your images (or a folder that holds the images) from your computer. Then, you can choose among three visualization types: Barcode, Montage, and Plot. I will show each of them below. For each visualization type, there are a couple of settings that you can adjust. Then, click “Apply Settings”, then “Do the Thing!”, and your visualization will be created below. You can save the viz by right clicking and saving image as, or by clicking “Download It” underneath “Do the Thing!”. That’s it!
What it looks like
Below, I have selected the 147 Crisis covers (Step 1), have left the viz type as “Barcode” (Step 2), and I have left the other settings (Canvas width and height and Smoothing) in their default mode.
In Step 3, the tool checks what files I have added, so all I need to do is click “Do the Thing!” and the Barcode viz is created below. As you can see, this visualization type, with no smoothing, takes all of the images and smashes them next to each other in a row.
If you adjust the settings in Step 2 so that Smoothing is set to “Average Color only“, click “Apply Settings” and then “Do the Thing!”, the barcode viz looks quite different. The system has calculated the average color for each image and, instead of displaying the image itself squashed into a row, it shows a color band.
If you adjust the settings in Step 2 so that Smoothing is set to “Dominant Color only“, click “Apply Settings” and then “Do the Thing!”, the barcode changes again. The system has calculated the dominant color for each image, so a color band is displayed, but it is different from Average Color.
If you adjust the settings in Step 2 so that Smoothing is set to “Color Palettes“, click “Apply Settings” and then “Do the Thing!”, the barcode viz changes a bit more dramatically. In this version, there are several color bands. I need to look into this further to understand what is going on here.
You can change the visualization type in Step 2, and below you can see what The Crisis covers image set looks like using “Montage.” Depending on the number of images you have, it might be useful to adjust the number of columns. The default number of columns is 50. For this data, in which we only have 157 images, I chose to create a montage with 10 columns only. I also adjusted the thumbnail width and height so that they would be larger and easier to see. Your thumbnail size needs will vary depending on the type of images you are working with and how many you have.
Click “apply settings” and “Do the Thing” just like for the Barcode visualization type. The montage for my data looked like this:
Montage can be useful for this relatively small image set in order to quickly see all of the covers at once, even to some level of detail. If you are working with a much larger image set, the thumbnails may be much smaller, and your goals would likely be to prioritize individual image legibility less in order to show the images next to each other at scale.
The third visualization type will plot each image on a graph, like a histogram or scatterplot, but with the image displayed instead of a dot. In this tool, you can select from a variety of measurements that will be run by the program to serve as your x-axis and y-axis values. The options are: Lightness, Saturation, Red, Blue, Green, Hue, Luminance, Value, Brightness. The tool does not provide explanations for these values, so it would be worth digging deeper into the programs underlying Imj in order to understand a bit better what they mean.
Plot is the visualization type most like Imageplot. The main tradeoff in using Imj instead of Imageplot is that you must use the generated values for both the x and y axes, whereas in Imageplot, you could only look at one value (say, saturation) as the y-axis and use your own data to order things on the x-axis (for example, to show things over time).
That said, Plot in Imj is extremely easy to use and compelling in many cases. Below, I have created a plot of The Crisis covers with Lightness as the x-axis and Saturation as the y-axis.
With this visualization, we can see, for example, that lighter cover images have overall higher saturation values.
Overall, Imj is an extremely easy to use tool that enables exploratory work with large sets of images. Zach Whalen has created something that’s great for beginners and offers a window into more in depth questions and areas of discovery.