Login  Register

Re: Dynamic Thresholding

Posted by Wayne Rasband on Jul 02, 2007; 3:56pm
URL: http://imagej.273.s1.nabble.com/Dynamic-Thresholding-tp3698959p3698960.html

This bug, which was introduced in ImageJ 1.38u, is fixed in ImageJ  
1.38w.

-wayne

On Jul 2, 2007, at 9:42 AM, Andrew Vaughan wrote:

> Dear All.
>
> I recently tried to use Gary Chinga's Dynamic Thresholding plugin  
> (http://www.gcsca.net/IJ/Dynamic.html) but was met with the following  
> error message once I'd got past the stage of setting a kernel size and  
> mean/median/min/max method:
>
> java.lang.NoSuchMethodError:  
> ij.plugin.filter.RankFilters.rank(Lij/process/ImageProcessor;DI)V
> at DynamicThreshold_1b.run(DynamicThreshold_1b.java:64)
> at  
> ij.plugin.filter.PlugInFilterRunner.processOneImage(PlugInFilterRunner.
> java:243)
> at  
> ij.plugin.filter.PlugInFilterRunner.<init>(PlugInFilterRunner.java:
> 102)
> at ij.IJ.runUserPlugIn(IJ.java:160)
> at ij.IJ.runPlugIn(IJ.java:124)
> at ij.Executer.runCommand(Executer.java:95)
> at ij.Executer.run(Executer.java:49)
> at java.lang.Thread.run(Thread.java:552)
>
> I tried compiling and running the java code and received the following  
> error:
>
> Note: sun.tools.javac.Main has been deprecated.
> /Users/andrew/Desktop/ImageJ/plugins/DynamicThreshold_1b.java:64:  
> Method rank(ij.process.ByteProcessor, double, int) not found in class  
> ij.plugin.filter.RankFilters.
> rf.rank(bpTemp,radius, MEAN);
>       ^
> /Users/andrew/Desktop/ImageJ/plugins/DynamicThreshold_1b.java:70:  
> Method rank(ij.process.ByteProcessor, double, int) not found in class  
> ij.plugin.filter.RankFilters.
> rf.rank(bpTemp,radius, MEDIAN);
>       ^
> /Users/andrew/Desktop/ImageJ/plugins/DynamicThreshold_1b.java:76:  
> Method rank(ij.process.ByteProcessor, double, int) not found in class  
> ij.plugin.filter.RankFilters.
> rf.rank(bpTemp,radius, MIN);
>       ^
> /Users/andrew/Desktop/ImageJ/plugins/DynamicThreshold_1b.java:82:  
> Method rank(ij.process.ByteProcessor, double, int) not found in class  
> ij.plugin.filter.RankFilters.
> rf.rank(bpTemp,radius, MAX);
>       ^
> 4 errors, 1 warning
>
> This looks to me to be a problem with the code; perhaps caused by  
> updates to Java or Image J in the three or four years since the plugin  
> was updated (I could be wrong, though). Does anyone have a solution or  
> workaround for this, as I could really do with an adaptive  
> thresholding algorithm and my Java is limited, to say the least.
>
> Thanks.
>
> Yours sincerely,
>
> Andrew Vaughan.
>