I was very taken with Lev Manovich’s article, “How to Compare One Million Images?”, on image visualization that dealt with ImagePlot and its use in his project, although at that time I wasn’t thinking of using it the dataset “play” project. I am a visually driven person, and spend quite a bit of time playing around with images. Similar to those who relax with books, I curl up with images, and spend a lot of time gazing at pictures. And, also an almost equal amount of time searching for them. So, with my new-found awareness of data, I began wondering if my preferences could be quantified, and use the resultant measures as search criteria?
So with the dataset project in mind, I went back to Manovich’s article and read it again to get details, which directed me to the Software Studies website to download ImageJ. I then downloaded the macro, ImagePlot, required for image visualization. After installing it in ImageJ, I set about finding its requirements for visualization from the software documentation. All that ImagePlot required was an image collection with associated metadata. I put together a set of 135 images from my personal collection after sifting through 600 odd images. I took particular care to include only those that I really liked, so the results would be meaningful.
As ImagePlot automatically scales the images to an uniform size, it was enough to just pull all the pictures together into a single folder. (ImagePlot documentation does mention that such a step is not required, as it is capable of handling images stored at different locations in a computer.)
Now that I had the image set in place, I went back to the documentation to know what format was required of the metadata, which happened to be ‘delimited tab text’. At first, assuming the metadata had to manually assembled, I spent some time creating a trial file for 20 images in that format. Once it became apparent this would be time consuming, I went back to the documentation and came to know that ImageJ does ‘batch’ (measuring multiple images in one step) image processing and measuring, the results of which are stored as a .csv file by default. Just choose the features that are to be measured (image brightness, gray values, etc.), click on ‘measure’ and, in one stroke, metadata appropriate for the image visualization is created by ImageJ itself! Overjoyed and very appreciative of ImageJ, I proceeded to convert this .csv file to the ‘delimted tab’ .txt format in Excel and was finally all set to go.
I chose to measure mean gray value (y-axis) and intensity (x-axis) of the images and plotted the values with the following results.
Through the visualization, I was able to see the range of gray values and intensity my images possessed. It seems I prefer images that are bright with less grayness, and of moderate intensity. Most of the images are of medium to low gray values, with very few in the high gray and high intensity category. The lines link images of similar characteristics and show how the images relate to each other.
As a next step, I intend to pursue animated visualizations now that I’m familiar with the visualization process. The biggest revelation for me was the documentation that accompanied the software. I’d always assumed that answers had to be found elsewhere from knowledgeable users, but most of my questions were answered by the documentation itself. Worked out sample projects that accompanied the software were helpful as well. These resources gave me the confidence to approach the project and fix errors in processing. Also, understanding data formats and creating metadata for the images were equally empowering.
So, going back to my earlier question – can my image preferences be quantified? Yes. But, I am yet to figure out how to use these values as search criteria for image collections. That, is where I go from here.
ImagePlot and ImagePlot Documentation can be found here –
http://lab.softwarestudies.com/p/imageplot.html
https://docs.google.com/document/d/1zkeik0v2LJmi1TOK4OxT7dVKJO7oCmx_fNP8SYdTG-U/edit?hl=en_US&pli=1#
Great! I’ve been wanting to play around with ImagePlot, but I was putting it off because I was worried about wrangling all the images–from your post it sounds much more manageable than I was anticipating. I’d thought about doing a mini project with pinterest… analyzing different users and/or boards for color values or brightness. Definitely going to give it a try now!
Fascinating. I have my own blog where I collect snippets from old Japanese magazines. I could cross reference the data from which of my posts are most liked/reblogged and see if there’s any correlation with how they fall on other color scales. Now if I can just figure out how this program works…
Hi Renzo,
I think this software gives a totally different perspective from that of human vision…so, there is every likelihood you’ll find something entirely new about your blog readers’ preferences! As a fellow traveller, I’d be happy to help!
Thanks, Madi!
Right now I’m fiddling around with a folder I have of about 400 jpegs. I ran that through ImageJ and saved it as a .csv file then opened excel and made one saved as a txt file. But now when I open the macro it gives me an error because there are commas in the file. I’m trying to figure out if I did something wrong when converting csv to txt or if it’s from when I made the first csv file.
Okay, realized I did not save them as Tab Delimited, so I did that, but now I keep getting a message that says UNDEFINED VARIABLE IN LINE 1 when I try to run the Macro.
Latest update. Figured out what I was doing wrong with opening files and the whole Undefinided Variable in Line 1 problem, but now I’m trying to figure out measuring image saturation and getting that info put into the txt file. The other issue is that while I do have information like the source of the image, subject matter, and year of publications, that info is only saved as tags on my blog and would probably have to be manually typed for the sake of this imageplot.
re: image saturation
did you download the larger download set or just the imageplot software? The larger set has extras which includes the macro ‘ImageMeasure’. I was under the impression this macro can measure image saturation.
re: tags
I believe that info should be stored locally by the software you use to catalog your images. sometimes even a explorer-like display that sorts the images might do the trick.
I have imageplot and I just figured out that imagemeasure is there. However when I run the text file through everything I still get a black screen instead of a visual chart. Also, Imagemeasure doesn’t retain the filename.
Also, I don’t use any software to store them on my computer, I just scan them from books and dump them into a basic folder. It’s when I put them on tumblr that the post the pictures are in get various tags. I’m not sure if there is any way to automatically transfer those tags onto the individual images.
Wow, this will be a great tool for the image-oriented projects such as Tessa and my fashion vernacular project. Thanks a lot for your post!
Image plot looks very interesting. I want to give this a try!