Posted by
Andrew Vaughan-2 on
Jul 02, 2007; 2:42pm
URL: http://imagej.273.s1.nabble.com/Dynamic-Thresholding-tp3698959.html
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.j
ava: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.