Search in sources :

Example 1 with XyrResultProcedure

use of uk.ac.sussex.gdsc.smlm.results.procedures.XyrResultProcedure in project GDSC-SMLM by aherbert.

the class TraceExporter method exportSpotOn.

private void exportSpotOn(MemoryPeakResults results) {
    try (BufferedWriter out = Files.newBufferedWriter(Paths.get(settings.directory, results.getName() + ".csv"))) {
        out.write("frame,t,trajectory,x,y");
        out.newLine();
        final TypeConverter<TimeUnit> converter = UnitConverterUtils.createConverter(TimeUnit.FRAME, TimeUnit.SECOND, results.getCalibrationReader().getExposureTime());
        @SuppressWarnings("resource") final BufferedWriter writer = out;
        results.forEach(DistanceUnit.UM, (XyrResultProcedure) (x, y, result) -> {
            try {
                if (result.hasEndFrame()) {
                    final String sId = Integer.toString(result.getId());
                    final String sx = Float.toString(x);
                    final String sy = Float.toString(y);
                    for (int t = result.getFrame(); t <= result.getEndFrame(); t++) {
                        writer.write(Integer.toString(t));
                        writer.write(",");
                        writer.write(Float.toString(converter.convert(t)));
                        writer.write(",");
                        writer.write(sId);
                        writer.write(",");
                        writer.write(sx);
                        writer.write(",");
                        writer.write(sy);
                        writer.newLine();
                    }
                } else {
                    writer.write(Integer.toString(result.getFrame()));
                    writer.write(",");
                    writer.write(Float.toString(converter.convert(result.getFrame())));
                    writer.write(",");
                    writer.write(Integer.toString(result.getId()));
                    writer.write(",");
                    writer.write(Float.toString(x));
                    writer.write(",");
                    writer.write(Float.toString(y));
                    writer.newLine();
                }
            } catch (final IOException ex) {
                throw new RuntimeException(ex);
            }
        });
    } catch (final IOException | RuntimeException ex) {
        handleException(ex);
    }
}
Also used : MemoryResultsList(uk.ac.sussex.gdsc.smlm.ij.plugins.ResultsManager.MemoryResultsList) Cell(us.hebi.matlab.mat.types.Cell) UnitConverterUtils(uk.ac.sussex.gdsc.smlm.data.config.UnitConverterUtils) IdFramePeakResultComparator(uk.ac.sussex.gdsc.smlm.results.sort.IdFramePeakResultComparator) FrameCounter(uk.ac.sussex.gdsc.smlm.results.count.FrameCounter) PeakResult(uk.ac.sussex.gdsc.smlm.results.PeakResult) MatFile(us.hebi.matlab.mat.types.MatFile) AtomicReference(java.util.concurrent.atomic.AtomicReference) Matrix(us.hebi.matlab.mat.types.Matrix) ArrayList(java.util.ArrayList) Level(java.util.logging.Level) MultiDialog(uk.ac.sussex.gdsc.core.ij.gui.MultiDialog) MemoryPeakResults(uk.ac.sussex.gdsc.smlm.results.MemoryPeakResults) PeakResultProcedure(uk.ac.sussex.gdsc.smlm.results.procedures.PeakResultProcedure) SettingsManager(uk.ac.sussex.gdsc.smlm.ij.settings.SettingsManager) XyrResultProcedure(uk.ac.sussex.gdsc.smlm.results.procedures.XyrResultProcedure) UniformRandomProvider(org.apache.commons.rng.UniformRandomProvider) Files(java.nio.file.Files) BufferedWriter(java.io.BufferedWriter) ExtendedGenericDialog(uk.ac.sussex.gdsc.core.ij.gui.ExtendedGenericDialog) IOException(java.io.IOException) NamedObject(uk.ac.sussex.gdsc.smlm.data.NamedObject) DistanceUnit(uk.ac.sussex.gdsc.smlm.data.config.UnitProtos.DistanceUnit) Logger(java.util.logging.Logger) SamplerUtils(uk.ac.sussex.gdsc.core.utils.rng.SamplerUtils) AttributePeakResult(uk.ac.sussex.gdsc.smlm.results.AttributePeakResult) TextUtils(uk.ac.sussex.gdsc.core.utils.TextUtils) Plot(ij.gui.Plot) TIntHashSet(gnu.trove.set.hash.TIntHashSet) TimeUnit(uk.ac.sussex.gdsc.smlm.data.config.UnitProtos.TimeUnit) XyzrResultProcedure(uk.ac.sussex.gdsc.smlm.results.procedures.XyzrResultProcedure) List(java.util.List) Counter(uk.ac.sussex.gdsc.smlm.results.count.Counter) Paths(java.nio.file.Paths) ImageJUtils(uk.ac.sussex.gdsc.core.ij.ImageJUtils) IJ(ij.IJ) SimpleArrayUtils(uk.ac.sussex.gdsc.core.utils.SimpleArrayUtils) Mat5(us.hebi.matlab.mat.format.Mat5) PlugIn(ij.plugin.PlugIn) NormalizedGaussianSampler(org.apache.commons.rng.sampling.distribution.NormalizedGaussianSampler) TypeConverter(uk.ac.sussex.gdsc.core.data.utils.TypeConverter) LocalList(uk.ac.sussex.gdsc.core.utils.LocalList) UniformRandomProviders(uk.ac.sussex.gdsc.core.utils.rng.UniformRandomProviders) TimeUnit(uk.ac.sussex.gdsc.smlm.data.config.UnitProtos.TimeUnit) IOException(java.io.IOException) BufferedWriter(java.io.BufferedWriter)

