Posted by
Leon Espinosa on
Dec 07, 2005; 7:54am
URL: http://imagej.273.s1.nabble.com/Thesholding-in-a-plugin-tp3704311p3704312.html
I have previously posted plugin to modifiy the behavior of "adjust
threshold" command. Just you have to install the "Threshold_2" plugin
bellow and then use IJ.run("Threshold 2"); instead. The program will
wait until the user close the threshold adjuster window, exemple:
//--------- exemple-------------
import ij.*;
import ij.process.*;
import ij.gui.*;
import java.awt.*;
import ij.plugin.*;
public class ex_threshold2 implements PlugIn {
public void run(String arg) {
IJ.run("Blobs (25K)");
IJ.showMessage("Adjust threshold TO CONTINUE please close the
window");
IJ.run("Threshold 2");
IJ.run("Unlock Image");
IJ.run("Threshold", "thresholded remaining black");
IJ.showMessage("Done");
}
}
//----------- end -------------------
And the code to install Threshold_2 plugin is:
// ----------- Threshold_2.java --------------
import ij.*;
import ij.process.*;
import ij.gui.*;
import ij.plugin.*;
import ij.plugin.frame.*;
import ij.plugin.frame.ThresholdAdjuster.*;
import java.lang.*;
import java.lang.Object.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.event.WindowEvent.*;
public class Threshold_2 implements PlugIn {
int wclose = 202;
public void run(String arg) {
CustomThresholdAdjuster2 seuil = new CustomThresholdAdjuster2();
while(!(seuil.getWclose==wclose)) {}
// IJ.showMessage(" la suite...");
}
}
class CustomThresholdAdjuster2 extends ThresholdAdjuster {
public int getWclose;
boolean fin = false;
public void windowClosing(WindowEvent w) {
super.windowClosing(w);
String Waction = w.paramString();
getWclose = w.WINDOW_CLOSED;
}
}
//--------- end ----------------------
Good look, Leon
Gib Bogle wrote:
> I have written a plugin for extracting particle trajectories from a
> sequence of frames. Currently I supply the threshold parameters that
> get applied to each frame, and do the thresholding thus:
>
> IJ.setThreshold(minThreshold, maxThreshold);
> IJ.run("Threshold", "thresholded remaining black");
>
> Now I want to add the capability to interactively determine the
> optimal threshold settings when the program executes (instead of using
> supplied values). I think I need to be able to do two things. First,
> I need the execution to pause while I'm manually adjusting the slider
> in the Threshold pop-up (currently it carries on, not giving me a
> chance to do the adjustment). Second, I need to be able to retrieve
> the values for minThreshold and maxThreshold.
>
> Can these things be done?
>
> Thanks
> Gib
>