iOta is meant for digital photographers who would like to index, archive and organize their images using a fast database backend, and don't want to become a system administrator doing so. iOta attempts to provide a simple user interface for doing all of the above using just one simple screen view.
iOta allows the user to generate uniquely rename and index images to an embedded database, generate thumbnails and browsable HTML indexes, archive directories of images onto CDR, and caption and describe each photograph in the user's collection. In addition, all this information also travels with the image itself in the thumbnail EXIF header.
NOTE:
This document is distributed with the iOta package. Check the help section of iOta, or check under Applications/Graphics in the KDE Help system. The latest version of this document is always available at the iOta home page. If a section seems incomplete, or if you feel that some more information needs to be added to the documentation in any section, please check the above link first and then send an email to the author atiota@varp.net .
iOta is a tool to manage and archive your digital photography collection. Whether you use a simple point-and-shoot digital camera, or scan your photographs from a megabuck film scanner after having captured it on your megabuck film SLR, this tool will help you organize, store, retrieve, and generate HTML indexes of your images, as long as you have your images in JPEG format.
iOta uses Berkeley DB as its database backend. The pure simplicity of this embeddable database implies that users of iOta don't have to be system administrators to organize their images. In fact, they don't have to know anything about databases at all.
iOta uses ImageMagick for image manipulation, which mostly consists of generating thumbnails, addind borders and captions, and manipulating the EXIF/JFIF headers for adding captioning content. This same content, which includes captions, keywords, date and time, camera and film information, and a host of other goodies, travels with the image thumbnail, and gets inserted into the database backend for retrieval.
iOta has been written with simplicity in mind. We don't want you to hunt your way down through cascaded menus to find what you were looking for. Therefore, all common actions are visible right on the main window itself, and you would hardly (if ever) need to access the top menubar for day-to-day usage.
With this same simplicity in mind, iOta doesn't care how and where you archive your images. Some users can afford terabytes of disk space and therefore will store their entire digital photography collection on hard disk, while some (like me) will try and archive chunks of their collection on CD-R, leaving their measly hard disks for other uses. iOta places all relevant information in the database backend, and tries to keep storage requirements to the minimum.
Before you delve into using iOta, it would be useful to know how it operates and what to expect off it. iOta's image organization plans and procedures can be found at the iOPlan website. It has been influenced by the organization plan outlined in the book The Business of Nature Photography, by John Shaw, and then modified heavily to suit the digital photography world. It is advised that you go through the above mentioned website before using iOta since it will help you understand the whole procedure better.
The gist of the entire book can be summed up in the phrase - Use better captioning. You probably cannot guage the importance of this advice if you just bought your digital camera and have a grand total of 500 picturs. It started making complete sense to me by the time I had 2000 images. For those of you who have 5000 or more images, I am sure this piece of advice makes perfect sense.
John Shaw advocates using as many captioning words as possible to make your searches more unique and flexible. iOta extends this concept by introducing 3 levels of captions for each image: the Category, the Description and Keywords.
Apart for descriptive phrases, and useful information such as Equipment, Film and Copyright, iOta has three other image tags that make it very useful for organizing your digital photography collection.
Given this wonderful philosophical discussion, one would think that organizing your digital photography collection would be the work of a librarian, rather than you the photographer! Of course iOta realizes that people are lazy (from personal experience). Therefore, iOta does most of the work for you. When you launch the application and try and organize your directory of downloaded images from San Francisco, iOta does the following:
For dealing with databases, each image needs a unique identifier and name. For digital photographs, this is quite simple to do as almost all digital cameras embed the time and date of an image into the image itself. iOta renames all your downloaded images using the date and time of the image capture, and uses this as the primary index into the database.
As an added bonus, iOta re-organizes each of your photo directories into a much cleaner human accessible format and creates an informative HTML index file (index.html) in that directory, which lists thumbnails of all the images in the directory along with Category, Equipment, Film and Copyright information. This directory is now easily portable and accessible across all platforms.
In this section, we will go through a basic session with iOta. We will examine what iOta is (and isn't) and what do we expect iOta to do for us. Throughout this running example, we will definitely look at screenshots for the main input/display screens, but more importantly, we will examine how your images and image directories get re-arranged as iOta takes control of organization.
NOTE:
iOta assumes that these images are from a digital camera, and hence contain all standard EXIF data such as time of day.
Lets say that you recently drove down to Bryce Canyon National Park in Utah, and then made your way back through Zion Canyon National Park. After reaching home, you plug in your camera and download your images into two directories - BryceCanyon and ZionCanyon. This is what your directories may look like at this point (we will follow only two images per directory for brevity).
[Photos #] ls *
BryceCanyon:
bryce01.jpg bryce02.jpg
ZionCanyon:
zion01.jpg zion02.jpg
Let us launch iOta and begin. Right off the bat, iOta informs you of the default local configuration, namely, that the database file is stored under ~/.iota/iota.db. This is purely informative, and you can simply check the Do not display again box, so this won't be displayed again.
This brings you to the main iOta window. Almost everything that you may need to organize and access your photography collection can be done through this main window itself. You should not need to access the top menubar.
The operating algorithm should be as simple as follows. Once you download your images into a directory, Organize the directory. After you have organized at least one directory of images, you can search and edit the database using the Find function. After you have organized a couple of directories and would like to burn these directories onto CD-R, you Archive them. Results displayed in the search window can be printed using Print, and updated using Update All.
The first step after downloading your images is to get them into a human viewable and easily accessible format. The Organize button performs this step for you. The following steps are done when you press the Organize button.
iOta pops up a directory chooser window, where you simply choose your download directory. For our running example, let us assume that you chose BryceCanyon. iOta then uses the date and time stored in the EXIF header of the JPEG files to rename all your images uniquely. Not only are your photos uniquely indexed, the time and day you took the image glares out at you instantly.
The next step in the Organize procedure is to index each image with some useful information, and generate an HTML index file which could be easily read by anyone, anywhere. This information is also tagged on to the thumbnails generated for the HTML index, and therefore will go with you as you move your directories around. Finally, all this useful information is stored in the backend database and can be used to perform searches later.
This information is gathered in a popup called Image Details show below. Category is the broad category of images in the directory. For our example, a valid category could be Bryce Canyon National Park, California. The Sub-category could be used to distinguish this set from other sets of the same category, and could be Heavy fog and winter snow in December. Equipment and Film are self explanatory. Copyright is the copyright holder's name, generally yours. The CD-R Number is what you think is your CD-R archival number is going to be for this set of images. For example, if you have 4 CD-Rs of images already archived, you would potentially put 5 here. Don't worry, this can change later when you really start archiving. For now, we can assume that you have the Lazy Mode checked (default).
After this Organize step, let us take a
look at what has happened to our BryceCanyon directory.
[BryceCanyon #] ls *
index.html
Pictures:
2002-12-18++12-39-06.jpg 2002-12-18++12-40-56.jpg
Thumbs:
2002-12-18++12-39-06.jpg 2002-12-18++12-40-56.jpg
The index.html contains a thumbnail index of all your images in this
directory with links to the bigger versions, along with caption
information. The Thumbs directory
is where the thumbnails are stored
while your pictures have been renamed and moved into the Pictures directory. The thumbnails also contain all the
details (such as Category, Equipment etc.) that you filled out in the
Image Details popup. Finally, all this information and the image
thumbnails have also been imported into the database.
The Organize step gives you something to search for. After you have organized one or more directories, the Find button can help you navigate through the image database, and make changes to your image information.
The two most important things to remember about search are:
The search window is flexible in its search parameters as the phrases are not fixed and you can search for whatever phrase you please by choosing from the drop-down menus on the left. Also, a search for a partial phrase, such as Bryce for Category in our example, will return all images from Bryce Canyon National Park.
Using the Print will print the entire result set. Once you have your search results, clicking (single) on any image will display the details for that image in the left half of the application. Also, you can use File->Print details to print the image details shown on the left.
Once you have a database of photographs, you might want to use your photographic and aesthetic eye to sort through good and bad ones, while at the same time adding more details to the good ones so that it is easier to describe them to friends and family. Lets say, given our running example, that you want to sort through all the photographs in the Bryce Canyon category. Let us say that out of the results shown, you consider 2002-12-18++12-39-06 to be worthy of being called Excellent. You would click on that image (as shown below) and modify it as follows.
You can keep the Category, Equipment, Film, Copyright and CD Archive number consistent with every other image in this directory. But, since this is one of your better images, you would like to add a better description and more keywords to it so that searching for this image becomes easier later. I would add Hoodoos in Bryce Canyon in the heaviest snowfall of 2002 as the description. I would then add red sandstone snowfall december winter storm cold as the set of keywords to this image. Keywords are usually abstract descriptions of the image that do not appear anywhere in the Category or Description, and will help you to find similar images later. Finally, I would change the image Quality from Ordinary which is the default to Excellent leaving the other tags as they were. Once you are done, hit Save.
NOTE:
For clearing out field values, you simply clear that phrase before saving. For example, if you would like this image to have no copyright, delete the copyright input line before hitting save.
Sometimes it may be useful to change attributes of images in bulk. One such case may be typographical errors during the Organization stage. For example, type Bryce Canyon as Brce Canyon. Or, we might realize that the CD Archive number that we would be using is not really 2 but due to an overflow in the last archive, Bryce Canyon would have to go into CD number 3. For such situations, the Update All comes in very handy.
To update multiple images, use the search phrases and buttons to narrow down your search. Then, change the options you would like to change. For example, you can search for Brce Canyon in Category. Then change the Category entry to Bryce Canyon, and press Update All. Or, to change the CD Archive number, use the search phrase drop-down menus, choose Archive, and enter 3. Then press Update All.
NOTE:
It is important to note that for the Update All action, phrases which are left blank are not touched at all in the database. Therefore in our preceding example, if you left the Description, Keywords and Equipment blank, it would leave these fields for all the searched images in the database untouched, preserving any previous information. This has been done for convenience, as now you can search as broadly as possible (e.g., Brce Canyon, leaving other fields at defaults) and then bulk modify only Brce to Bryce leaving all other fields at their original values.
Deleting the image entry from the database is quite simple. You simply search for the image (by name, or by a broader search), click on it in the search window, and when it gets displayed in detail, press Delete.
NOTE:
One drawback (or feature, depending on the way you look at it :-) of not storing the entire image in the local database, and letting you, the user, handle where it is physically stored (on CD-R, on hard drive or wherever), is that the real copy of the image is never deleted when you press delete. Just the image thumbnail and all organizational information is deleted, so that iOta has no recollection of the image. This could be good and bad for you. If you really want to delete it, please do so manually from the real storage area. If you want to keep it in practice, and re-insert it later, you can do that easily too.
So far, we have used iOta for renaming, re-organizing and captioning our photography collection and also seraching and editing image details to and from an embedded database. iOta has also been able to create browsable HTML index files for all our images. Now we will examine how we can create Master Backups on CD-R for a bunch of photo directories already organized in iOta.
Let us assume that we are dealing with the same old directories -
BryceCanyon and ZionCanyon.
From our photo download directory (Photos), this
is what the view could be.
[Photos #] ls *
BryceCanyon/ ZionCanyon/
Let us try and archive these to CD-R. The Archive
does this for you. It is important to note that iOta simply prepares the
directory for archiving to CD-R, and does not perform the step for you.
For that, you will still need CD burning software, such as cdrtools, to burn the Photos directory
to CD-R.
After pressing Archive, choose the top-level
photo directory (Photos in our example) in the
directory chooser. iOta then crunches through the directory and prepares
it for archiving to CDR. Once its done, here is what the dirctory structure
looks like.
[Photos #] ls *
index.html index1.html index2.html
BryceCanyon:
Pictures/ Thumbs/ index.html
ZionCanyon:
Pictures/ Thumbs/ index.html
Pictures:
2002-12-18++12-39-06.jpg 2002-12-18++12-40-56.jpg
2002-12-19++10-30-16.jpg 2002-12-19++12-35-50.jpg
Thumbs:
2002-12-18++12-39-06.jpg 2002-12-18++12-40-56.jpg
2002-12-19++10-30-16.jpg 2002-12-19++12-35-50.jpg
Take a look at index.html in any browser. Its a complete top-level master index and catalog of all your images directories and what they contain, complete with a CD-Archive number cross-linked thoroughly. It will describe what is contained within BryceCanyon and what is contained within ZionCanyon, with links pointing from this master index to the various image directories. You are all ready to burn this directory to CD-R now and ship it around to friends and family.
Do nothing:
At this point, you can simply copy over your thumbnails and images onto
a web server and write a script to display the embedded
caption, description, equipment, copyright information per image.
A sample CGI script is available on the
iOta webpage,
which I have used to display all of my images. You are free to copy
and modify it.
Border:
If you want your images to be bordered and do not want to display the
full size image on your web page, you can use the
Preprocessing->Border
option from the pull-down menus. This options simply shrinks all the
images to a more viewable 4x6 inches size, borders it, and adds
a copyright to the image. You can then upload the directory to your
website.
Webify: Finally, if you are being lazy, and haven't been able to enter your images into the database or you are dying to upload your images to the web, without Organizing your images, the Preprocessing->Webify option is for you. This action will generate thumbnails for your images, add captioning information to the thumbnails (description, equipment, copyright etc.), reduce the images to a viewable 4x6in, add a border and the copyright, and finally generate the HTML index file. You can then simply upload the images, thumbnails and HTML index file to your website, and use the above mentioned script to diplay the images and captions in detail.
NOTE:
The commands Border and Webify described above work on the images in the selected directory, so please make a backup of those images before using these commands.
iOta - Image Organization Tool and Archiver
Program copyright 2001-2003 Vijoy Pandey iota@varp.net
Maintainer: Vijoy Pandey
Major Contributor: Rachna Guru iota@varp.net
Documentation copyright 2001-2003 Vijoy Pandey
iOta can be obtained either from Freshmeat at http://www.freshmeat.net/iota, or from the authors site at http://www.varp.net/downloads. Versions 0.6 and earlier were text-only versions of iOta. The KDE/QT frontend was added in version 0.7.
iOta is usually released in source as well as binary formats. Binary formats are tested and released in the Red Hat Package Manager format (rpm) for Red Hat Linux and Mandrake Linux, and also in the pkg format for FreeBSD. If you would like to help out with packaging and testing on other platforms, please drop me an email at iota@varp.net.
The source is released as a tar and gzipped archive (e.g., iota-0.7.tar.gz). To install from sources, download it and then unzip and untar the archive: tar xvfz iota-0.7.tar.gz. Then, in the un-archived directory (say, iota-0.7), type in ./configure, followed by make. Once it has compiled correctly, become root and type make install.
NOTE:
FreeBSD tags Berkeley DB header files and libraries with the version numbers. For example, libdb for Db version 4.0 will be called libdb4.so while it will be named libdb41.so for DB version 4.1. For this reason, the last stage of linking in iOta might fail with a warning such as "libdb.so not found.". You can edit iota-0.7/iota/Makefile so that -ldb becomes -ldb41 (for DB version 4.1), and compile again.
Since iOta's front-end depends heavily on the user interface and infrastructure set up by the desktop you need a working installation to use it. Moreover, iOta uses ImageMagick for thumbnail creating, border and copyright generation and EXIF header manipulation, and Berkeley DB for the database backend. So you should have an installation of these packages as well. They are quite straightforward to install.