public interface ImarisCacheOptions<T> extends org.scijava.optional.Options<T>
ImarisCachedCellImg
or ImarisDataset
.Modifier and Type | Interface and Description |
---|---|
static interface |
ImarisCacheOptions.Val |
Modifier and Type | Method and Description |
---|---|
default T |
initializeCellsAsDirty(boolean initializeAsDirty)
Specify whether cells initialized by a
CellLoader should be
marked as dirty. |
default T |
maxIoQueueSize(int maxIoQueueSize)
Set the maximum size of the disk write queue.
|
default T |
numIoThreads(int numIoThreads)
The specified number of threads is started to handle asynchronous writing
of values that are evicted from the memory cache.
|
default T |
persistOnLoad(boolean persistOnLoad)
Specify whether cells initialized by a
CellLoader should be
immediately persisted to Imaris. |
setValue
default T numIoThreads(int numIoThreads)
numIoThreads
- how many writer threads to start (default is 1).default T maxIoQueueSize(int maxIoQueueSize)
Because processing of removed entries is done whenever the cache is accessed, this may also block accesses to the cache. (This is a good thing, because it avoids running out of memory because entries cannot be cleared fast enough...)
maxIoQueueSize
- the maximum size of the write queue (default is 10).default T initializeCellsAsDirty(boolean initializeAsDirty)
CellLoader
should be
marked as dirty. It is useful to set this to true
if
initialization is a costly operation. By this, it is made sure that cells
are initialized only once, and then written and retrieved from Imaris
when they are next required.
This is false
by default.
This option only has an effect for ImarisCachedCellImg
that are
created with a CellLoader
(ImarisCachedCellImgFactory.create(long[], CellLoader)
).
initializeAsDirty
- whether cells initialized by a CellLoader
should be
marked as dirty.default T persistOnLoad(boolean persistOnLoad)
CellLoader
should be
immediately persisted to Imaris. It is useful to set this to true
for images that are lazily populated by a CellLoader
representing
the result of some image processing operation. In this scenario, the image
is usually fully populated through the CellLoader
by touching a
pixel in each cell, followed by persisting
the
whole image to Imaris. It makes sense then, to immediately start writing
computed blocks to overlap computation and persisting.
This is false
by default.
This option only has an effect for ImarisCachedCellImg
that are
created with a CellLoader
(ImarisCachedCellImgFactory.create(long[], CellLoader)
).
Note that it doesn't make much sense to use this with #initializeCellsAsDirty
: by definition newly initialized cells will by
clean because they are immediately persisted to backing storage.
persistOnLoad
- whether cells initialized by a CellLoader
should be
immediately persisted to Imaris.Copyright © 2019–2021 Imaris. All rights reserved.