package org.knime.knip.tracking.nodes.laptracker; import java.util.Map; import org.knime.knip.tracking.data.TrackedNode; import fiji.plugin.trackmate.tracking.oldlap.costfunction.CostCalculator; import fiji.plugin.trackmate.util.FeatureHolderUtils; import fiji.plugin.trackmate.util.TrackableObjectUtils; @Deprecated public class KNIPCostCalculator<L extends Comparable<L>> implements CostCalculator<TrackedNode<L>> { @Override public double computeLinkingCostFor(final TrackedNode<L> t0, final TrackedNode<L> t1, final double distanceCutOff, final double blockingValue, final Map<String, Double> featurePenalties) { final double d2 = TrackableObjectUtils.squareDistanceTo(t0, t1); // Distance threshold if (d2 > distanceCutOff * distanceCutOff) { return blockingValue; } double penalty = 1; for (final String feature : featurePenalties.keySet()) { final double ndiff = FeatureHolderUtils.normalizeDiffTo(t0, t1, feature); if (Double.isNaN(ndiff)) continue; final double factor = featurePenalties.get(feature); penalty += factor * 1.5 * ndiff; } // Set score return d2 * penalty * penalty; } }