Class CrosshairStrategy

java.lang.Object
loci.formats.cache.CacheStrategy
loci.formats.cache.CrosshairStrategy
All Implemented Interfaces:
Comparator, CacheReporter, ICacheStrategy

public class CrosshairStrategy extends CacheStrategy
A crosshair strategy caches planes extending from the the current dimensional position along each individual axis, but not combinations of axes. For example, if the current position is Z5-C2-T18, the strategy will preload the next and previous focal planes (Z6-C2-T18 and Z4-C2-T18), the next and previous channels (Z5-C3-T18 and Z5-C1-T18), and the next and previous time points (Z5-C2-T19 and Z5-C2-T17), but nothing diverging on multiple axes (e.g., Z6-C3-T19 or Z4-C1-T17).

Planes closest to the current position are loaded first, with axes prioritized according to the cache strategy's priority settings.

To illustrate the crosshair strategy, here is a diagram showing a case in 2D with 35 dimensional positions (5Z x 7T). For both Z and T, order is centered, range is 2, and priority is normal. The numbers indicate the order planes will be cached, with "0" corresponding to the current dimensional position (Z2-3T).

      T  0  1  2  3  4  5  6
    Z /---------------------
    0 |           6
    1 |           2
    2 |     8  4  0  3  7
    3 |           1
    4 |           5
 
  • Constructor Details

    • CrosshairStrategy

      public CrosshairStrategy(int[] lengths)
      Constructs a crosshair strategy.
  • Method Details

    • getPossiblePositions

      protected int[][] getPossiblePositions()
      Description copied from class: CacheStrategy
      Gets positions to consider for possible inclusion in the cache, assuming a current position at the origin (0).
      Specified by:
      getPossiblePositions in class CacheStrategy