Jump to content
Sign in to follow this  
sandymc

CornerFix for Windows available for download

Recommended Posts

Advertisement (gone after registration)

Hi Sandy, I've just done a couple of profiles - one for my CV25. I have processed the same DNG through to Photoshop CS3 and also via Corner Fix in parallel and when at the RAW conversion step I sycronised the settings as comparison on how much effect on the image from this lens with corner fix. Really see if that lens really needed fixing everytime it is used since previous uses did not show much of an issue.

One noticable thing is that the sky from Corner Fix has more grain / noise visible and road & pavement area has a colour shift. I'll do another lens profile over the weekend and paint a larger board with white emulsion to use and do it in bright light to. Would you expect any issues with the colour of the surface used to make the test DNG or the light level (so long as it reasonable daylight) or colour temperature of the light throughout the day with/without clouds, etc.

I can post the two images here as jpegs but the size may preclude some of what I have tried to explain. As I said I'll get a larger white surface and have another go over the weekend. With all these test issues some could be 'user error' from this end.

krs, George

 

George,

 

0.9.0.4 might show something that is "noise like", as a result of the anti-aliasing processing. Suggest you check vs. 0.9.0.3 and see if that's what you are seeing - 0.9.0.3 didn't have the anti-aliasing in. As regards color shift - CornerFix is designed to shift color(!), so the question is whether its desirable or undesirable shift:D

 

You do need to be a bit careful on color temperature - CornerFix maintains the color temp in the exact center of the image, but that means that by definition the average color temp across the entire image changes.

 

Sandy

Share this post


Link to post
Share on other sites
Hello Scott!

 

Of course, Capture One will handle 16 Bit DNGs for M8.

Only limitation, the values have not to exceed 16383 (14-Bit in fact).

 

Isaac,

 

Great news, and good to know that C1 expects 14-bit - after several days of trying to resolve this issue, my feeling is that the concentric circles issue is not going to go away fully without going to an uncompressed file.

 

Sandy

Share this post


Link to post
Share on other sites
CornerFix for Windows Beta 0.9.0.2 is now available for download at:

 

SourceForge.net: CornerFix

 

You only need to download the executables - the source code is also posted, but you don't have to download that to use the program.

 

CornerFix for Windows is a small utility program designed to fix the “Cyan corners” problem, caused by color dependent vignetting

 

Note that this is BETA software - bugs are not only possible, but probable.

 

Key features are that:

 

1. Does not require that lenses be coded

2. Does not require the the Leica IR filter be used – any IR filter can be used

3. Adjusts DNG files directly – any DNG RAW developer can still be used, e.g., C1, Lightroom, etc

4. Free – distributed under the GPL.

 

Sean Reid's got a review of the program up on his site, and there are a few other threads on it here as well.

 

The current version is Windows only, but Graham Welland is hopefully going to do a Mac port. If he doesn't get scared off when he sees the source code.

 

Please read the QuickStart guide for installation instructions. If you don't follow all the steps, you WILL get messages like "This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem."

 

Enjoy

 

Sandy

 

Thanks for this wonderful program, I will try it. SInce Sean Reid has done a great job of producing white target vignetting data for various lenses (Leica, CV, Zeiss), both with and without the IR filter, I wonder if he could provide those vignetting patterns as a profile for this program? Even if it were to go to his subscribers, that would be a boon to us M8 photographers. I also would like to make the suggestion to the author of the Cornerfix program to allow a user to disable the IR cut filter sub-program, just as you are able to disable the illumination vignetting portion of the program. I, for example, have no intention of putting an IR cut filter on my 15mm or future 12mm lens, so the current program corrects for cyan vignetting that I will not have. If Sean Reid provides his vignetting data for lenses without the filter attched, then the problem is solved.

Share this post


Link to post
Share on other sites
George,

 

0.9.0.4 might show something that is "noise like", as a result of the anti-aliasing processing. Suggest you check vs. 0.9.0.3 and see if that's what you are seeing - 0.9.0.3 didn't have the anti-aliasing in. As regards color shift - CornerFix is designed to shift color(!), so the question is whether its desirable or undesirable shift:D

 

You do need to be a bit careful on color temperature - CornerFix maintains the color temp in the exact center of the image, but that means that by definition the average color temp across the entire image changes.

 

Sandy

Hi Sandy, I have 0.9.0.2 and is better without the anti-aliasing which is in 0.9.0.4. I guess all design issues are a trade off with different considerations.

