public class CacheMaker
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static boolean |
useCubicForOblique |
static boolean |
useIsometricCubicForOblique |
Constructor and Description |
---|
CacheMaker() |
Modifier and Type | Method and Description |
---|---|
static IntegerIndexSpaceID |
computeBestBlockShape(AxisOrdering iteratorOrdering,
int[] axisLengths,
int elementByteSize,
long memAvailable) |
static void |
computeCacheArrayDimensions(float[] normal,
int[] planeShape,
int[] cacheBlockDimensions,
int[] cacheArrayDimensions,
int projectionAxis,
int max2Axis,
boolean threaded) |
static void |
computeCacheBlockDimensions(int s,
int[] cacheBlockDimensions,
float[] normal,
int[] spaceDimensions,
int dimensionality) |
static boolean |
computeDimensions(int[] cacheBlockDimensions,
int[] cacheArrayDimensions,
float[] normal,
float[] truePlaneNormal,
int[] planeShape,
int[] boundingBoxDimensions,
int projectionAxis,
int dimensionality,
int elementByteSize,
long memAvailable,
boolean threaded) |
static int |
computeMaxScaleFactor(int projectionAxis,
int[] spaceDimensions) |
static long |
computeRequiredMemory(int[] cacheBlockDimensions,
int[] cacheArrayDimensions,
int elementByteSize) |
static DataSource |
createCacheDS(ChunkedDataSource source,
ISIterator iter,
long memAvailable) |
static DataSource |
createCacheDS(DataSource source,
ISBounds iterationSpace,
AxisOrdering iteratorOrdering,
long memAvailable) |
static DataSource |
createCacheDS(DataSource source,
ISBoundsIterator iter,
long memAvailable) |
static DataSource |
createCacheDS(DataSource source,
ISIterator iter,
long memAvailable) |
static DataSource |
createCacheDS(ObliquePlaneIteratorInterface iter,
int[] cacheBlockDimensions,
long memAvailable)
Create a MultiBlockCache for the given ObliquePlaneIterator using cache blocks
of the specified dimensions.
|
static DataSource |
createCacheDS(ObliquePlaneIteratorInterface iter,
int[] cacheBlockDimensions,
long memAvailable,
boolean threaded)
Create a MultiBlockCache for the given ObliquePlaneIterator using cache blocks
of the specified dimensions.
|
static DataSource |
createCacheDS(ObliquePlaneIteratorInterface iter,
long memAvailable) |
static DataSource |
createCacheDS(ObliquePlaneIteratorInterface iter,
long memAvailable,
boolean threaded) |
static DataSource |
createThreadedCacheDS(DataSource source,
ISBoundsIterator iter,
long memAvailable) |
static DataSource |
createThreadedCacheDS(DataSource source,
ISIterator iter,
long memAvailable) |
static DataSource |
createThreadedSliceCacheDS(DataSource source,
ISBounds iterationSpace,
int sliceAxis,
long memAvailable) |
static DataSource |
createThreadedSliceCacheDS(DataSource source,
ISBoundsIterator iter,
long memAvailable) |
static DataSource |
createThreadedSliceCacheDS(DataSource source,
ISIterator iter,
long memAvailable) |
static int |
findMax(float[] normal) |
static int |
findMin(float[] normal) |
protected static int |
findSecondMax(float[] vector,
int maxindex)
Return the index of the element with second largest magnitude
|
static void |
main(java.lang.String[] args) |
protected static void |
massage(float[] vector)
This method finds the smallest magnitude non-zero coordinate and
divides the other coordinates by this value.
|
static boolean |
reduceNormal(float[] normal) |
public static boolean useCubicForOblique
public static boolean useIsometricCubicForOblique
public static DataSource createCacheDS(DataSource source, ISIterator iter, long memAvailable)
public static DataSource createCacheDS(DataSource source, ISBounds iterationSpace, AxisOrdering iteratorOrdering, long memAvailable)
public static DataSource createCacheDS(DataSource source, ISBoundsIterator iter, long memAvailable)
public static DataSource createCacheDS(ChunkedDataSource source, ISIterator iter, long memAvailable)
public static DataSource createCacheDS(ObliquePlaneIteratorInterface iter, long memAvailable)
public static DataSource createCacheDS(ObliquePlaneIteratorInterface iter, long memAvailable, boolean threaded)
public static DataSource createCacheDS(ObliquePlaneIteratorInterface iter, int[] cacheBlockDimensions, long memAvailable)
public static DataSource createCacheDS(ObliquePlaneIteratorInterface iter, int[] cacheBlockDimensions, long memAvailable, boolean threaded)
public static boolean reduceNormal(float[] normal)
public static int findMax(float[] normal)
public static int findMin(float[] normal)
protected static int findSecondMax(float[] vector, int maxindex)
public static boolean computeDimensions(int[] cacheBlockDimensions, int[] cacheArrayDimensions, float[] normal, float[] truePlaneNormal, int[] planeShape, int[] boundingBoxDimensions, int projectionAxis, int dimensionality, int elementByteSize, long memAvailable, boolean threaded)
public static long computeRequiredMemory(int[] cacheBlockDimensions, int[] cacheArrayDimensions, int elementByteSize)
public static int computeMaxScaleFactor(int projectionAxis, int[] spaceDimensions)
public static void computeCacheBlockDimensions(int s, int[] cacheBlockDimensions, float[] normal, int[] spaceDimensions, int dimensionality)
public static void computeCacheArrayDimensions(float[] normal, int[] planeShape, int[] cacheBlockDimensions, int[] cacheArrayDimensions, int projectionAxis, int max2Axis, boolean threaded)
protected static void massage(float[] vector)
public static DataSource createThreadedCacheDS(DataSource source, ISIterator iter, long memAvailable)
public static DataSource createThreadedCacheDS(DataSource source, ISBoundsIterator iter, long memAvailable)
public static DataSource createThreadedSliceCacheDS(DataSource source, ISIterator iter, long memAvailable)
public static DataSource createThreadedSliceCacheDS(DataSource source, ISBounds iterationSpace, int sliceAxis, long memAvailable)
public static DataSource createThreadedSliceCacheDS(DataSource source, ISBoundsIterator iter, long memAvailable)
public static IntegerIndexSpaceID computeBestBlockShape(AxisOrdering iteratorOrdering, int[] axisLengths, int elementByteSize, long memAvailable)
public static void main(java.lang.String[] args)