So you don't care about blue pattern noise?
Your technique will leave behind pattern noise that originates in a given channel (although since the Luminosity equation weights 60% for green, most of the correction will take place in the green channel, but only about 16% in the blue channel).
Furthermore, it won't work with a scanned color halftone.
Look, the whole reason you're even considering processing only one channel is because of the hack that stores the phase information in the color channels -- there really is no place to store the complex FFT information within the image itself. Fovea gets around this by storing high precision data in a buffer on disk. And I'm not even addressing the color problem -- I tell people to do one channel at a time. Ideally, the RGB FFT code should only work in 16-bits because of the extra precision.
It is a fact, however, that the Power Spectra of the three channels are different, that the PSF (Point Spread Functions) of the different wavelengths through your optics can be different, and that trying a one-size-fits-all approach is fundamentally flawed.
That it works in this case is fine, but only processing luminance (or brightness or even the K channel - I don't care which) leaves color artifacts behind. I care about the extra bits in the image, both from the point of view of RAW Camera Workflow (extra bits means better definition, color constancy, etc.) and Science (quantitative image analysis).
To say that the luminance can be affected by removing a noise pattern in a channel is disingenuous. Of course it can, especially if a pattern is being removed. If you don't mess with the DC term (the center of the cross), the overall luminance will not be affected.
So, I think that for now this workflow will work, but it has serious limits. Once we have a better method for dealing with color everyone will benefit.
jcr6, I of course agree with everything that you have written here (and, yes I do care about blue channel noise - I'm a very caring person) however I had understood that you would like to get some feedback from your photo-retouching "guinea-pigs". So...
- The problem that we have to deal with here, and in various other threads, is not channel noise but instead the interference of the texture of the paper used for the original prints when these are scanned. (As Camaraken pointed out, this is a problem only for scanning)
- In medical / scientific / astronomic images the attention to individual channels may be fundamentel, for photos to be viewed by human eyes the colour information is only secondary. (vide JPEG, colour TV..)
You had asked earlier about which tools would be useful for restorers / retouchers - my first thoughts would be: an easy-to-use FFT filter (because this texture problem comes up very often) and the deconvolution - focus filter. But as very few folks around here are maths geeks, the most important part would be a friendly user interface.
Rats! I've been caught.
I guess I am a math geek then.
2 weeks ago I kuldnt spel injeneer. Now I are 1.
You're right that in this case, there does not appear to be a color refringence problem at this scale, so the luminance trick is a good one.
It turns out that patterns come from a number of sources, including your camera (and scanner!) chip. So how do we solve the larger problem?
First my apologies to Camaraken for the hi-jack. Seems like everytime FFT comes up there's a lot to talk about.
A question for Chris..
I've seen in other places that the FFT can only be applied when the image is exactly sized to multiples of two (as in FoveaPro, too). However, the Alex Chirakov version doesn't have that restriction. Is he being fiendishly clever - or is he cheating??
FFTs and powers-of-two
Sorry, Cameraken -- we're just having too much fun at your expense
The first Fourier transforms were DFT's - Discrete Fourier Transforms and they would work with any size data set. They were also slow. Then along came the FFT, the Fast Fourier Transform that relied upon a major simplification in the math but also required that the dataset be a power-of-two in size. Then along came a further observation that you could use any prime factor (not just 2), so your dataset could be a multiple of any collection of prime numbers. (Effectively each of these prime stages is a DFT -- larger ones are very slow.)
FFTW and a number of other algorithms use prime factorization and Fourier decomposition in order to achieve speed. If your image size is a nice set of multiples (2's, 3's, 5's, ...) the code will run very fast. If your image is prime in both dimensions or a multiple of large prime numbers, prepare yourself for a long wait.
There are number of other solutions for mean padding, zero padding, sine weighted interpolation, etc. for inserting a small image into a larger one that is a power-of-two in order to take benefit of the power-of-two performance speed up. My FFT is actually a split radix 2,4,8 and will run very fast on both Mac and PC hardware. For 16-bit images it even uses double precision. And, finally, I don't have to license it from anybody and it doesn't fall under the GNU/GPL license. There are some that do have restrictions. I hope that RGB FFT isn't one of those.
Ultimately, I was lazy when I chose the power-of-two requirement. I didn't want to deal with the arbitrary size where 4097 (17x241) might be very slow and 4096 (2^12) would be very fast. Also, in an odd-width FFT, it isn't exactly clear which position the DC term will be placed in. So, I've got a lot of issues.
There is a lot of history for dealing with power-of-two dimensions, so I chose the more conservative route. (Like I said, I'm a LAZY programmer.)
Thanks Cameraken and Ro. Suspected it was some sort of compression system, but didn't know which, shouldn't have any problems now.
Spoke too fast, went to the site, and for some reason had trouble downloading, guess I'll try again later.
Wonder why they used such an obscure compression system to compress such a useful tool in.
Last edited by Gary Richardson; 05-27-2005 at 05:12 PM.
Thanks Chris, a very clear explication.
I tried the Alex Chirakov filter on a 1024*2048 canvas filled with noise, and a 1023*2047 one too.
Didn't take any longer, but the result was quite different - the first didn't have any central lines at all, but the second did have strong lines.
ByRo and jcr6
No need to apologise. You are very welcome. Although I must admit you are starting to go over my head a bit.
As I mentioned in an earlier post All I look for is a tool that works and clear instructions on how to use it.
My problems started when I upgraded from the RGB > HSL method (which worked) to the “new” method.
byRo has now provided clear instructions and I think I’m happy again.
I have (Hopefully) taken most of the comment/problems and condensed them to a mini tutorial.
Please let me know what you think of my next posting
Rar files are very common. In fact they can have a better compression rate than zip files and are very often accompanied with a recovery record which can help repair a corrupted file. I would keep Winrar. You will need it again.
I have had a browser pointed at their web site all night without problem. If you’re having trouble I have added my AIM to my profile. Let me know.
How to remove the paper pattern from a scanned image
Using Alex Chirakov filter RGB FFT
The Filter may be downloaded Here
You will need WinRar to open the compressed ".rar" file
It's shareware, but doesn't stop working after the time limit
Download Winrar Here
When you've got it open in WinRar, open the "bin" folder and extract the two ".8bf" filters
to your PS filters folder (typically C:\Program Files\Adobe\Photoshop 7.0\Plug-Ins\Filters\)
Restart Photoshop and FFT RGB, and IFFT RGB should appear in the Filters list under the category "Fourier Transform"
That’s it for the Install - Now For its Use
1) Duplicate original image, right click on title bar and click Duplicate (that's a new image, not just a layer):
2) On the new image, get Luminosity (New Layer (<Ctrl><J>), Edit>Fill - 50% grey, color, 100%.);
3) Flatten all, <Alt><L><F> (FFT does not understand layers);
4) Run FFT RGB;
5) Clone out stars in the Red Channel;
6) Select all channels again (easy to forget this bit), and run IFFT RGB;
7) Slide this layer on top of the original image (with <Shift> pressed, to align);
8) Set this new layer's mode to Luminosity.
Follow these steps carefully and they become easy after a couple of times
If you are not sure what to clone out then follow the steps but just clone out some of the stars
You can always go back to your luminosity image and clone some more out to build up a stack of layers above the original. Then choose which to keep or Discard
Points to watch
Step 2) colour is set in the edit > Fill box under Blending
Step 5) Don’t touch the big star in the centre
The attached picture numbers correspond to the step numbers
|Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)|