Adventures adding a new lens to Aftershot Pro
Bibble 5 and Aftershot Pro have a useful lens correction function that will fix the distortion created by a camera lens when a photo is taken. You won’t even recognise the distortion unless you’re looking for it but quite often it can look like straight lines are slightly bent or bulging.
The animated gif above shows you what that distortion looks like in my favourite zoom lens, the Sigma 18-200mm DC. The middle of the image is clearly bulging out. The bottom of the sign isn’t straight but after correction it’s much better.
Unfortunately not every lens is supported. In the lens correction widget of Aftershot Pro you’ll see an “Uncalibrated Lens” message if your lens isn’t there.
Bibble 4 supported this lens and I only realised today that a bug in Bibble 5 and Aftershot identified the lens incorrectly and led me on a merry dance across the Internet. Bibble 5 and Aftershot Pro think my lens is the “Sigma 18-200mm DC OS” but my lens doesn’t have an Optical Stabilizer! Bibble 4 probably detected the lens correctly.
Unfortunately for me there’s no mention of “Sigma 18-200mm DC” in the “Canon Lens Table” or profile_canonlenstable.txt. Only the OS lens is mentioned and I presume the non OS lens was removed in Bibble 5 by error. Once I added an entry for my lens and added settings for the OS lens everything worked ok again.
Anyway, thanks to this ASP forum post and this Bibble forum post I was able to add my lens to Aftershot Pro. The nice thing about the lens database is that it is composed of text files that are easy to edit. I found a basic uncalibrated entry for the non OS lens. Unfortunately I didn’t search further or I’d have found the “Sigma 18-200mm DC” settings I wanted and saved myself some time! I created a new file called profile_mylenses.txt and added that filename to profile.txt.
First of all, I had to find the lens correction parameters that would fix things. The Bibble 5 post above links to sites that will help you figure out the correct a, b and c coefficients but thankfully I didn’t have far to look to find working figures.
I checked out PTLens first. It’s a programme that corrects lots of different lens distortions and it’s reasonably priced at US$25 per license. The author has shrewdly kept his lens distortion database in a secret format so I had to continue looking.
I then found LensFun, an open source tool to do much the same thing but using an older version of the PTLens database. The source is available so I went digging and found this interesting file! All the info I needed in one XML file!
All that remained to do was edit profile_mylenses.txt. In Windows and Linux the file can be placed in the following locations respectively. Mac OS X is probably in “Application Support” or somewhere obvious like that. In Windows you’ll want to use WordPad as the other profile files don’t have Windows line endings. You’ll also have to open it as an administrator to edit it.
C:\Program Files (x86)\Corel\Corel AfterShot Pro\supportfiles\Profiles\LensProfiles\
After some editing and experimenting I found that these settings worked well:
menu_lens: Sigma 18-200mm f/3.5-6.3 DC OS
cal_abc: 18 0.018238 -0.045992 0.000000
cal_abc: 21 0.013683 -0.026594 0.000000
cal_abc: 24 0.007113 -0.008911 0.000000
cal_abc: 33 0.000000 0.010791 0.000000
cal_abc: 59 0.000000 0.012006 0.000000
cal_abc: 88 0.000000 0.010958 0.000000
cal_abc: 144 0.000000 0.008752 0.000000
cal_abc: 200 0.000000 0.007390 0.000000
I had to restart Aftershot Pro to test new settings each time.
If editing files like that puts you off you can create a preset to apply the lens correction. Click on the Manual tab in the Lens Correction widget where you can enter the a, b and c coefficients. Now go to the Presets widget and follow the instructions in my HOWTO: Add a copyright notice in Aftershot Pro tutorial except you’ll want the Lens Correction function to be active.
I suspect that these changes will be overwritten whenever I upgrade Aftershot Pro but maybe Corel will notice this little post of mine and they’ll fix the detection, or duplicate the settings in the next version..
While writing this post I found entries for the “Sigma 18-200mm f/3.5-6.3 DC” lens in profile_genericSLR.txt. Because the programme misidentified my lens it never used those settings. The 1.5 multiplier settings have the same settings as above, the 1.6 multiplier one is slightly different but there’s not much difference when applied to my test image.
Let that be a lesson to you if you’re trying to get this work. Look harder for an existing profile and make sure your lens is identified correctly! Argh!