Class CorrespondenceTools

java.lang.Object
net.preibisch.mvrecon.fiji.spimdata.interestpoints.CorrespondenceTools

public class CorrespondenceTools extends Object
Utility methods for managing interest point correspondences.
  • Constructor Details

    • CorrespondenceTools

      public CorrespondenceTools()
  • Method Details

    • removeCorrespondencesToViews

      public static int removeCorrespondencesToViews(ViewInterestPoints vip, Set<mpicbg.spim.data.sequence.ViewId> viewsToRemove, int numThreads)
      Removes all correspondences pointing TO the specified views from ALL other views. Multithreaded - one thread per target view being cleaned. Used by MissingViewsPopup when removing entire views.
      Parameters:
      vip - ViewInterestPoints containing all interest point data
      viewsToRemove - Set of ViewIds whose correspondences should be removed
      numThreads - Number of threads to use
      Returns:
      Number of correspondence entries removed
    • removeCorrespondencesNotToViews

      public static int removeCorrespondencesNotToViews(ViewInterestPoints vip, Set<mpicbg.spim.data.sequence.ViewId> viewsToKeep, int numThreads)
      Inverse of removeCorrespondencesToViews(net.preibisch.mvrecon.fiji.spimdata.interestpoints.ViewInterestPoints, java.util.Set<mpicbg.spim.data.sequence.ViewId>, int): removes correspondences whose correspondingViewId is NOT in the given set of views to keep. Multithreaded - one thread per source view being cleaned. Useful for repair flows where some target views were deleted entirely from the SpimData (so they don't appear as orphan IP-map keys at all) — filtering by a set of "removed" views misses those refs, while filtering against the canonical set of valid views catches them. Only iterates views that are present in viewsToKeep (orphan IP-map entries, if any, are skipped — they are typically about to be deleted anyway).
      Parameters:
      vip - ViewInterestPoints containing all interest point data
      viewsToKeep - Set of ViewIds whose correspondences are valid; correspondences pointing to any other ViewId are dropped
      numThreads - Number of threads to use
      Returns:
      Number of correspondence entries removed
    • removeCorrespondencesToLabel

      public static int removeCorrespondencesToLabel(ViewInterestPoints vip, String label, int numThreads)
      Removes correspondences whose correspondingLabel equals the given label, from every view's every (other) interest-point list. Multithreaded - one thread per source view being cleaned. Useful when a label is being removed across the whole dataset: after dropping the (view, label) entries themselves, call this to also drop the cross-references in the remaining labels' correspondence lists.
      Parameters:
      vip - ViewInterestPoints containing all interest point data
      label - The corresponding-label value whose references should be dropped
      numThreads - Number of threads to use
      Returns:
      Number of correspondence entries removed
    • removeCorrespondencesForViewLabel

      public static int removeCorrespondencesForViewLabel(ViewInterestPoints vip, mpicbg.spim.data.sequence.ViewId viewId, String label, int numThreads)
      Removes correspondences pointing to a specific view+label from all other views. Multithreaded - one thread per target view being cleaned. Used by InterestPointExplorerPanel when deleting a single label.
      Parameters:
      vip - ViewInterestPoints containing all interest point data
      viewId - The ViewId whose label is being deleted
      label - The label being deleted
      numThreads - Number of threads to use
      Returns:
      Number of correspondence entries removed