Thanks for the comment on colour temperature btw, I would not have noticed it really 'stand alone' but it was more obvious when I was comparing the same DNG processed with and without Cornerfix. I was doing this to compare the two outputs from a specific lens to judge improvements in fact.

I'm going to have another shot at making profiles later with a larger target board. One query please - did I read somewhere that in the ideal world you should have various profiles for the same lens using different appertures to be used depending on the exposure for a specific image? Easier said than done unless you carry a note book entry for each exposure. Or is there a prefered apperture? Wide open, middle or stopped right down?

I'm sure that with your excellent work, a few more tweeks and objective feedback we shall get a first product. Be interesting to hear and see the results from others, I'm not the only one doing beta testing surely?

krs, George

Share this post


Link to post
Share on other sites
Hi Sandy, I have 0.9.0.2 and is better without the anti-aliasing which is in 0.9.0.4. I guess all design issues are a trade off with different considerations.

Thanks for the comment on colour temperature btw, I would not have noticed it really 'stand alone' but it was more obvious when I was comparing the same DNG processed with and without Cornerfix. I was doing this to compare the two outputs from a specific lens to judge improvements in fact.

I'm going to have another shot at making profiles later with a larger target board. One query please - did I read somewhere that in the ideal world you should have various profiles for the same lens using different appertures to be used depending on the exposure for a specific image? Easier said than done unless you carry a note book entry for each exposure. Or is there a prefered apperture? Wide open, middle or stopped right down?

I'm sure that with your excellent work, a few more tweeks and objective feedback we shall get a first product. Be interesting to hear and see the results from others, I'm not the only one doing beta testing surely?

krs, George

 

George,

 

Yes, 0.9.0.2 vs. 0.9.0.4 is a tradeoff. What I might do is to put an "anti-aliasing strength" control into 0.9.0.5. But right now, I think the best solution is likely to be the 16-bit option, so I might well put the development effort into that rather than the anti-alias strength.

 

You are correct that in an ideal world you would have different profiles for each aperture. But in practice, I think one profile is fine. The consensus view that seems to be emerging at the moment is that slight under-correction is better than slight over-correction. On that basis the way to play it is to do profiles at each aperture, the use the "least correcting" of the bunch all the time for that lens.

 

Sandy

Share this post


Link to post
Share on other sites

Advertisement (gone after registration)

Hello Sandy!

Great news, and good to know that C1 expects 14-bit - after several days of trying to resolve this issue, my feeling is that the concentric circles issue is not going to go away fully without going to an uncompressed file.

I have tried to reduce or even full eliminate the cyan corners when using uncoded lens (Zeiss Biogon 21) from my first day with M8 (february this year) and I have failed. And yes, there is a slight cyan shift, even without any additional IR cut filter...

So I follwed your work with great hope and see, that you will come the the same resolution. Only waste of time with 8-bit compressed DNGs.

I works almost perfect with 35mm, but all shorter ones have too high granulierity in the corners of the red channel to compensate to yield a smooth image.

Share this post


Link to post
Share on other sites

I've checked my 24/2.8 white wall shots, shot at f/2.8 and corrected with the profile generated at f/5.6 to see if I could provoke the posterization problem in corner correction. It looks fine to me in the corners when developed at 100%. Previously I had only produced jpegs at 900x600, since that is what I am set up to measure and plot curves for, but the full size result also looks smooth. Is the problem in midtones or areas where the red signal is already weak? Maybe the answer is to make the red correction more gentle where the red is already weak.

 

Sandy, I've put a 100% jpeg developed in C1 with the default profile for M8, on Yousendit and sent you the link. I'm happy to create the situation that is causing trouble and process it through C1 so that you have an example.

 

