Stephen Smith's Blog

Musings on Machine Learning…

Posts Tagged ‘photography

Open Source Photography Toolkit

leave a comment »


Since retiring, I’ve switched to entirely running open source software. For photography, Adobe Photoshop and Lightroom dominate the scene. Most articles and books are based on these products. The Adobe products have a reputation for being very good, but they are quite expensive, especially since they have switched to a subscription model of pricing. In this article I’m going to talk about the excellent open source programs that work very well in this space.

Basically there are two streams here, the quicker and easier software equivalent to Adobe Lightroom and then the more technical and sophisticated software equivalent to Adobe Photoshop.

I run all these programs on Ubuntu Linux, however they all have versions for the Mac and Windows.

You can download the source code for any open source program and have a look at how the programs work. If you find a bug, you can report it, or if you are a programmer you can fix it. Figuring out enough of a program to work on it is a large undertaking, but I feel comforted that that avenue is open to me if I need it.


digiKam is an open source photo management program similar to Adobe’s Lightroom. It is easier to use than a full photo editing tool like GIMP or Adobe Photoshop, and has tools to automate the processing of the large number of photos taken in a typical shoot. It has the ability to import all the photos from raw format for further processing, it has a pretty good image editor built in and then lots of tools for managing your photos, like putting them in albums, assigning keywords, and editing the meta-data. There is an extensive search tool, so you can find your photos again if you forgot where you put them. There are tools to publish your photos to various photography websites as well as various social media websites.

screenshot from 2019-01-05 11-57-36

Unlike Lightroom, there aren’t nearly as many books or tutorials on the product. I only see one book on Amazon. However the web based manual for digiKam is pretty good and I find it more than enough. It does peter out near the end, but most of the things that are TBD are also easy to figure out (mostly missing the specifics of various integrations with third party web sites).

Another difference is that digiKam does actually edit your pictures and doesn’t just store differences like LR does, so you need to be aware of that in your management workflows.

Lightroom costs $9.99/month and is subscription based. digiKam is free. One benefit is you don’t have to worry about having your photos held hostage if you get tired of paying month after month. Especially if you are an infrequent user.


GIMP is very powerful photo-editing software. It is an open source equivalent of Adobe Photoshop. I recently saw a presentation by an author of a book on Photoshop on his workflow for editing photos with Photoshop. I was able to go home and perform the exact same workflows in GIMP without any problems. These involved a lot of use of layers and masks, both of which are well supported in GIMP.

screenshot from 2019-01-05 12-10-31

Both Photoshop and GIMP are criticised for being hard to use, but they are the real power tools for photo editing and are both well worth the learning curve to become proficient. There are actually quite a few good books on GIMP as well as many YouTube tutorials on the basic editing tasks.

For 90% of your needs, you can probably use digiKam or Lightroom. But for the really difficult editing jobs you need a tool like this.

Photoshop typically costs $20/month on a subscription basis. GIMP is free.


GIMP doesn’t have the ability built in to read raw image files. There are plug-ins hat you can install, but I’ve not gotten good results with these, often they work stand-alone, but not from within GIMP. digiKam can process raw files, and doing that en-mass is one of its main features.

screenshot from 2019-01-05 14-02-19

Sometimes you want a lot of control of the process when you do this processing. This is where RawTherapee comes in. It is a very sophisticated conversion program. It supports batch processing and has very sophisticated color processing.

Often in the open source world, components are broken out separately rather than bundled into one giant program. This provides more flexibility to mix and match software and allows the development teams to concentrate on what they are really good at.

Typically you would take all your pictures in your camera’s raw mode, convert these to a lossless file format like TIFF and then do your photo editing in GIMP. This is the harder, but more powerful route as opposed to using digiKam for the entire workflow.


OpenShot is actually movie editing software. I included it here, because many photographers like to create slideshows of their work, where the images have nice transitions and change from image to image with the music. OpenShot is an ideal open source program for doing this. If you have a Mac, then you can use iMovie for this, but if you don’t have a Mac or what something that works on any computer then OpenShot is a good choice.

screenshot from 2019-01-05 14-08-30


There are good open source pieces of software that are very competitive with the expense commercial software products. Adobe has a near monopoly in the commercial space and tries to squeeze every dime it can out of you. It’s nice that there is a complete suite of alternatives. I only use open source software for my photography, and have find it to easily fill all my needs.

This article only talks about four pieces of software. There are actually many more specialized applications out there that you can easily find by googling. Chances are if you look below the ads in your Google search results, you will find some good free open source software that will do the job for you.


Written by smist08

January 5, 2019 at 10:29 pm

Me and My Drone

with 7 comments


This article doesn’t have anything to do with ERP software or programming practices. I received a drone for my birthday this year and this posting is about my drone. My drone is a DJI Phantom 2 Vision+. Basically it’s a flying camera that can take still photos or videos. Its easy to fly and can do some quite amazing things.



A lot of people are against drones because of privacy concerns, that people will take pictures of them in their backyards or through their windows. But just to be clear, drones aren’t stealthy, unless someone can sneak up to you running a gas powered lawn mower, they won’t sneak up on you with a drone. Most videos showing drones taking pictures of people have the sound turned off. Further most of these videos are showing drones being very finely controlled around backyard or porch obstacles which means the operator is very close. Controlling a drone this finely only looking through the camera or via GPS is extremely difficult will like result in a crash.

