Package loci.formats.cache
Class RectangleStrategy
java.lang.Object
loci.formats.cache.CacheStrategy
loci.formats.cache.RectangleStrategy
- All Implemented Interfaces:
Comparator,CacheReporter,ICacheStrategy
A rectangle strategy caches planes extending from the the current
dimensional position along each axis and combination 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),
the next and previous time points (Z5-C2-T19 and Z5-C2-T17), and
all combinations thereof (Z6-C3-T18, Z6-C1-T18, Z4-C3-T18, Z4-C1-T18,
Z6-C3-T19, etc.).
Planes closest to the current position are loaded first, with axes prioritized according to the cache strategy's priority settings.
To illustrate the rectangle 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-T3).
T 0 1 2 3 4 5 6
Z /---------------------
0 | 24 20 6 14 22
1 | 18 12 2 10 16
2 | 8 4 0 3 7
3 | 17 11 1 9 15
4 | 23 19 5 13 21
-
Field Summary
Fields inherited from class loci.formats.cache.CacheStrategy
DEFAULT_RANGE, lengths, listeners, order, priorities, rangeFields inherited from interface loci.formats.cache.ICacheStrategy
BACKWARD_ORDER, CENTERED_ORDER, FORWARD_ORDER, HIGH_PRIORITY, LOW_PRIORITY, MAX_PRIORITY, MIN_PRIORITY, NORMAL_PRIORITY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected int[][]Gets positions to consider for possible inclusion in the cache, assuming a current position at the origin (0).Methods inherited from class loci.formats.cache.CacheStrategy
addCacheListener, compare, distance, getCacheListeners, getLengths, getLoadList, getOrder, getPriorities, getRange, length, notifyListeners, pos, pos, raster, removeCacheListener, setOrder, setPriority, setRangeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.Comparator
equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
-
Constructor Details
-
RectangleStrategy
public RectangleStrategy(int[] lengths) Constructs a rectangle strategy.
-
-
Method Details
-
getPossiblePositions
protected int[][] getPossiblePositions()Description copied from class:CacheStrategyGets positions to consider for possible inclusion in the cache, assuming a current position at the origin (0).- Specified by:
getPossiblePositionsin classCacheStrategy
-