imagemagick noise function broken?
For some years now, we’ve used the ImageMagick package on a linux server to process our allsky1 camera images, in particular to remove noise. For some reason, that function has stopped working in the last few weeks.
Before example | After example |
The actual function is called from a bash script and looks like this:
convert -noise 1 1-$i.jpg 2-$i.jpg
We see from the operating system log:
grep -i image yum.log
Jun 23 03:36:25 Updated: ImageMagick.i686 6.7.0.10-5.fc16
Jun 23 03:36:35 Updated: ImageMagick-c++.i686 6.7.0.10-5.fc16
Jun 23 03:36:36 Updated: ImageMagick-perl.i686 6.7.0.10-5.fc16
That the package was recently upgraded… right about the time things broke.
After much research through the http://www.imagemagick.org/ website, I’ve decided to implement the change from generating .JPG from the .FITS to .PNG
.PNGs are lossless unlike .JPGs
Also
-noise
Add or reduce noise in an image.
The principal function of noise peak elimination filter is to smooth the objects within an image without losing edge information and without creating undesired structures. The central idea of the algorithm is to replace a pixel with its next neighbor in value within a pixel window, if this pixel has been found to be noise. A pixel is defined as noise if and only if this pixel is a maximum or minimum within the pixel window.
Use -noise radius to specify the width of the neighborhood when reducing noise. This is equivalent to using a -statistic NonPeak operation, which should be used in preference.
The scripts have been altered.. no we wait until tomorrow morning (2012 August 09) to see the results 🙂
Updated Thursday August 9th: Well, that did and did not work. Most of the noise went away but enough stayed to make it tough to analyze. Nopt only that, the noise moved around!
Now we try -noise 3