Archive for the ‘Software’ Category
While you can use a regular notebook to keep track of exposure info (shutter speed, aperture, focal length, etc.), it’s hardly an ideal solution. But if you happen to use an Android device, you can replace the notebook with the Exif4Film app from Code United to simplify the task of recording exposure info and applying it to scanned photos.
The app is available free of charge from the Google Play Store. During the first run, the app prompts you to import the film database containing pretty much every film in existence. Next, you need to add your photographic equipment (cameras, lenses, and filters) to the app. To do this, tap the Menu button and choose Gear. Tap the Add gear button, pick the desired item, and fill out the required fields. When adding a camera, you can specify which lenses in the database can be used with it. This works for lenses, too: when adding a lens, you can select the cameras that can be used with it. When you are done, press Save to add the equipment item to the database. Once you’ve added your gear, return to the main section, tap the Add roll button, and provide the required info. Press Save to add the roll, and you are good to go.
Recording exposure info with Exif4Film couldn’t be easier. As soon as you take a shot, open Exif4Film, select the roll, tap Add to add a new exposure, and enter its values. In addition to the standard values like aperture, shutter speed, focal length, exposure compensation, etc., the app automatically records the geographical coordinates (useful for geotagging photos). Exif4Film also lets you take a photo and attach it to the current exposure. When you add the next exposure, the app automatically populates the fields with values from the previous entry. This can be a real time-saver when you take several photos with the same camera settings.
Exif4Film features other creature comforts, too. The View on map button displays the roll on a map complete with markers for each exposure. When you finish the film roll and record the time when it has been unloaded in Exif4Film, the app conveniently changes the roll’s icon, so you can easily identify the active and processed rolls in the list.
As you keep adding rolls to the database, managing them may become increasingly difficult. This is where the app’s filtering functionality can come in rather handy. Using it, you can display only the rolls that match specific criteria, such as camera model, film, and loaded/unloaded dates.
Exif4Film also has a companion desktop utility which can help you to import the recorded exposure into the scanned photos. To do this, you need to export data from a specific roll first. Tap the Export button in the Exif4Film app, select the desired roll, and tap Export. You can then export the data to a file on the device or Dropbox. Transfer the exported .xml file to your machine, launch the Exif4Film desktop utility and use it to write exposure info to the scanned photos. The utility is simplicity itself, so you shouldn’t have problems figuring out how to use it.
There are plenty of reasons to choose Debian, but having the most recent versions of your favorite applications is not one of them. Software updates trickle down to the stable version of Debian very slowly, which means that packages in the distro’s repositories are likely to be a few versions behind the current releases. digiKam is no exception: the Debian stable repositories contain a version of digiKam which can be considered outdated. However, if you don’t mind the risk of making the Debian system unstable, or even breaking it altogether, you can opt to upgrade the distro to unstable and then install the latest version of digiKam from the experimental repositories. (Note: all commands mentioned below must be executed as root.)
The first step is to upgrade Debian to unstable. To do this, run the nano /etc/apt/sources.list command to open the sources.list file in the nano editor. Disable stable and security repositories as follows:
Add then the unstable repositories:
Press Ctrl+X to save the changes and close the editor, then run the commands below to update repositories and upgrade the distro:
apt-get update && apt-get dist-upgrade
Once you’ve done that, open the sources.list file for editing again and add the experimental repository:
deb http://ftp.debian.org/debian experimental main contrib non-free
Save the changes and run the apt-get update command. You can then install the latest version of digiKam from the experimental repository using the following command:
apt-get -t experimental install digikam
If everything goes smoothly, you should have the most recent release of digiKam installed on your system.
If you are looking for a no-frills depth of field calculator app for Android, you can do much worse than giving the DoF Calculator a try. Released under the GPLv3 license, this app has the virtue of doing one thing well: calculating the depth of field and limit values for any given camera model, lens focal length, and distance to the subject combination.
DoF Calculator is not available in the Google Play Store, but you can either sideload it using the latest APK package from the project’s website, or install the app through the F-Droid market. Unsurprisingly, DoF Calculator is very straightforward in use: pick the desired camera model, focal length, aperture, and the distance to the subject, and tap the Calculate button. The app then returns three values: near and far limits along with the total depth of field.
A new version of the digiKam Recipes ebook is available for download. All screenshots and material have been updated to reflect changes in the most recent version of digiKam. The new release of the ebook also features the new Apply EXIF Metadata to Multiple Photos recipe and a refreshed cover.
Readers who already purchased the book will receive the new version free of charge. If you haven’t received your copy, please send your order confirmation as proof of purchase to firstname.lastname@example.org, and I’ll email you the latest version of the book.
If you happen to use digiKam for managing photos scanned from negatives, you’ll appreciate the application’s capabilities to add and edit EXIF metadata. Using digiKam’s dedicated interface for managing metadata, you can add key EXIF values, such as maker, device model, aperture, shutter speed, ISO, focal length, etc., to the scanned photos (provided you have these data handy).
However, digiKam doesn’t allow you to apply the same EXIF data to multiple photos in a single operation. Adding the same maker, device, ISO, and focal length to a set of photos one-by-one can be a bit of a nuisance, but you can use a simple trick to work around this limitation. Start with adding EXIF values to a single photo. Select then the rest of the photos, choose Image → Metadata → Import EXIF, pick the processed photo, and press OK. This will apply EXIF data from the processed photo to the selected images.
A Raspberry Pi-based server is perfectly capable of sharing photos on the Web. But instead of deploying Gallery, Piwigo, or any other heavyweight photo publishing application, you might want to opt for something nimble like Pygmyfoto that offers a straightforward way to publish photos as a continuous roll. The application allows you to give a brief description and assign tags for each published photo. In addition to that, Pygmyfoto automatically processes and displays key EXIF data (exposure, aperture, and ISO), adds a link to the full-size version of the photo, and generates a map URL. The latter lets you view the exact place where the photo was taken using the OpenStreetMap service (provided the photo has been geotagged). Pygmyfoto features a few creature comforts, including the search by tags functionality, rating capabilities, and simple view statistics.
The Pygmyfoto installation on Raspberry Pi consists of a few relatively simple steps. First of all, you need to install the required packages. To do this, run the following command on Raspberry Pi:
sudo apt-get install apache2 php5 sqlite3 php5-sqlite imagemagick libimage-exiftool-perl git
Switch then to the /var/www directory and clone Pygmyfoto’s GitHub repository:
sudo git clone https://github.com/dmpop/pygmyfoto.git
Use the sudo chown www-data:www-data -R pygmyfoto command to change the directory’s owner and group.
Switch to the pygmyfoto directory, open the phpliteadmin.config.php file in a text editor, and replace the default password by editing the $password = “admin”; line. Modify the default values in the config.php file, if necessary.
Add photos to the pygmyfoto/photos directory, run the ./pygmyfoto.sh command in the terminal, and provide the required info.
Point the browser to http://127.0.0.1/pygmyfoto (replace 127.0.0.1 with the actual IP address or domain name of your server) to access Pygmyfoto.
To access and manage the pygmyfoto.sqlite database, make it writable using the sudo chmod 600 pygmyfoto.sqlite command. Point then the browser to http://127.0.0.1/pygmyfoto/phpliteadmin.php and log in using the password specified in the phpliteadmin.config.php file.
If you’d like to see Pygmyfoto running on Raspberry Pi, drop by dmpop.dyndns.org/pygmyfoto
Besides this blog and Google+, I publish my photos on a Pygmyfoto instance running on Raspberry Pi at my home. Instead of integrating Pygmyfoto with a third-party web stats application like Piwik, I opted for a less complex, but more colorful solution based on the nifty BlinkStick LED kit.
If you are interested in the nitty-gritty, you might want to read the Using BlinkStick with Raspberry Pi article by yours truly. In the meantime, drop by my Pygmyfoto installation and give me a blink.
Bugs are inevitable in complex software, and digiKam is no exception. So what should you do when you’ve discovered a bug in your favorite photo management application? As a non-programmer, the best thing you can do is to file the bug with the KDE bug tracking system (digiKam is managed as part of the KDE project). Submitting bugs can be considered a tedious task, but this greatly helps the developers to improve digiKam, and the KDE bug tracking system makes it relatively easy to file bugs and issues.
First of all, you have to create an account with the bug tracking system. To do this, point your browser to https://bugs.kde.org/, press the New Account button, and create a new account. Once you’ve done that, log in to the system using the specified credentials. Before you submit the bug, it’s important to make sure that it hasn’t already been filed in the system. Click the Search link, select digikam from the Product drop-down list, enter the keywords that best describe the bug in the Words field, and press Search. Check the list of the matching results for entries similar to your bug.
If the bug doesn’t appear in the search results, you can submit it to the system. Click the New link at the top and select digiKam from the list of KDE projects. Since you’ve already checked for similar bugs, you can skip Step 1 and go directly to Step 2. The fields in the bug filing form contain brief descriptions and examples, which make it easier to provide the relevant data. It’s important to give as much information as possible, as this helps developers to reproduce, identify, and ultimately fix the bug. Double-check the entered information, and hit the Submit Bug Report button. You can view all your filed bugs using the My Bugs link in the Saved Searches section.
Using tools available in digiKam, you can simulate a number of effects, including bleach bypass. This effect produces a desaturated high-contrast image. Creating the bleach bypass effect in digiKam is done in two simple steps. Open a photo for editing and choose Color → Hue/Saturation/Lightness. Specify the desired saturation value somewhere between -35 and -59, then press OK to desaturate the photo.
Choose then Color → Curves Adjust, select Luminosity from the Channel drop-down list, and adjust the curve so it’s shaped as S. Feel free to experiment with the steepness of the curve to achieve the best result. As a starting point, you can download a ready-made S curve and import it into digiKam using the Load button.
For this project, we’ll use a photo of the famous Sagrada Familia cathedral in Barcelona, Spain (you can download the RAW file from https://www.box.com/s/cq3uknqt54o3usf1jg3r). The photo was taken with a Canon PowerShot S90 camera, and the RAW file exhibits several obvious flaws, including visible barrel distortion, underexposed areas, and noise. In other words, this particular RAW file is perfect for tweaking in digiKam.
Before you start, make sure that digiKam is set to open RAW files in the 16-bit mode using the default settings. To do this, choose Settings → Configure digiKam and switch to the Raw Decoding section. Enable the Use the default settings, 16 bit option and press OK. Open then the RAW file for editing using the F4 key (or choose Image → Edit).
The first order of business is to fix the lens distortion. Since the LenFun library used by digiKam for automatic lens correction doesn’t have a lens profile for Canon PowerShot S90, you have to fix lens distortion manually. Choose Enhance → Lens → Distortion, then use the Main slider to set the correction value. Alternatively, you can enter the exact value in the field next to the slider. For this particular file, the -27 value should do the trick. Check the preview image to make sure that the distortion is properly corrected, and press OK to apply the correction.
Although the Canon PowerShot S90 did a respectable job of producing a well-exposed image, the photo still has slightly underexposed areas. The easiest way to fix this problem is to use the Local Contrast tool (Enhance → Local Contrast). The default values should do the trick, but feel free to experiment with different settings. But don’t try to push them too far, as the final result may look unnatural. Also, before you start modifying the default settings, save them as a preset using the Save As button. Later, you can restore the original settings from the preset using the Load button.
Next stop is the Noise Reduction tool (Enhance → Noise Reduction). While the default noise reduction settings work fine in most situations, you might want to adjust them to achieve even better results. When experimenting with different noise reduction settings, it’s a good idea to switch to the 100% crop, which gives you a much better view of the noise reduction effect. To do this, select 100% from the Zoom drop-down list. You can then use the scrollbars to view the desired part of the photo. Alternatively, you can use the Pan button in the lower-right corner of the preview window to display a thumbnail of the photo and pan by dragging the red square to the desired area in the image. To preview the noise reduction result, use the Try button.
Finally, the photo could use some sharpening, so choose Enhance → Sharpen, adjust the sharpness level using the Sharpness slider, and press Try to preview the result. Again, you might want to switch to the 100% crop for a better preview.