diff --git a/src/main/java/fiji/plugin/trackmate/action/oneat/OneatCorrector.java b/src/main/java/fiji/plugin/trackmate/action/oneat/OneatCorrector.java index b55dac3..423850b 100644 --- a/src/main/java/fiji/plugin/trackmate/action/oneat/OneatCorrector.java +++ b/src/main/java/fiji/plugin/trackmate/action/oneat/OneatCorrector.java @@ -43,6 +43,7 @@ import ij.ImagePlus; import net.imagej.ImgPlus; import net.imglib2.type.numeric.integer.UnsignedShortType; +import net.imglib2.type.numeric.real.FloatType; import net.imglib2.util.Pair; public class OneatCorrector implements TrackCorrector { @@ -69,7 +70,7 @@ public class OneatCorrector implements TrackCorrector { private HashMap> Apoptosisspots; - private final ImgPlus img; + private final ImgPlus img; private final Map settings; @@ -89,7 +90,7 @@ public class OneatCorrector implements TrackCorrector { private static final String BASE_ERROR_MESSAGE = "[OneatTrackCorrector] "; - public OneatCorrector(final File oneatdivision, final File oneatapoptosis, final ImgPlus intimg, + public OneatCorrector(final File oneatdivision, final File oneatapoptosis, final ImgPlus intimg, final Model model, final TrackMate trackmate, final Settings modelsettings, final DisplaySettings displaySettings, double[] calibration, Map settings, final Logger logger, final Boolean addDisplay) { diff --git a/src/main/java/fiji/plugin/trackmate/action/oneat/OneatCorrectorFactory.java b/src/main/java/fiji/plugin/trackmate/action/oneat/OneatCorrectorFactory.java index 78ed79f..53cd7b8 100644 --- a/src/main/java/fiji/plugin/trackmate/action/oneat/OneatCorrectorFactory.java +++ b/src/main/java/fiji/plugin/trackmate/action/oneat/OneatCorrectorFactory.java @@ -43,6 +43,8 @@ import fiji.plugin.trackmate.gui.displaysettings.DisplaySettings; import net.imagej.ImgPlus; import net.imglib2.type.numeric.integer.UnsignedShortType; +import net.imglib2.type.numeric.real.FloatType; + import static fiji.plugin.trackmate.tracking.TrackerKeys.KEY_SPLITTING_MAX_DISTANCE; import static fiji.plugin.trackmate.detection.DetectorKeys.KEY_TARGET_CHANNEL; @Plugin( type = TrackCorrectorFactory.class, visible = true ) @@ -93,7 +95,7 @@ public ImageIcon getIcon() { @Override - public OneatCorrector create( ImgPlus img, Model model, TrackMate trackmate, Settings modelsettings, DisplaySettings displaysettings, + public OneatCorrector create( ImgPlus img, Model model, TrackMate trackmate, Settings modelsettings, DisplaySettings displaysettings, Map settings, final Logger logger, double[] calibration, boolean addDisplay) { @@ -239,4 +241,6 @@ public OneatCorrectorFactory copy() { } + + } diff --git a/src/main/java/fiji/plugin/trackmate/action/oneat/OneatExporterAction.java b/src/main/java/fiji/plugin/trackmate/action/oneat/OneatExporterAction.java index c3efcb2..3cd4134 100644 --- a/src/main/java/fiji/plugin/trackmate/action/oneat/OneatExporterAction.java +++ b/src/main/java/fiji/plugin/trackmate/action/oneat/OneatExporterAction.java @@ -64,6 +64,7 @@ import net.imglib2.type.numeric.NumericType; import net.imglib2.type.numeric.RealType; import net.imglib2.type.numeric.integer.UnsignedShortType; +import net.imglib2.type.numeric.real.FloatType; public class OneatExporterAction < T extends NativeType< T > & NumericType< T > > extends AbstractTMAction { @@ -167,7 +168,7 @@ else if (img.numDimensions() == 5) { } @SuppressWarnings({ "rawtypes", "unchecked" }) - final ImgPlus< UnsignedShortType > intimg = (ImgPlus) detectionimg; + final ImgPlus< FloatType > intimg = (ImgPlus) detectionimg; OneatCorrector oneatcorrector = corrector.create(intimg, model, trackmate, settings, displaySettings, mapsettings, logger, calibration, false ); diff --git a/src/main/java/fiji/plugin/trackmate/action/oneat/TrackCorrectorFactory.java b/src/main/java/fiji/plugin/trackmate/action/oneat/TrackCorrectorFactory.java index d1ad109..48e244d 100644 --- a/src/main/java/fiji/plugin/trackmate/action/oneat/TrackCorrectorFactory.java +++ b/src/main/java/fiji/plugin/trackmate/action/oneat/TrackCorrectorFactory.java @@ -33,7 +33,8 @@ import fiji.plugin.trackmate.tracking.SpotTracker; import fiji.plugin.trackmate.tracking.TrackerKeys; import net.imagej.ImgPlus; -import net.imglib2.type.numeric.integer.UnsignedShortType; +import net.imglib2.type.numeric.real.FloatType; + /** * Interface for track corrector factories that need to process all the tracks at @@ -44,7 +45,7 @@ public interface TrackCorrectorFactory extends TrackMateModule { - public TrackCorrector create( ImgPlus< UnsignedShortType > img, Model model, TrackMate trackmate, Settings modelsettings, DisplaySettings displaysettings, + public TrackCorrector create( ImgPlus< FloatType > img, Model model, TrackMate trackmate, Settings modelsettings, DisplaySettings displaysettings, final Map< String, Object > settings, final Logger logger, final double[] calibration, final boolean addDisplay ); /** diff --git a/src/main/java/fiji/plugin/trackmate/action/oneat/TrackCorrectorRunner.java b/src/main/java/fiji/plugin/trackmate/action/oneat/TrackCorrectorRunner.java index cd6a480..9553ecc 100644 --- a/src/main/java/fiji/plugin/trackmate/action/oneat/TrackCorrectorRunner.java +++ b/src/main/java/fiji/plugin/trackmate/action/oneat/TrackCorrectorRunner.java @@ -69,7 +69,7 @@ import net.imglib2.img.display.imagej.ImgPlusViews; import net.imglib2.type.NativeType; import net.imglib2.type.numeric.RealType; -import net.imglib2.type.numeric.integer.UnsignedShortType; +import net.imglib2.type.numeric.real.FloatType; import net.imglib2.util.LinAlgHelpers; import net.imglib2.util.Pair; import net.imglib2.util.ValuePair; @@ -235,7 +235,7 @@ public static List> LinkCreator(final Model model, final Tra HashMap, Pair> uniquelabelID, Pair, HashMap>> DividingStartspots, HashMap>> Mitosisspots, Map settings, final int ndim, - final Logger logger, final ImgPlus img, HashMap> framespots, + final Logger logger, final ImgPlus img, HashMap> framespots, int numThreads, double[] calibration, boolean addDisplay) { // Get the trackmodel and spots in the default tracking result and start to @@ -563,7 +563,7 @@ public static SimpleWeightedGraph getCorrectedTracks( Pair, HashMap>> DividingStartspots, HashMap>> Mitosisspots, HashMap> Apoptosisspots, Map settings, final int ndim, - final Logger logger, final ImgPlus img, HashMap> framespots, + final Logger logger, final ImgPlus img, HashMap> framespots, int numThreads, double[] calibration, boolean addDisplay) throws InterruptedException, ExecutionException { // Get the trackmodel and spots in the default tracking result and start to @@ -717,7 +717,7 @@ private static void addOverlay(final Roi overlay, final ImagePlus imp, final Spo } - private static SpotCollection regionspot(final ImgPlus img, final SpotCollection allspots, + private static SpotCollection regionspot(final ImgPlus img, final SpotCollection allspots, final Spot motherspot, final Logger logger, final double[] calibration, final int frame, final double region, final double[] motherslope, final double mariangle, final boolean mariprinciple) { @@ -800,7 +800,7 @@ private static Pair getEigen(final Ellipsoid ellipsoid, int } - private static Ellipsoid getEllipsoid(Spot currentspot, ImgPlus img, double[] calibration) { + private static Ellipsoid getEllipsoid(Spot currentspot, ImgPlus img, double[] calibration) { int ndim = img.numDimensions(); Ellipsoid currentellipsoid = null; @@ -809,19 +809,19 @@ private static Ellipsoid getEllipsoid(Spot currentspot, ImgPlus frameimg = ImgPlusViews.hyperSlice(img, ndim - 1, + ImgPlus frameimg = ImgPlusViews.hyperSlice(img, ndim - 1, (int) currentspot.getFeature(Spot.FRAME).intValue()); long[] location = new long[ndim - 1]; - RandomAccess ranac = frameimg.randomAccess(); + RandomAccess ranac = frameimg.randomAccess(); for (int d = 0; d < ndim - 1; ++d) { location[d] = (long) (currentspot.getDoublePosition(d) / calibration[d]); ranac.setPosition(location[d], d); } - int label = ranac.get().get(); + int label = (int) ranac.get().get(); - Cursor cur = frameimg.localizingCursor(); + Cursor cur = frameimg.localizingCursor(); ArrayList points = new ArrayList(); while (cur.hasNext()) { @@ -935,11 +935,11 @@ private static double[] computeAxisAndRadiiFromCovariance(double[][] covariance, * list of dividing spots for that track */ public static Pair, Pair>, Pair, HashMap>>> getFirstTrackMateobject( - final Model model, final ImgPlus img, final Logger logger, double[] calibration) { + final Model model, final ImgPlus img, final Logger logger, double[] calibration) { Pair, HashMap>> DividingStartspots = getTMStartSplit(model); int ndim = img.numDimensions() - 1; - RandomAccess ranac = img.randomAccess(); + RandomAccess ranac = img.randomAccess(); Set AllTrackIds = model.getTrackModel().trackIDs(true); HashMap, Pair> uniquelabelID = new HashMap, Pair>(); @@ -964,7 +964,7 @@ public static Pair, Pair>, Pair(label, frame), new ValuePair(spot, trackID)); @@ -981,7 +981,7 @@ public static Pair, Pair>, Pair & NativeType> HashMap> getapoptosisTrackID( HashMap, Pair> uniquelabelID, Pair, HashMap>> DividingStartspots, final Model model, - final ImgPlus img, HashMap> framespots, + final ImgPlus img, HashMap> framespots, final Map mapsettings, final Logger logger, final int numThreads, double[] calibration) { // Starting point of the tree + apoptotic spot in the trackID @@ -989,7 +989,7 @@ public static & NativeType> HashMap ranac = img.randomAccess(); + RandomAccess ranac = img.randomAccess(); logger.log("Matching with oneat apoptosis spots.\n"); logger.setProgress(1.); @@ -1013,7 +1013,7 @@ public static & NativeType> HashMap Alllabels = new ArrayList(); - int labelID = ranac.get().get(); + int labelID = (int) ranac.get().get(); if (labelID != 0) Alllabels.add(labelID); @@ -1053,7 +1053,7 @@ public static & NativeType> HashMap & NativeType> HashMap>> getmitosisTrackID( HashMap, Pair> uniquelabelID, Pair, HashMap>> DividingStartspots, final Model model, - final ImgPlus img, HashMap> framespots, + final ImgPlus img, HashMap> framespots, final Map mapsettings, final Logger logger, final int numThreads, double[] calibration) { // Starting point of the tree + list of mitosis spots in the trackID @@ -1062,7 +1062,7 @@ public static & NativeType> HashMap ranac = img.randomAccess(); + RandomAccess ranac = img.randomAccess(); logger.log("Matching with oneat mitosis spots.\n"); logger.setProgress(1.); @@ -1087,7 +1087,7 @@ public static & NativeType> HashMap Alllabels = new ArrayList(); - int labelID = ranac.get().get(); + int labelID = (int) ranac.get().get(); if (labelID != 0) Alllabels.add(labelID); @@ -1152,7 +1152,7 @@ public static & NativeType> HashMap BreakLinksTrack(final Model model, HashMap, Pair> uniquelabelID, Pair, HashMap>> DividingStartspots, - HashMap> framespots, final ImgPlus img, final Logger logger, + HashMap> framespots, final ImgPlus img, final Logger logger, final SimpleWeightedGraph graph, double[] calibration, int N) { int count = 0; @@ -1163,7 +1163,7 @@ private static SimpleWeightedGraph BreakLinksTrack(fi Set AllTrackIds = model.getTrackModel().trackIDs(true); - RandomAccess ranac = img.randomAccess(); + RandomAccess ranac = img.randomAccess(); ArrayList DividingTrackids = new ArrayList(); for (Map.Entry> framemap : framespots.entrySet()) { @@ -1184,7 +1184,7 @@ private static SimpleWeightedGraph BreakLinksTrack(fi } ranac.setPosition(frame, ndim); // Get the label ID of the current interesting spot - int labelID = ranac.get().get(); + int labelID = (int) ranac.get().get(); if (uniquelabelID.containsKey(new ValuePair(labelID, frame))) { Pair spotandtrackID = uniquelabelID