Example 2 with XyrResultProcedure

use of uk.ac.sussex.gdsc.smlm.results.procedures.XyrResultProcedure in project GDSC-SMLM by aherbert.

the class TraceMatchCalculator method extractPulses.

@Nullable
private static Pulse[] extractPulses(MemoryPeakResults results) {
    if (results == null) {
        return null;
    }
    final Pulse[] pulses = new Pulse[results.size()];
    final Counter i = new Counter();
    results.forEach(DistanceUnit.PIXEL, (XyrResultProcedure) (x, y, result) -> pulses[i.getAndIncrement()] = new Pulse(x, y, result.getFrame(), result.getEndFrame()));
    return pulses;
}
Also used : CoordinateProvider(uk.ac.sussex.gdsc.smlm.utils.CoordinateProvider) TextWindow(ij.text.TextWindow) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) WindowManager(ij.WindowManager) Point(java.awt.Point) HashMap(java.util.HashMap) ImageRoiPainter(uk.ac.sussex.gdsc.smlm.ij.utils.ImageRoiPainter) AtomicReference(java.util.concurrent.atomic.AtomicReference) MatchResult(uk.ac.sussex.gdsc.core.match.MatchResult) ArrayList(java.util.ArrayList) MemoryPeakResults(uk.ac.sussex.gdsc.smlm.results.MemoryPeakResults) MathUtils(uk.ac.sussex.gdsc.core.utils.MathUtils) LinkedList(java.util.LinkedList) XyrResultProcedure(uk.ac.sussex.gdsc.smlm.results.procedures.XyrResultProcedure) ExtendedGenericDialog(uk.ac.sussex.gdsc.core.ij.gui.ExtendedGenericDialog) InputSource(uk.ac.sussex.gdsc.smlm.ij.plugins.ResultsManager.InputSource) Pulse(uk.ac.sussex.gdsc.core.match.Pulse) DistanceUnit(uk.ac.sussex.gdsc.smlm.data.config.UnitProtos.DistanceUnit) Coordinate(uk.ac.sussex.gdsc.core.match.Coordinate) WindowAdapter(java.awt.event.WindowAdapter) ConcurrencyUtils(uk.ac.sussex.gdsc.core.utils.concurrent.ConcurrencyUtils) WindowEvent(java.awt.event.WindowEvent) Consumer(java.util.function.Consumer) List(java.util.List) Counter(uk.ac.sussex.gdsc.smlm.results.count.Counter) PointPair(uk.ac.sussex.gdsc.core.match.PointPair) ImageJUtils(uk.ac.sussex.gdsc.core.ij.ImageJUtils) IJ(ij.IJ) MatchCalculator(uk.ac.sussex.gdsc.core.match.MatchCalculator) Nullable(uk.ac.sussex.gdsc.core.annotation.Nullable) PlugIn(ij.plugin.PlugIn) Collections(java.util.Collections) Counter(uk.ac.sussex.gdsc.smlm.results.count.Counter) Pulse(uk.ac.sussex.gdsc.core.match.Pulse) Nullable(uk.ac.sussex.gdsc.core.annotation.Nullable)

