Class SplitDistributeEvenly

java.lang.Object
net.preibisch.mvrecon.process.splitting.SplitDistributeEvenly
All Implemented Interfaces:
SplitView

public class SplitDistributeEvenly extends Object implements SplitView
  • Field Details

    • defaultImgX

      public static long defaultImgX
    • defaultImgY

      public static long defaultImgY
    • defaultImgZ

      public static long defaultImgZ
    • defaultOverlapX

      public static long defaultOverlapX
    • defaultOverlapY

      public static long defaultOverlapY
    • defaultOverlapZ

      public static long defaultOverlapZ
    • defaultOptimize

      public static boolean defaultOptimize
  • Constructor Details

    • SplitDistributeEvenly

      public SplitDistributeEvenly(SpimData2 spimData, long[] overlapPx, long[] targetSize, long[] minStepSize, boolean optimize)
  • Method Details

    • split

      Description copied from interface: SplitView
      Split a single view into sub-intervals.
      Specified by:
      split in interface SplitView
      Parameters:
      viewId - the view to split
      Returns:
      split result containing intervals and statistics, or null on error
    • aggregateStatistics

      public String aggregateStatistics(List<? extends SplitResult> results)
      Description copied from interface: SplitView
      Aggregate statistics from multiple split results into a summary string. Called after parallel splitting to produce a single log message.
      Specified by:
      aggregateStatistics in interface SplitView
      Parameters:
      results - list of per-view split results
      Returns:
      formatted summary string
    • maxIntervalSpread

      public int maxIntervalSpread(List<mpicbg.spim.data.sequence.ViewSetup> oldSetups)
      Description copied from interface: SplitView
      Compute the maximum number of intervals any single view could produce. Used to determine tile ID spacing.
      Specified by:
      maxIntervalSpread in interface SplitView
      Parameters:
      oldSetups - the view setups to consider
      Returns:
      upper bound on interval count per view
    • splitInterval

      public ArrayList<net.imglib2.Interval> splitInterval(net.imglib2.Interval input)
      Split an interval into uniform sub-intervals with overlap. Sizes are constrained to be divisible by minStepSize for multi-resolution compatibility.
    • splitDim

      public static ArrayList<net.imglib2.util.Pair<Long,Long>> splitDim(net.imglib2.Interval input, int d, long s, long o)
    • lastImageSize

      public static long lastImageSize(long l, long s, long o)
    • description

      public String description()
      Specified by:
      description in interface SplitView
      Returns:
      human-readable description of this splitter's configuration
    • setupGUI

      public static void setupGUI(ij.gui.GenericDialog gd, SpimData2 data, long[] minStepSize)
    • queryGUI

      public static SplitDistributeEvenly queryGUI(ij.gui.GenericDialog gd, SpimData2 data, long[] minStepSize)
    • closestSmallerLongDivisableBy

      public static long closestSmallerLongDivisableBy(long a, long b)
    • closestLargerLongDivisableBy

      public static long closestLargerLongDivisableBy(long a, long b)
    • closestLongDivisableBy

      public static long closestLongDivisableBy(long a, long b)
    • main

      public static void main(String[] args)