Class OMEZarrWriter.Builder
java.lang.Object
qupath.lib.images.writers.ome.zarr.OMEZarrWriter.Builder
- Enclosing class:
OMEZarrWriter
Builder to create an instance of a
OMEZarrWriter.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCreate a new instance ofOMEZarrWriter.compression(com.bc.zarr.Compressor compressor) Set the compressor to use when writing tiles.downsamples(double... downsamples) Enable the creation of a pyramidal image with the provided downsamples.onTileWritten(Consumer<TileRequest> onTileWritten) Set a function that will be called each time aTileRequestis successfully or unsuccessfully written.parallelize(int numberOfThreads) Tiles will be written from a pool of thread.region(ImageRegion boundingBox) Define a region (on the x-axis and y-axis) of the input image to consider.setMaxNumberOfChunksOnEachSpatialDimension(int maxNumberOfChunks) In Zarr images, data is stored in chunks.tileSize(int tileSize) In Zarr images, data is stored in chunks.tileSize(int tileWidth, int tileHeight) In Zarr images, data is stored in chunks.timePoints(int tStart, int tEnd) Define the timepoints of the input image to consider.zSlices(int zStart, int zEnd) Define the z-slices of the input image to consider.
-
Constructor Details
-
Builder
Create the builder.- Parameters:
server- the image to write- Throws:
NullPointerException- if the provided server is null
-
-
Method Details
-
compression
Set the compressor to use when writing tiles. By default, the blocs compression is used.- Parameters:
compressor- the compressor to use when writing tiles- Returns:
- this builder
- Throws:
NullPointerException- if the provided compressor is null
-
parallelize
Tiles will be written from a pool of thread. This function specifies the number of threads to use. By default,ThreadTools.getParallelism()threads are used.- Parameters:
numberOfThreads- the number of threads to use when writing tiles- Returns:
- this builder
- Throws:
IllegalArgumentException- if the provided number of threads is less than 1
-
downsamples
Enable the creation of a pyramidal image with the provided downsamples. The levels corresponding to the provided downsamples will be automatically generated.If this function is not called (or if it is called with no parameters), the downsamples of the provided image server will be used instead.
- Parameters:
downsamples- the downsamples of the pyramid to generate- Returns:
- this builder
-
setMaxNumberOfChunksOnEachSpatialDimension
In Zarr images, data is stored in chunks. This parameter defines the maximum number of chunks on the x,y, and z dimensions. By default, this value is set to -1.Use a negative value to not define any maximum number of chunks.
- Parameters:
maxNumberOfChunks- the maximum number of chunks on the x,y, and z dimensions- Returns:
- this builder
-
tileSize
In Zarr images, data is stored in chunks. This parameter defines the size of chunks on the x and y dimensions. By default, these values are set to -1.Use a negative value to use the tile width/height of the provided image server.
The provided tile width/height may not be used if this implies creating more chunks than the value given in
setMaxNumberOfChunksOnEachSpatialDimension(int).- Parameters:
tileSize- the width/height each chunk should have- Returns:
- this builder
-
tileSize
In Zarr images, data is stored in chunks. This parameter defines the size of chunks on the x and y dimensions. By default, these values are set to -1.Use a negative value to use the tile width/height of the provided image server.
The provided tile width/height may not be used if this implies creating more chunks than the value given in
setMaxNumberOfChunksOnEachSpatialDimension(int).- Parameters:
tileWidth- the width each chunk should havetileHeight- the height each chunk should have- Returns:
- this builder
-
region
Define a region (on the x-axis and y-axis) of the input image to consider.- Parameters:
boundingBox- the region to consider. Only the x, y, width, and height of this region are taken into account. Can be null to use the entire image. Null by default- Returns:
- this builder
-
zSlices
Define the z-slices of the input image to consider.- Parameters:
zStart- the 0-based inclusive index of the first z-slice to consider. 0 by defaultzEnd- the 0-based exclusive index of the last z-slice to consider. Equal to the number of z-slices of the image by default- Returns:
- this builder
- Throws:
IllegalArgumentException- if the min z-slice index is greater than the max z-slice index
-
timePoints
Define the timepoints of the input image to consider.- Parameters:
tStart- the 0-based inclusive index of the first timepoint to consider. 0 by defaulttEnd- the 0-based exclusive index of the last timepoint to consider. Equal to the number of timepoints of the image by default- Returns:
- this builder
- Throws:
IllegalArgumentException- if the min timepoint index is greater than the max timepoint index
-
onTileWritten
Set a function that will be called each time aTileRequestis successfully or unsuccessfully written.This function may be called from any thread.
- Parameters:
onTileWritten- a function that will be called each time aTileRequestis successfully or unsuccessfully written- Returns:
- this builder
- Throws:
NullPointerException- if the provided parameter is null
-
build
Create a new instance ofOMEZarrWriter. This will also create an empty image on the provided path.- Parameters:
path- the path where to write the image. It must end with ".ome.zarr" and shouldn't already exist- Returns:
- the new
OMEZarrWriter - Throws:
InvalidPathException- if a path object cannot be created from the provided pathIOException- if the empty image cannot be created. This can happen if the provided path is incorrect or if the user doesn't have enough permissionsIllegalArgumentException- if the provided path doesn't end with ".ome.zarr" or a file/directory already exists at this location
-