Further there are far more effective ways to spy on people. I think people may not realize how powerful modern telephoto lenses are. I can take pictures of skiers on the cut on Grouse Mountain from Queen Elizabeth Gardens with my telephoto (15km). Before these, telescopes and binoculars were pretty effective, though like drones tend to stand out. These are much more effective ways of spying on people, just look at the NSA.

I think the lesson here is to stay alert and keep your drapes pulled if you want privacy. Certainly drones have a lot of potential for abuse, but I tend to think they are a little less effective than the media makes out.

Drones for Good

There are a lot of applications where drones are helping to find lost hikers and motorists. For instance a man was in an accident on the highway, got a concussion was disoriented and wandered off into the snow. The RCMP in the area had a drone with an infrared camera and were able to locate the motorist quickly and save him. Without the drone he would likely have died of hypothermia. Similarly several hikers have been rescued from the local mountains because search and rescue located them with drones which could fly easily into difficult terrain.

Drones are also used to inspect oil pipelines and building exteriors. Tasks that can now be performed more frequently and safely.

Journalism is able to film events like riots much more reliably than previously. This allow people to get a much more accurate view of what is really happening when events unfold.


If you’ve ever played with those cheap remote control helicopters, you know they are very tricky to fly and crash into things all the time. Modern drones are a bit more sophisticated than that. You start by getting a GPS and compass lock and then the drone software uses that data to make the drone very easy to fly. The control very precisely control the movement and it is very easy to get the hang of it.


The remote control uses a Wi-Fi transmitter to communicate with the drone. There are two joysticks, one controls the horizontal movement of the drone. The other controls up and down and horizontal rotation. Then there is a dial on the side which controls the camera up and down. There is not rotation or zoom for the camera, you must rotate the drone and move the drone closer or further away. The camera takes fairly panoramic photos.

To use the camera, you need a smart phone (Android or iOS). There is an app that will communicate with the drone through the drone’s Wi-Fi network. Basically it runs a camera app where you see what the camera sees and then you take pictures from the phone. The drone has a micro-SD card in it so you get the full resolution photos from that when you retrieve it.

Since the drone has a GPS you can program it to follow a route prescribed by GPS coordinates. I haven’t had a chance to play with this yet, more because I’m tending to not wanting to risk it getting very far away from me and after all the Wi-Fi has a range of 1km (but does require line of sight).

If communication with the remote is lost the drone will automatically return to its launch point.


Drones make a great platform for taking pictures. You can get aerial pictures of your house or other scenery. It’s amazing what you can photograph from 400 feet in the air.



I would love to take pictures of wildlife with my drone. So far I’ve only filmed my two Chihuahuas who hate the drone and try to bite it at any opportunity. But hopefully as I get better at flying and have a little patience, I’ll be able to photograph the local deer and bears.

With Sage, I’ve made several trips to Africa and have taken many photographs out in the preserves and parks. My wife Cathalynn is convinced I get to close to things like Rhinos from the pictures she’s seen. But that’s due to the power of my zoom lens and I don’t really walk up to the rhinos (really I don’t). I would love to take my drone to Africa to film wildlife, but right now you require special permission to do this with a lot of restrictions, so I suspect this would be quite difficult. On the one hand I think this makes sense since drones are noisy and could be quite disturbing to the wildlife, but then they do put up with all the vehicle traffic from all the tourists.


The drone camera can take movies of what it sees. I’ve been playing with this, but don’t want to post anything yet, since I need to get a bit better at flying. Mostly I tend to turn the wrong direction first before turning in the right direction, so my movies can be a bit disorienting. But there are some amazing videos being produced by drone operators. They are great for filming sports like mountain biking and skiing since the drone can follow the athlete down the course filming them the whole way. Here is an amazing drone film taken in the world’s largest cave in Vietnam:

A lot of movie companies are now using drones to film movies, but they tend to use $100,000 drone/camera combinations to get the quality they need for the big screen. This is still cheap compared to hooking up wired guide ways that move the camera to track flowing scenes.


One cool thing is that there is an SDK for the DJI drones where you can write customer iOS or Android apps. The first level lets you get all the telemetry and camera data from the drone, the second level lets you program and control all the drone’s system, so you can program special purpose flight maneuvers and camera operation. Some applications in their promotional material include voice control and 3D mapping.

Technology Upgrade Cycle

Like most technology these days, it tends to put you on an upgrade treadmill. My drone is only a few months old and already there is the Phantom 3 just coming out. This is similar to digital cameras, tablets and phones. The goal is once you buy one, hopefully you will want the newest model and hopefully will upgrade pretty frequently. I figure that the life of a drone is quite a bit more dangerous than other electronic devices, so my upgrade cycle will probably have more to do with crashes than with new features on new models.


Drones provide a great tool for taking photographs and videos that you wouldn’t be able to get any other way. Good quality consume drones are now readily available for under $1000 (but you can spend as much as you like). I think you will be seeing many more drones in the sky, and like cell phone cameras changed journalism so will drone cameras.


Written by smist08

April 12, 2015 at 10:09 pm

Posted in Life

Tagged with , , , , ,