Example 3 with XyrResultProcedure

use of uk.ac.sussex.gdsc.smlm.results.procedures.XyrResultProcedure in project GDSC-SMLM by aherbert.

the class SpotAnalysis method addCandidateFrames.

private void addCandidateFrames(String title) {
    for (final MemoryPeakResults r : MemoryPeakResults.getAllResults()) {
        if (r.getSource() instanceof IJImageSource && r.getSource().getName().equals(title)) {
            final float minx = areaBounds.x;
            final float maxx = minx + areaBounds.width;
            final float miny = areaBounds.y;
            final float maxy = miny + areaBounds.height;
            r.forEach(DistanceUnit.PIXEL, (XyrResultProcedure) (x, y, result) -> {
                if (result.getXPosition() >= minx && result.getXPosition() <= maxx && result.getYPosition() >= miny && result.getYPosition() <= maxy) {
                    candidateFrames.add(result.getFrame());
                }
            });
        }
    }
}
Also used : Color(java.awt.Color) Choice(java.awt.Choice) TIntObjectHashMap(gnu.trove.map.hash.TIntObjectHashMap) Arrays(java.util.Arrays) GaussianBlur(ij.plugin.filter.GaussianBlur) TIntArrayList(gnu.trove.list.array.TIntArrayList) ImageProcessor(ij.process.ImageProcessor) TextWindow(ij.text.TextWindow) Scanner(java.util.Scanner) GUI(ij.gui.GUI) Point(java.awt.Point) ZProjector(ij.plugin.ZProjector) ItemListener(java.awt.event.ItemListener) ImageRoiPainter(uk.ac.sussex.gdsc.smlm.ij.utils.ImageRoiPainter) Button(java.awt.Button) Panel(java.awt.Panel) Future(java.util.concurrent.Future) MemoryPeakResults(uk.ac.sussex.gdsc.smlm.results.MemoryPeakResults) Gaussian2DFitter(uk.ac.sussex.gdsc.smlm.fitting.Gaussian2DFitter) MathUtils(uk.ac.sussex.gdsc.core.utils.MathUtils) BorderLayout(java.awt.BorderLayout) ListSelectionEvent(javax.swing.event.ListSelectionEvent) PsfProtosHelper(uk.ac.sussex.gdsc.smlm.data.config.PsfProtosHelper) ItemEvent(java.awt.event.ItemEvent) XyrResultProcedure(uk.ac.sussex.gdsc.smlm.results.procedures.XyrResultProcedure) Frame(java.awt.Frame) LoessInterpolator(org.apache.commons.math3.analysis.interpolation.LoessInterpolator) OffsetPointRoi(uk.ac.sussex.gdsc.core.ij.gui.OffsetPointRoi) DistanceUnit(uk.ac.sussex.gdsc.smlm.data.config.UnitProtos.DistanceUnit) Gaussian2DPeakResultHelper(uk.ac.sussex.gdsc.smlm.results.Gaussian2DPeakResultHelper) GridBagConstraints(java.awt.GridBagConstraints) KeyEvent(java.awt.event.KeyEvent) Logger(java.util.logging.Logger) ConcurrencyUtils(uk.ac.sussex.gdsc.core.utils.concurrent.ConcurrencyUtils) Component(java.awt.Component) Gaussian2DFunction(uk.ac.sussex.gdsc.smlm.function.gaussian.Gaussian2DFunction) Plot(ij.gui.Plot) WindowEvent(java.awt.event.WindowEvent) Executors(java.util.concurrent.Executors) ImagePlus(ij.ImagePlus) FitStatus(uk.ac.sussex.gdsc.smlm.fitting.FitStatus) List(java.util.List) SimpleArrayUtils(uk.ac.sussex.gdsc.core.utils.SimpleArrayUtils) GridBagLayout(java.awt.GridBagLayout) Roi(ij.gui.Roi) JPanel(javax.swing.JPanel) Rectangle(java.awt.Rectangle) Insets(java.awt.Insets) ActionListener(java.awt.event.ActionListener) PolynomialSplineFunction(org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction) Prefs(ij.Prefs) WindowManager(ij.WindowManager) WindowOrganiser(uk.ac.sussex.gdsc.core.ij.plugin.WindowOrganiser) PeakResult(uk.ac.sussex.gdsc.smlm.results.PeakResult) KeyAdapter(java.awt.event.KeyAdapter) AtomicReference(java.util.concurrent.atomic.AtomicReference) TextField(java.awt.TextField) TreeSet(java.util.TreeSet) ArrayList(java.util.ArrayList) Level(java.util.logging.Level) IJImageSource(uk.ac.sussex.gdsc.smlm.ij.IJImageSource) Trace(uk.ac.sussex.gdsc.smlm.results.Trace) ImageJTrackProgress(uk.ac.sussex.gdsc.core.ij.ImageJTrackProgress) GenericDialog(ij.gui.GenericDialog) Menus(ij.Menus) LinkedList(java.util.LinkedList) NoSuchElementException(java.util.NoSuchElementException) FitConfiguration(uk.ac.sussex.gdsc.smlm.engine.FitConfiguration) Statistics(uk.ac.sussex.gdsc.core.utils.Statistics) ExecutorService(java.util.concurrent.ExecutorService) FlowLayout(java.awt.FlowLayout) FitResult(uk.ac.sussex.gdsc.smlm.fitting.FitResult) Files(java.nio.file.Files) PlugInFrame(ij.plugin.frame.PlugInFrame) BufferedWriter(java.io.BufferedWriter) Label(java.awt.Label) JList(javax.swing.JList) ImageAdapter(uk.ac.sussex.gdsc.core.ij.ImageAdapter) IOException(java.io.IOException) Ticker(uk.ac.sussex.gdsc.core.logging.Ticker) ActionEvent(java.awt.event.ActionEvent) JScrollPane(javax.swing.JScrollPane) DefaultListModel(javax.swing.DefaultListModel) Paths(java.nio.file.Paths) ImageJUtils(uk.ac.sussex.gdsc.core.ij.ImageJUtils) IJ(ij.IJ) ImageStack(ij.ImageStack) ListSelectionListener(javax.swing.event.ListSelectionListener) IJImageSource(uk.ac.sussex.gdsc.smlm.ij.IJImageSource) MemoryPeakResults(uk.ac.sussex.gdsc.smlm.results.MemoryPeakResults)

