Search in sources :

Example 21 with Checkbox

use of java.awt.Checkbox in project GDSC-SMLM by aherbert.

the class DoubletAnalysis method showDialog.

/**
	 * Show dialog.
	 *
	 * @return true, if successful
	 */
@SuppressWarnings("unchecked")
private boolean showDialog() {
    GenericDialog gd = new GenericDialog(TITLE);
    gd.addHelp(About.HELP_URL);
    final double sa = getSa();
    gd.addMessage(String.format("Fits the benchmark image created by CreateData plugin.\nPSF width = %s, adjusted = %s", Utils.rounded(simulationParameters.s / simulationParameters.a), Utils.rounded(sa)));
    // For each new benchmark width, reset the PSF width to the square pixel adjustment
    if (lastId != simulationParameters.id) {
        double w = sa;
        matchDistance = w * Gaussian2DFunction.SD_TO_HWHM_FACTOR;
        lowerDistance = 0.5 * matchDistance;
        fitConfig.setInitialPeakStdDev(w);
        cal.setNmPerPixel(simulationParameters.a);
        cal.setGain(simulationParameters.gain);
        cal.setAmplification(simulationParameters.amplification);
        cal.setExposureTime(100);
        cal.setReadNoise(simulationParameters.readNoise);
        cal.setBias(simulationParameters.bias);
        cal.setEmCCD(simulationParameters.emCCD);
        fitConfig.setGain(cal.getGain());
        fitConfig.setBias(cal.getBias());
        fitConfig.setReadNoise(cal.getReadNoise());
        fitConfig.setAmplification(cal.getAmplification());
    }
    // Support for using templates
    String[] templates = ConfigurationTemplate.getTemplateNames(true);
    gd.addChoice("Template", templates, templates[0]);
    // Allow the settings from the benchmark analysis to be used
    gd.addCheckbox("Benchmark_settings", useBenchmarkSettings);
    // Collect options for fitting
    gd.addNumericField("Initial_StdDev", fitConfig.getInitialPeakStdDev0(), 3);
    String[] filterTypes = SettingsManager.getNames((Object[]) DataFilterType.values());
    gd.addChoice("Spot_filter_type", filterTypes, filterTypes[config.getDataFilterType().ordinal()]);
    String[] filterNames = SettingsManager.getNames((Object[]) DataFilter.values());
    gd.addChoice("Spot_filter", filterNames, filterNames[config.getDataFilter(0).ordinal()]);
    gd.addSlider("Smoothing", 0, 2.5, config.getSmooth(0));
    gd.addSlider("Search_width", 0.5, 2.5, config.getSearch());
    gd.addSlider("Border", 0.5, 2.5, config.getBorder());
    gd.addSlider("Fitting_width", 2, 4.5, config.getFitting());
    String[] solverNames = SettingsManager.getNames((Object[]) FitSolver.values());
    gd.addChoice("Fit_solver", solverNames, solverNames[fitConfig.getFitSolver().ordinal()]);
    String[] functionNames = SettingsManager.getNames((Object[]) FitFunction.values());
    gd.addChoice("Fit_function", functionNames, functionNames[fitConfig.getFitFunction().ordinal()]);
    gd.addSlider("Iteration_increase", 1, 4.5, iterationIncrease);
    gd.addCheckbox("Ignore_with_neighbours", ignoreWithNeighbours);
    gd.addCheckbox("Show_overlay", showOverlay);
    gd.addCheckbox("Show_histograms", showHistograms);
    gd.addCheckbox("Show_results", showResults);
    gd.addCheckbox("Show_Jaccard_Plot", showJaccardPlot);
    gd.addCheckbox("Use_max_residuals", useMaxResiduals);
    gd.addNumericField("Match_distance", matchDistance, 2);
    gd.addNumericField("Lower_distance", lowerDistance, 2);
    gd.addNumericField("Signal_factor", signalFactor, 2);
    gd.addNumericField("Lower_factor", lowerSignalFactor, 2);
    gd.addChoice("Matching", MATCHING, MATCHING[matching]);
    // Add a mouse listener to the config file field
    if (Utils.isShowGenericDialog()) {
        Vector<TextField> numerics = (Vector<TextField>) gd.getNumericFields();
        Vector<Choice> choices = (Vector<Choice>) gd.getChoices();
        int n = 0;
        int ch = 0;
        choices.get(ch++).addItemListener(this);
        Checkbox b = (Checkbox) gd.getCheckboxes().get(0);
        b.addItemListener(this);
        textInitialPeakStdDev0 = numerics.get(n++);
        textDataFilterType = choices.get(ch++);
        textDataFilter = choices.get(ch++);
        textSmooth = numerics.get(n++);
        textSearch = numerics.get(n++);
        textBorder = numerics.get(n++);
        textFitting = numerics.get(n++);
        textFitSolver = choices.get(ch++);
        textFitFunction = choices.get(ch++);
        // Iteration increase
        n++;
        textMatchDistance = numerics.get(n++);
        textLowerDistance = numerics.get(n++);
        textSignalFactor = numerics.get(n++);
        textLowerFactor = numerics.get(n++);
    }
    gd.showDialog();
    if (gd.wasCanceled())
        return false;
    // Ignore the template
    gd.getNextChoice();
    useBenchmarkSettings = gd.getNextBoolean();
    fitConfig.setInitialPeakStdDev(gd.getNextNumber());
    config.setDataFilterType(gd.getNextChoiceIndex());
    config.setDataFilter(gd.getNextChoiceIndex(), Math.abs(gd.getNextNumber()), 0);
    config.setSearch(gd.getNextNumber());
    config.setBorder(gd.getNextNumber());
    config.setFitting(gd.getNextNumber());
    fitConfig.setFitSolver(gd.getNextChoiceIndex());
    fitConfig.setFitFunction(gd.getNextChoiceIndex());
    // Avoid stupidness. Note: We are mostly ignoring the validation result and 
    // checking the results for the doublets manually.
    // Realistically we cannot fit lower than this
    fitConfig.setMinPhotons(15);
    // Set the width factors to help establish bounds for bounded fitters
    fitConfig.setMinWidthFactor(1.0 / 10);
    fitConfig.setWidthFactor(10);
    iterationIncrease = gd.getNextNumber();
    ignoreWithNeighbours = gd.getNextBoolean();
    showOverlay = gd.getNextBoolean();
    showHistograms = gd.getNextBoolean();
    showResults = gd.getNextBoolean();
    showJaccardPlot = gd.getNextBoolean();
    useMaxResiduals = gd.getNextBoolean();
    matchDistance = Math.abs(gd.getNextNumber());
    lowerDistance = Math.abs(gd.getNextNumber());
    signalFactor = Math.abs(gd.getNextNumber());
    lowerSignalFactor = Math.abs(gd.getNextNumber());
    matching = gd.getNextChoiceIndex();
    if (gd.invalidNumber())
        return false;
    if (lowerDistance > matchDistance)
        lowerDistance = matchDistance;
    if (lowerSignalFactor > signalFactor)
        lowerSignalFactor = signalFactor;
    if (useBenchmarkSettings) {
        if (!updateFitConfiguration(config))
            return false;
    }
    GlobalSettings settings = new GlobalSettings();
    settings.setFitEngineConfiguration(config);
    settings.setCalibration(cal);
    boolean configure = true;
    if (useBenchmarkSettings) {
        // Only configure the fit solver if not in a macro
        configure = Macro.getOptions() == null;
    }
    if (configure && !PeakFit.configureFitSolver(settings, null, false))
        return false;
    lastId = simulationParameters.id;
    if (showHistograms) {
        gd = new GenericDialog(TITLE);
        gd.addMessage("Select the histograms to display");
        for (int i = 0; i < NAMES.length; i++) gd.addCheckbox(NAMES[i].replace(' ', '_'), displayHistograms[i]);
        for (int i = 0; i < NAMES2.length; i++) gd.addCheckbox(NAMES2[i].replace(' ', '_'), displayHistograms[i + NAMES.length]);
        gd.showDialog();
        if (gd.wasCanceled())
            return false;
        for (int i = 0; i < displayHistograms.length; i++) displayHistograms[i] = gd.getNextBoolean();
    }
    return true;
}
Also used : Choice(java.awt.Choice) GlobalSettings(gdsc.smlm.ij.settings.GlobalSettings) PeakResultPoint(gdsc.smlm.ij.plugins.ResultsMatchCalculator.PeakResultPoint) BasePoint(gdsc.core.match.BasePoint) Checkbox(java.awt.Checkbox) GenericDialog(ij.gui.GenericDialog) TextField(java.awt.TextField) Vector(java.util.Vector)

