Hello
it is not possible to execute the 'Median Filter' nor the 'Remove Outliers..' function via user-interface for radii > 100 pixels. Historically, considering processing power or RAM this might have been a reasonable limit. But nowadays? I was following recommendations from the following paper on the inference of an illumination function where the authors apply a median filter (r=500 pixels) on an image of 1280x1024 pixels: Singh, S., Bray, M., Jones, T. R., & Carpenter, a E. (2014). Pipeline for illumination correction of images for high-throughput microscopy. Journal of Microscopy, 256(3), 231–6. doi:10.1111/jmi.12178 The ImageJ java code which I think is responsible for catching any radius>100 pixel is found in "RankFilters.Java" (latest version for 1.49m) and states: "int maxRadius = (filterType==MEDIAN || filterType==OUTLIERS || filterType==REMOVE_NAN) ? 100 : 1000;" This limitation is void/ignored for ImageJ macros, i.e. using a line such as: run("Median...", "radius=200 slice"); Cheers Matthias -- Matthias Schade Humboldt-Universität zu Berlin Molekulare Biophysik - Institut für Biologie Invalidenstraße 42 - 10115 Berlin, Germany fon +49-30-2093-8724 fax: +49-30-2093-8585 office: 216 email: [hidden email] www: http://www2.hu-berlin.de/biologie/molbp/ -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
Hi Matthias,
the reason for limiting the radius for the median is computing time: For the median, ImageJ uses quickselect (Hoare's selection algorithm), with some additional tricks for optimization. This is a good choice for the typical small kernel sizes, but slow for large sizes of the kernel. On my computer (2.4 GHz Core2Duo), the median for a noisy 2048x2048-pixel image with r=100 takes needs almost 7 minutes! With these computing times, I think that it makes no sense to have larger radii; the user might think it got stuck if the progress bar does not change. A large radius is useful for large images only, and there it takes excessively long. For 8-bit and 16-bit images and a large radius, you are much better off with a histogram-based median. If you are happy with a square (instead of circular) kernel area, you could try this one: http://ij-plugins.sourceforge.net/plugins/filters/ Maybe there is a reasonably fast 'true' median algorithm also for floating-point images; if someone knows one, let me know, please! An approximation for the median, also with a square kernel, can be found in the Fast Filters plugin. It needs 5 seconds for the 2048x2048 image. http://imagejdocu.tudor.lu/doku.php?id=plugin:filter:fast_filters:start What is the application of a median with such a large size? Michael ________________________________________________________________ On Dec 15, 2014, at 20:29, Matthias Schade wrote: > Hello > > it is not possible to execute the 'Median Filter' nor the 'Remove Outliers..' function via user-interface for radii > 100 pixels. Historically, considering processing power or RAM this might have been a reasonable limit. But nowadays? > > I was following recommendations from the following paper on the inference of an illumination function where the authors apply a median filter (r=500 pixels) on an image of 1280x1024 pixels: > Singh, S., Bray, M., Jones, T. R., & Carpenter, a E. (2014). Pipeline for illumination correction of images for high-throughput microscopy. Journal of Microscopy, 256(3), 231–6. doi:10.1111/jmi.12178 > > The ImageJ java code which I think is responsible for catching any radius>100 pixel is found in "RankFilters.Java" (latest version for 1.49m) and states: "int maxRadius = (filterType==MEDIAN || filterType==OUTLIERS || filterType==REMOVE_NAN) ? 100 : 1000;" > > This limitation is void/ignored for ImageJ macros, i.e. using a line such as: run("Median...", "radius=200 slice"); > > Cheers > Matthias > > -- > Matthias Schade > > Humboldt-Universität zu Berlin > Molekulare Biophysik - Institut für Biologie > Invalidenstraße 42 - 10115 Berlin, Germany > > fon +49-30-2093-8724 > fax: +49-30-2093-8585 > office: 216 > > email: [hidden email] > www: http://www2.hu-berlin.de/biologie/molbp/ > > -- > ImageJ mailing list: http://imagej.nih.gov/ij/list.html -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
Free forum by Nabble | Edit this page |