Example 4 with XyrResultProcedure

use of uk.ac.sussex.gdsc.smlm.results.procedures.XyrResultProcedure in project GDSC-SMLM by aherbert.

the class DriftCalculator method findSpots.

private static Spot[] findSpots(MemoryPeakResults results, Rectangle bounds, int[] limits) {
    final LocalList<Spot> list = new LocalList<>(limits[1] - limits[0] + 1);
    final float minx = bounds.x;
    final float miny = bounds.y;
    final float maxx = (float) bounds.x + bounds.width;
    final float maxy = (float) bounds.y + bounds.height;
    // Find spots within the ROI
    results.forEach(DistanceUnit.PIXEL, (XyrResultProcedure) (x, y, result) -> {
        if (x > minx && x < maxx && y > miny && y < maxy) {
            list.add(new Spot(result.getFrame(), x, y, result.getIntensity()));
        }
    });
    // For each frame pick the strongest spot
    Collections.sort(list, Spot::compare);
    final LocalList<Spot> newList = new LocalList<>(list.size());
    int currentT = -1;
    for (final Spot spot : list) {
        if (currentT != spot.time) {
            newList.add(spot);
            currentT = spot.time;
        }
    }
    return newList.toArray(new Spot[0]);
}
Also used : Color(java.awt.Color) Arrays(java.util.Arrays) ImageProcessor(ij.process.ImageProcessor) WindowMethod(uk.ac.sussex.gdsc.core.utils.ImageWindow.WindowMethod) Scanner(java.util.Scanner) Point(java.awt.Point) ResultsImageSettings(uk.ac.sussex.gdsc.smlm.data.config.ResultsProtos.ResultsImageSettings) Future(java.util.concurrent.Future) MemoryPeakResults(uk.ac.sussex.gdsc.smlm.results.MemoryPeakResults) Locale(java.util.Locale) Blitter(ij.process.Blitter) ImageJImagePeakResults(uk.ac.sussex.gdsc.smlm.ij.results.ImageJImagePeakResults) RoiManager(ij.plugin.frame.RoiManager) PlotWindow(ij.gui.PlotWindow) MathUtils(uk.ac.sussex.gdsc.core.utils.MathUtils) XyrResultProcedure(uk.ac.sussex.gdsc.smlm.results.procedures.XyrResultProcedure) Fht(uk.ac.sussex.gdsc.core.ij.process.Fht) LinearInterpolator(org.apache.commons.math3.analysis.interpolation.LinearInterpolator) LoessInterpolator(org.apache.commons.math3.analysis.interpolation.LoessInterpolator) ExtendedGenericDialog(uk.ac.sussex.gdsc.core.ij.gui.ExtendedGenericDialog) InputSource(uk.ac.sussex.gdsc.smlm.ij.plugins.ResultsManager.InputSource) AlignImagesFft(uk.ac.sussex.gdsc.core.ij.AlignImagesFft) ResultsImageType(uk.ac.sussex.gdsc.smlm.data.config.ResultsProtos.ResultsImageType) DistanceUnit(uk.ac.sussex.gdsc.smlm.data.config.UnitProtos.DistanceUnit) ConcurrencyUtils(uk.ac.sussex.gdsc.core.utils.concurrent.ConcurrencyUtils) Plot(ij.gui.Plot) Executors(java.util.concurrent.Executors) ImagePlus(ij.ImagePlus) List(java.util.List) FileUtils(uk.ac.sussex.gdsc.core.utils.FileUtils) Pattern(java.util.regex.Pattern) PlugIn(ij.plugin.PlugIn) Roi(ij.gui.Roi) Rectangle(java.awt.Rectangle) SplineInterpolator(org.apache.commons.math3.analysis.interpolation.SplineInterpolator) PolynomialSplineFunction(org.apache.commons.math3.analysis.polynomials.PolynomialSplineFunction) Prefs(ij.Prefs) WindowManager(ij.WindowManager) WindowOrganiser(uk.ac.sussex.gdsc.core.ij.plugin.WindowOrganiser) PeakResult(uk.ac.sussex.gdsc.smlm.results.PeakResult) AtomicReference(java.util.concurrent.atomic.AtomicReference) TrackProgress(uk.ac.sussex.gdsc.core.logging.TrackProgress) OpenDialog(ij.io.OpenDialog) ArrayList(java.util.ArrayList) ImagePeakResultsFactory(uk.ac.sussex.gdsc.smlm.ij.results.ImagePeakResultsFactory) SubPixelMethod(uk.ac.sussex.gdsc.core.ij.AlignImagesFft.SubPixelMethod) PeakResultProcedure(uk.ac.sussex.gdsc.smlm.results.procedures.PeakResultProcedure) LinkedList(java.util.LinkedList) NoSuchElementException(java.util.NoSuchElementException) ExecutorService(java.util.concurrent.ExecutorService) SimpleImageJTrackProgress(uk.ac.sussex.gdsc.core.ij.SimpleImageJTrackProgress) Files(java.nio.file.Files) ResultsImageSizeMode(uk.ac.sussex.gdsc.smlm.data.config.ResultsProtos.ResultsImageSizeMode) BufferedWriter(java.io.BufferedWriter) IOException(java.io.IOException) ResultsImageMode(uk.ac.sussex.gdsc.smlm.data.config.ResultsProtos.ResultsImageMode) Ticker(uk.ac.sussex.gdsc.core.logging.Ticker) FloatProcessor(ij.process.FloatProcessor) Counter(uk.ac.sussex.gdsc.smlm.results.count.Counter) Paths(java.nio.file.Paths) ImageJUtils(uk.ac.sussex.gdsc.core.ij.ImageJUtils) IJ(ij.IJ) ImageStack(ij.ImageStack) Nullable(uk.ac.sussex.gdsc.core.annotation.Nullable) BufferedReader(java.io.BufferedReader) Collections(java.util.Collections) LocalList(uk.ac.sussex.gdsc.core.utils.LocalList) StandardResultProcedure(uk.ac.sussex.gdsc.smlm.results.procedures.StandardResultProcedure) LocalList(uk.ac.sussex.gdsc.core.utils.LocalList) Point(java.awt.Point)