Example 22 with Checkbox

use of java.awt.Checkbox in project voltdb by VoltDB.

the class Transfer method initGUI.

/**
     * Method declaration
     *
     */
private void initGUI() {
    Font fFont = new Font("Dialog", Font.PLAIN, 12);
    setLayout(new BorderLayout());
    Panel p = new Panel();
    p.setBackground(SystemColor.control);
    p.setLayout(new GridLayout(16, 1));
    tSourceTable = new TextField();
    tSourceTable.setEnabled(false);
    tDestTable = new TextField();
    tDestTable.addActionListener(this);
    tDestDrop = new TextField();
    tDestDrop.addActionListener(this);
    tDestCreate = new TextField();
    tDestCreate.addActionListener(this);
    tDestDelete = new TextField();
    tDestDelete.addActionListener(this);
    tDestCreateIndex = new TextField();
    tDestCreateIndex.addActionListener(this);
    tDestDropIndex = new TextField();
    tDestDropIndex.addActionListener(this);
    tSourceSelect = new TextField();
    tSourceSelect.addActionListener(this);
    tDestInsert = new TextField();
    tDestInsert.addActionListener(this);
    tDestAlter = new TextField();
    tDestAlter.addActionListener(this);
    cTransfer = new Checkbox("Transfer to destination table", true);
    cTransfer.addItemListener(this);
    cDrop = new Checkbox("Drop destination table (ignore error)", true);
    cDrop.addItemListener(this);
    cCreate = new Checkbox("Create destination table", true);
    cCreate.addItemListener(this);
    cDropIndex = new Checkbox("Drop destination index (ignore error)", true);
    cDropIndex.addItemListener(this);
    cIdxForced = new Checkbox("force Idx_ prefix for indexes names", false);
    cIdxForced.addItemListener(this);
    cCreateIndex = new Checkbox("Create destination index", true);
    cCreateIndex.addItemListener(this);
    cDelete = new Checkbox("Delete rows in destination table", true);
    cDelete.addItemListener(this);
    cInsert = new Checkbox("Insert into destination", true);
    cInsert.addItemListener(this);
    cFKForced = new Checkbox("force FK_ prefix for foreign key names", false);
    cFKForced.addItemListener(this);
    cAlter = new Checkbox("Alter destination table", true);
    cAlter.addItemListener(this);
    p.add(createLabel("Source table"));
    p.add(tSourceTable);
    p.add(cTransfer);
    p.add(tDestTable);
    p.add(cDrop);
    p.add(tDestDrop);
    p.add(cCreate);
    p.add(tDestCreate);
    p.add(cDropIndex);
    p.add(tDestDropIndex);
    p.add(cCreateIndex);
    p.add(tDestCreateIndex);
    p.add(cDelete);
    p.add(tDestDelete);
    p.add(cAlter);
    p.add(tDestAlter);
    p.add(createLabel("Select source records"));
    p.add(tSourceSelect);
    p.add(cInsert);
    p.add(tDestInsert);
    p.add(createLabel(""));
    p.add(createLabel(""));
    p.add(cIdxForced);
    p.add(cFKForced);
    p.add(createLabel(""));
    p.add(createLabel(""));
    if (iTransferMode == TRFM_TRANSFER) {
        bStart = new Button("Start Transfer");
        bContinue = new Button("Continue Transfer");
        bContinue.setEnabled(false);
    } else if (iTransferMode == Transfer.TRFM_DUMP) {
        bStart = new Button("Start Dump");
    } else if (iTransferMode == Transfer.TRFM_RESTORE) {
        bStart = new Button("Start Restore");
    }
    bStart.addActionListener(this);
    p.add(bStart);
    if (iTransferMode == TRFM_TRANSFER) {
        bContinue.addActionListener(this);
        p.add(bContinue);
    }
    bStart.setEnabled(false);
    fMain.add("Center", createBorderPanel(p));
    lTable = new java.awt.List(10);
    lTable.addItemListener(this);
    fMain.add("West", createBorderPanel(lTable));
    tMessage = new TextField();
    Panel pMessage = createBorderPanel(tMessage);
    fMain.add("South", pMessage);
}
Also used : Panel(java.awt.Panel) GridLayout(java.awt.GridLayout) BorderLayout(java.awt.BorderLayout) Button(java.awt.Button) Checkbox(java.awt.Checkbox) TextField(java.awt.TextField) Font(java.awt.Font)