Isaac (can't see your signature as I type this), I'll send you the link as well if you are interested.

 

scott

Share this post


Link to post
Share on other sites
I've checked my 24/2.8 white wall shots, shot at f/2.8 and corrected with the profile generated at f/5.6 to see if I could provoke the posterization problem in corner correction. It looks fine to me in the corners when developed at 100%. Previously I had only produced jpegs at 900x600, since that is what I am set up to measure and plot curves for, but the full size result also looks smooth. Is the problem in midtones or areas where the red signal is already weak? Maybe the answer is to make the red correction more gentle where the red is already weak.

 

Sandy, I've put a 100% jpeg developed in C1 with the default profile for M8, on Yousendit and sent you the link. I'm happy to create the situation that is causing trouble and process it through C1 so that you have an example.

 

Isaac (can't see your signature as I type this), I'll send you the link as well if you are interested.

 

scott

 

Scott,

 

Thanks, got the files - the best way to "provoke" the problem is with an image where the red channel is relatively weak. The issue is that at low levels, the "granularity" of a compressed M8 image is quite low - of the order of 8 levels per exposure stop. CornerFix then amplifies that granularity, and then compresses it again, generating more granularity - the result is the kind of artifacts that George found. I've actually generated an artificial "worst case" test image, which is just flat blue, that shows up the problem quite well. I'll send if you are interested....

 

Sandy

Share this post


Link to post
Share on other sites
Scott,

 

Thanks, got the files - the best way to "provoke" the problem is with an image where the red channel is relatively weak. The issue is that at low levels, the "granularity" of a compressed M8 image is quite low - of the order of 8 levels per exposure stop. CornerFix then amplifies that granularity, and then compresses it again, generating more granularity - the result is the kind of artifacts that George found. I've actually generated an artificial "worst case" test image, which is just flat blue, that shows up the problem quite well. I'll send if you are interested....

 

Sandy

 

I'll go and shoot some skies to see it myself. I bet if I underexpose to get a dramatic sky I will create the situation you are talking about. But for cases where this is not a problem, would you be willing to create a bug-fixed version .0.2 with NO antialiasing for us resolution fanatics? Or include an on/off switch for just that part in 0.5?

 

scott

Share this post


Link to post
Share on other sites
I'll go and shoot some skies to see it myself. I bet if I underexpose to get a dramatic sky I will create the situation you are talking about. But for cases where this is not a problem, would you be willing to create a bug-fixed version .0.2 with NO antialiasing for us resolution fanatics? Or include an on/off switch for just that part in 0.5?

 

scott

 

Scott - I hear you......watch this space......

 

Sandy

Share this post


Link to post
Share on other sites

... One query please - did I read somewhere that in the ideal world you should have various profiles for the same lens using different appertures to be used depending on the exposure for a specific image? Easier said than done unless you carry a note book entry for each exposure. Or is there a preferred aperture? Wide open, middle or stopped right down?

 

I've looked at the vignetting characteristics of several of my own lenses, with and without filters, both Leica and B&H 486. Over-correcting, whether for overall vignetting (bright corners) or for red-vignetting (pink corners) is bad. The red vignetting doesn't show much sensitivity to aperture (in principle, there should be none), but it does depend strongly on color temperature. The overall vignetting increases a bit during the 1-3 stops closest to wide open, and is constant at smaller apertures. That holds true for wide angles, where the aperture dependence of overall vignetting is gradual, and for long fast lenses (look at the curve for the Noctilux, for example) where it is quite sudden at the last stop and one half. But for most lenses, if you create a profile at 2 stops less than wide open, using 5000K light, you should get a good correction, with no danger of overdoing it. If you shoot in pure tungsten, candlelight, firelight, or very nasty flourescent, additional profiles might be needed for the bizarre red vignetting that could occur. And for the CV15, CV12, and Zeiss 15, carrying a notebook might be a good idea, but only further experiments will tell.

 

scott

Share this post


Link to post
Share on other sites

One of the things I notice about my 15mm shots is that rarely do I need the external IR cut filter at all. This has more to do with the nature of extreme wide angle subject matter than anything else. You just don't do a lot of wedding photos with a 15mm or 12mm lens. Most of my pictures are just fine without the filter. But that is not to say that I don't use the filters routinely on the 21mm and longer lenses.

 

The technical excersise that you guys are trying to solve is very interesting and I have been following it closely. However, I don't feel any special sense of urgency about solving the "problem" because I don't think there really is much of one

 

Rex

Share this post


Link to post
Share on other sites
Thanks for this wonderful program, I will try it. SInce Sean Reid has done a great job of producing white target vignetting data for various lenses (Leica, CV, Zeiss), both with and without the IR filter, I wonder if he could provide those vignetting patterns as a profile for this program? Even if it were to go to his subscribers, that would be a boon to us M8 photographers. I also would like to make the suggestion to the author of the Cornerfix program to allow a user to disable the IR cut filter sub-program, just as you are able to disable the illumination vignetting portion of the program. I, for example, have no intention of putting an IR cut filter on my 15mm or future 12mm lens, so the current program corrects for cyan vignetting that I will not have. If Sean Reid provides his vignetting data for lenses without the filter attched, then the problem is solved.

 

Hi Lloyd,

 

I'll look into doing that when time allows. I had an important personal commitment last week and need to get caught up with two lens articles.

 

Cheers,

 

Sean

Share this post


Link to post
Share on other sites
George,

 

You are correct that in an ideal world you would have different profiles for each aperture. But in practice, I think one profile is fine. The consensus view that seems to be emerging at the moment is that slight under-correction is better than slight over-correction. On that basis the way to play it is to do profiles at each aperture, the use the "least correcting" of the bunch all the time for that lens.

 

Sandy

 

That's my feeling, too. Cyan drift should be pretty constant at different apertures (theoretically it shouldn't change at all; in practice it changes a bit because of secondary factors like saturation). Vignetting does change with aperture and I agree that neutral or under-correction is preferable to over-correction.

 

Cheers,

 

Sean

Share this post


Link to post
Share on other sites

Sandy, congratulations on a great piece of work, I've had an interesting (and slightly brain stretching) time working my way through the source code!

 

Is the linearisation table (14 bit -> 8 bit) hard coded by firmware version or do Leica adjust it on the fly based, for example, on the exposure histogram. If it is hard coded, are you seeing any changes from firmware release to release, showing that Leica are fine tuning it?

Share this post


Link to post
Share on other sites
Sandy, congratulations on a great piece of work, I've had an interesting (and slightly brain stretching) time working my way through the source code!

 

Is the linearisation table (14 bit -> 8 bit) hard coded by firmware version or do Leica adjust it on the fly based, for example, on the exposure histogram. If it is hard coded, are you seeing any changes from firmware release to release, showing that Leica are fine tuning it?

 

Mark,

 

Ummm, I'm impressed - the source code gives me a headache, and I wrote it!

 

To answer your question, the linearisation table appears to be hardcoded into the firmware. Every image that I've seen, regardless of firmware revision, has exactly the same table. The only changes I've seen from one firmware revision to the next are to the color matrix.

 

Sandy

Share this post


Link to post
Share on other sites

Hello Sandy!

...the linearisation table appears to be hardcoded into the firmware. Every image that I've seen, regardless of firmware revision, has exactly the same table. The only changes I've seen from one firmware revision to the next are to the color matrix.

The linearisation table (which is also the decompress table) is obviously hardcoded in firmware, because - as you mentioned absolutly correct - it is and was always the same for the offizial firmwares in the DNG file. BUT:

The compress table need not to be constant!!! This is the tool, the firmware uses, to correct corner vignetting (if enabled) and also cyan shift caused by IR filter. I think this is the (only?) reason, Leica refuses to offer full, uncompressed 16 (14) bit DNGs, because the internal compensation for vignetting (and IR shift) could not (or not so easy) be done without 'compression'. How do you think about this?

Share this post


Link to post
Share on other sites
Hello Sandy!

 

The linearisation table (which is also the decompress table) is obviously hardcoded in firmware, because - as you mentioned absolutly correct - it is and was always the same for the offizial firmwares in the DNG file. BUT:

The compress table need not to be constant!!! This is the tool, the firmware uses, to correct corner vignetting (if enabled) and also cyan shift caused by IR filter. I think this is the (only?) reason, Leica refuses to offer full, uncompressed 16 (14) bit DNGs, because the internal compensation for vignetting (and IR shift) could not (or not so easy) be done without 'compression'. How do you think about this?

 

Isaac,

 

That's right - Leica could, if they wanted to, change the table tomorrow, or, as Mark is suggesting, make it dynamic. Sean Read and I have kicked around the question that are asking as to whether Leica are correcting the compressed data, or the original 14-bit data. We don't know, but certainly my view is that they have to be a using a simpler algorithm than CornerFix does. If I were to think about how to code something that would run within a reasonable time on the kind of processors the M8 has in it, I'd be thinking different compression lookup tables for each lens, with "zones" based on radius from the image center. But that's total speculation.

 

Sandy

Share this post


Link to post
Share on other sites

Hello Sandy!

Sean Read and I have kicked around the question that are asking as to whether Leica are correcting the compressed data, or the original 14-bit data.

They correct the original 14-bit data.

We don't know, but certainly my view is that they have to be a using a simpler algorithm than CornerFix does.

They use only lookup tables...

If I were to think about how to code something that would run within a reasonable time on the kind of processors the M8 has in it, I'd be thinking different compression lookup tables for each lens, with "zones" based on radius from the image center. But that's total speculation.

You are damned near :-)

Well, now a hint (hopefully, you 'speak' the C language):

for (i = 0,j = 0x117c;i < 15;i++,j += 0x800)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue., Read more about our Privacy Policy