Example 5 with XyrResultProcedure

use of uk.ac.sussex.gdsc.smlm.results.procedures.XyrResultProcedure in project GDSC-SMLM by aherbert.

the class CropResults method cropResults.

/**
 * Apply the filters to the data.
 */
private void cropResults() {
    final MemoryPeakResults newResults = createNewResults();
    // These bounds are integer. But this is because the results are meant to come from an image.
    final Rectangle integerBounds = results.getBounds(true);
    // The crop bounds can be floating point...
    // Border
    final double border = settings.getBorder();
    final double xx = integerBounds.x + border;
    final double yy = integerBounds.y + border;
    final double w = Math.max(0, integerBounds.width - 2 * border);
    final double h = Math.max(0, integerBounds.height - 2 * border);
    Rectangle2D pixelBounds = new Rectangle2D.Double(xx, yy, w, h);
    // Bounding box
    if (settings.getSelectRegion()) {
        final Rectangle2D boxBounds = new Rectangle2D.Double(settings.getX(), settings.getY(), settings.getWidth(), settings.getHeight());
        pixelBounds = pixelBounds.createIntersection(boxBounds);
    }
    // and create another intersection
    if (myUseRoi) {
        final ImagePlus imp = WindowManager.getImage(settings.getRoiImage());
        if (imp != null && imp.getRoi() != null) {
            final Rectangle roi = imp.getRoi().getBounds();
            final int roiImageWidth = imp.getWidth();
            final int roiImageHeight = imp.getHeight();
            final double xscale = (double) roiImageWidth / integerBounds.width;
            final double yscale = (double) roiImageHeight / integerBounds.height;
            final Rectangle2D roiBounds = new Rectangle2D.Double(roi.x / xscale, roi.y / yscale, roi.width / xscale, roi.height / yscale);
            pixelBounds = pixelBounds.createIntersection(roiBounds);
        }
    }
    final Rectangle2D bounds = pixelBounds;
    final Predicate<PeakResult> testZ = getZFilter();
    // Copy the results if the origin is reset
    final Consumer<PeakResult> consumer = settings.getResetOrigin() ? r -> newResults.add(r.copy()) : newResults::add;
    if (bounds.getWidth() > 0 && bounds.getHeight() > 0) {
        results.forEach(DistanceUnit.PIXEL, (XyrResultProcedure) (x, y, result) -> {
            if (bounds.contains(x, y) && testZ.test(result)) {
                consumer.accept(result);
            }
        });
    }
    if (settings.getPreserveBounds()) {
        newResults.setBounds(integerBounds);
    } else {
        // Get the lower and upper integer limits
        final int x = (int) Math.floor(bounds.getX());
        final int y = (int) Math.floor(bounds.getY());
        final int ux = (int) Math.ceil(bounds.getX() + bounds.getWidth());
        final int uy = (int) Math.ceil(bounds.getY() + bounds.getHeight());
        // Ensure the width and height are at least 1
        newResults.setBounds(new Rectangle(x, y, Math.max(1, ux - x), Math.max(1, uy - y)));
        if (settings.getResetOrigin()) {
            newResults.translate(-x, -y);
        }
    }
    IJ.showStatus(newResults.size() + " Cropped localisations");
}
Also used : Rectangle(java.awt.Rectangle) Rectangle2D(java.awt.geom.Rectangle2D) PassPeakResultPredicate(uk.ac.sussex.gdsc.smlm.results.predicates.PassPeakResultPredicate) IdentityTypeConverter(uk.ac.sussex.gdsc.core.data.utils.IdentityTypeConverter) WindowManager(ij.WindowManager) PeakResult(uk.ac.sussex.gdsc.smlm.results.PeakResult) OptionListener(uk.ac.sussex.gdsc.core.ij.gui.ExtendedGenericDialog.OptionListener) CoordinatePredicateUtils(uk.ac.sussex.gdsc.core.ij.roi.CoordinatePredicateUtils) PeakResultValueParameter(uk.ac.sussex.gdsc.smlm.results.PeakResultValueParameter) MemoryPeakResults(uk.ac.sussex.gdsc.smlm.results.MemoryPeakResults) MathUtils(uk.ac.sussex.gdsc.core.utils.MathUtils) UnitHelper(uk.ac.sussex.gdsc.smlm.data.config.UnitHelper) CropResultsSettings(uk.ac.sussex.gdsc.smlm.ij.settings.GUIProtos.CropResultsSettings) SettingsManager(uk.ac.sussex.gdsc.smlm.ij.settings.SettingsManager) CoordinatePredicate(uk.ac.sussex.gdsc.core.ij.roi.CoordinatePredicate) XyrResultProcedure(uk.ac.sussex.gdsc.smlm.results.procedures.XyrResultProcedure) ConversionException(uk.ac.sussex.gdsc.core.data.utils.ConversionException) Predicate(java.util.function.Predicate) ExtendedGenericDialog(uk.ac.sussex.gdsc.core.ij.gui.ExtendedGenericDialog) InputSource(uk.ac.sussex.gdsc.smlm.ij.plugins.ResultsManager.InputSource) DistanceUnit(uk.ac.sussex.gdsc.smlm.data.config.UnitProtos.DistanceUnit) TextUtils(uk.ac.sussex.gdsc.core.utils.TextUtils) CalibrationHelper(uk.ac.sussex.gdsc.smlm.data.config.CalibrationHelper) Consumer(java.util.function.Consumer) ImagePlus(ij.ImagePlus) ImageJUtils(uk.ac.sussex.gdsc.core.ij.ImageJUtils) IJ(ij.IJ) MinMaxResultProcedure(uk.ac.sussex.gdsc.smlm.results.procedures.MinMaxResultProcedure) MinMaxPeakResultPredicate(uk.ac.sussex.gdsc.smlm.results.predicates.MinMaxPeakResultPredicate) PlugIn(ij.plugin.PlugIn) TypeConverter(uk.ac.sussex.gdsc.core.data.utils.TypeConverter) LocalList(uk.ac.sussex.gdsc.core.utils.LocalList) Rectangle(java.awt.Rectangle) Rectangle2D(java.awt.geom.Rectangle2D) MemoryPeakResults(uk.ac.sussex.gdsc.smlm.results.MemoryPeakResults) ImagePlus(ij.ImagePlus) PeakResult(uk.ac.sussex.gdsc.smlm.results.PeakResult)