Example 23 with Checkbox

use of java.awt.Checkbox in project GDSC-SMLM by aherbert.

the class PSFCreator method showDialog.

private int showDialog() {
    GenericDialog gd = new GenericDialog(TITLE);
    gd.addHelp(About.HELP_URL);
    gd.addMessage("Produces an average PSF using selected diffraction limited spots.\nUses the current fit configuration to fit spots.");
    gd.addCheckbox("Update_Fit_Configuration", false);
    gd.addNumericField("nm_per_slice", nmPerSlice, 0);
    gd.addSlider("Radius", 3, 20, radius);
    gd.addSlider("Amplitude_fraction", 0.01, 0.5, amplitudeFraction);
    gd.addSlider("Start_background_frames", 1, 20, startBackgroundFrames);
    gd.addSlider("End_background_frames", 1, 20, endBackgroundFrames);
    gd.addSlider("Magnification", 5, 15, magnification);
    gd.addSlider("Smoothing", 0.25, 0.5, smoothing);
    gd.addCheckbox("Centre_each_slice", centreEachSlice);
    gd.addNumericField("CoM_cut_off", comCutOff, -2);
    gd.addCheckbox("Interactive_mode", interactiveMode);
    String[] methods = ImageProcessor.getInterpolationMethods();
    gd.addChoice("Interpolation", methods, methods[interpolationMethod]);
    ((Checkbox) gd.getCheckboxes().get(0)).addItemListener(this);
    gd.showDialog();
    if (gd.wasCanceled())
        return DONE;
    gd.getNextBoolean();
    nmPerSlice = gd.getNextNumber();
    radius = gd.getNextNumber();
    amplitudeFraction = gd.getNextNumber();
    startBackgroundFrames = (int) gd.getNextNumber();
    endBackgroundFrames = (int) gd.getNextNumber();
    magnification = (int) gd.getNextNumber();
    smoothing = gd.getNextNumber();
    centreEachSlice = gd.getNextBoolean();
    comCutOff = Maths.max(0, gd.getNextNumber());
    interactiveMode = gd.getNextBoolean();
    interpolationMethod = gd.getNextChoiceIndex();
    // Check arguments
    try {
        Parameters.isPositive("nm/slice", nmPerSlice);
        Parameters.isAbove("Radius", radius, 2);
        Parameters.isAbove("Amplitude fraction", amplitudeFraction, 0.01);
        Parameters.isBelow("Amplitude fraction", amplitudeFraction, 0.9);
        Parameters.isPositive("Start background frames", startBackgroundFrames);
        Parameters.isPositive("End background frames", endBackgroundFrames);
        Parameters.isAbove("Total background frames", startBackgroundFrames + endBackgroundFrames, 1);
        Parameters.isAbove("Magnification", magnification, 1);
        Parameters.isAbove("Smoothing", smoothing, 0);
        Parameters.isBelow("Smoothing", smoothing, 1);
    } catch (IllegalArgumentException e) {
        IJ.error(TITLE, e.getMessage());
        return DONE;
    }
    return flags;
}
Also used : Checkbox(java.awt.Checkbox) GenericDialog(ij.gui.GenericDialog)

