A
- access typepublic class ImarisLabelCache<A> extends Object implements CacheRemover<Long,Cell<A>,A>, CacheLoader<Long,Cell<A>>
CacheRemover
/CacheLoader
for writing/reading cells
to an Imaris IDataset
. It translates integer labels on the ImgLib2 side to
channels on the Imaris side.
Blocks which are not in the cache (yet) are obtained from a backing
CacheLoader
. Typically the backing loader will just create empty cells.
A ImarisLabelCache
should be connected to a in-memory cache through
IoSync
if the cache will be used concurrently by multiple threads!
defaultParallelismThreshold
Modifier | Constructor and Description |
---|---|
|
ImarisLabelCache(Imaris.IDataSetPrx dataset,
PrimitiveType primitiveType,
int[] mapDimensions,
CellGrid grid,
CacheLoader<Long,Cell<A>> backingLoader,
boolean persistOnLoad) |
protected |
ImarisLabelCache(Imaris.IDataSetPrx dataset,
PrimitiveType primitiveType,
int[] mapDimensions,
CellGrid grid,
CacheLoader<Long,Cell<A>> backingLoader,
boolean persistOnLoad,
boolean withDirtyFlag) |
Modifier and Type | Method and Description |
---|---|
A |
extract(Cell<A> value) |
Cell<A> |
get(Long key) |
void |
invalidate(Long key) |
void |
invalidateAll(long parallelismThreshold) |
void |
invalidateIf(long parallelismThreshold,
Predicate<Long> condition) |
void |
onRemoval(Long key,
A valueData) |
CompletableFuture<Void> |
persist(Long key,
A valueData) |
Cell<A> |
reconstruct(Long key,
A valueData) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
invalidateAll, invalidateIf
public ImarisLabelCache(Imaris.IDataSetPrx dataset, PrimitiveType primitiveType, int[] mapDimensions, CellGrid grid, CacheLoader<Long,Cell<A>> backingLoader, boolean persistOnLoad) throws Imaris.Error
Imaris.Error
protected ImarisLabelCache(Imaris.IDataSetPrx dataset, PrimitiveType primitiveType, int[] mapDimensions, CellGrid grid, CacheLoader<Long,Cell<A>> backingLoader, boolean persistOnLoad, boolean withDirtyFlag) throws Imaris.Error
Imaris.Error
public Cell<A> reconstruct(Long key, A valueData)
reconstruct
in interface CacheRemover<Long,Cell<A>,A>
public CompletableFuture<Void> persist(Long key, A valueData)
public void invalidate(Long key)
invalidate
in interface CacheRemover<Long,Cell<A>,A>
invalidate
in interface Invalidate<Long>
public void invalidateIf(long parallelismThreshold, Predicate<Long> condition)
invalidateIf
in interface CacheRemover<Long,Cell<A>,A>
invalidateIf
in interface Invalidate<Long>
public void invalidateAll(long parallelismThreshold)
invalidateAll
in interface CacheRemover<Long,Cell<A>,A>
invalidateAll
in interface Invalidate<Long>
Copyright © 2019–2021 Imaris. All rights reserved.