Aggregations

IJ (ij.IJ)12 ImageJUtils (uk.ac.sussex.gdsc.core.ij.ImageJUtils)12 DistanceUnit (uk.ac.sussex.gdsc.smlm.data.config.UnitProtos.DistanceUnit)12 MemoryPeakResults (uk.ac.sussex.gdsc.smlm.results.MemoryPeakResults)12 XyrResultProcedure (uk.ac.sussex.gdsc.smlm.results.procedures.XyrResultProcedure)12 PlugIn (ij.plugin.PlugIn)11 ExtendedGenericDialog (uk.ac.sussex.gdsc.core.ij.gui.ExtendedGenericDialog)11 WindowManager (ij.WindowManager)10 AtomicReference (java.util.concurrent.atomic.AtomicReference)10 PeakResult (uk.ac.sussex.gdsc.smlm.results.PeakResult)10 ImagePlus (ij.ImagePlus)9 Rectangle (java.awt.Rectangle)9 MathUtils (uk.ac.sussex.gdsc.core.utils.MathUtils)9 InputSource (uk.ac.sussex.gdsc.smlm.ij.plugins.ResultsManager.InputSource)9 Plot (ij.gui.Plot)8 List (java.util.List)8 LocalList (uk.ac.sussex.gdsc.core.utils.LocalList)7 TextUtils (uk.ac.sussex.gdsc.core.utils.TextUtils)7 ImageProcessor (ij.process.ImageProcessor)6 Color (java.awt.Color)6