Example 24 with Checkbox

use of java.awt.Checkbox in project jdk8u_jdk by JetBrains.

the class SetStateExcessEvent method main.

public static void main(final String[] args) throws Exception {
    final Robot robot = new Robot();
    final CheckboxGroup group = new CheckboxGroup();
    final Checkbox[] cbs = { new Checkbox("checkbox1", true, group), new Checkbox("checkbox2", false, group), new Checkbox("checkbox3", true, group), new Checkbox("checkbox4", true), new Checkbox("checkbox5", false), new Checkbox("checkbox6", true) };
    final Frame frame = new Frame();
    frame.setLayout(new GridBagLayout());
    try {
        for (final Checkbox cb : cbs) {
            cb.addItemListener(e -> {
                failed = true;
            });
        }
        for (final Checkbox cb : cbs) {
            frame.add(cb);
        }
        frame.pack();
        for (final Checkbox cb : cbs) {
            cb.setState(!cb.getState());
        }
        for (final Checkbox cb : cbs) {
            group.setSelectedCheckbox(cb);
        }
        robot.waitForIdle();
    } finally {
        frame.dispose();
    }
    if (failed) {
        throw new RuntimeException("Listener should not be called");
    }
    System.out.println("Test passed");
}
Also used : Frame(java.awt.Frame) GridBagLayout(java.awt.GridBagLayout) Checkbox(java.awt.Checkbox) CheckboxGroup(java.awt.CheckboxGroup) Robot(java.awt.Robot)

Aggregations

Checkbox (java.awt.Checkbox)24 GenericDialog (ij.gui.GenericDialog)9 TextField (java.awt.TextField)9 Choice (java.awt.Choice)8 GlobalSettings (gdsc.smlm.ij.settings.GlobalSettings)7 Vector (java.util.Vector)7 Component (java.awt.Component)5 GridBagLayout (java.awt.GridBagLayout)5 BasePoint (gdsc.core.match.BasePoint)4 FitEngineConfiguration (gdsc.smlm.engine.FitEngineConfiguration)4 FitConfiguration (gdsc.smlm.fitting.FitConfiguration)4 PeakResultPoint (gdsc.smlm.ij.plugins.ResultsMatchCalculator.PeakResultPoint)4 GridBagConstraints (java.awt.GridBagConstraints)4 ExtendedGenericDialog (ij.gui.ExtendedGenericDialog)3 Color (java.awt.Color)3 Panel (java.awt.Panel)3 DirectFilter (gdsc.smlm.results.filter.DirectFilter)2 MultiPathFilter (gdsc.smlm.results.filter.MultiPathFilter)2 BorderLayout (java.awt.BorderLayout)2 Button (java.awt.Button)2