Package biopb.tensor
Class TensorDescriptor
java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
biopb.tensor.TensorDescriptor
- All Implemented Interfaces:
TensorDescriptorOrBuilder,com.google.protobuf.Message,com.google.protobuf.MessageLite,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,Serializable
public final class TensorDescriptor
extends com.google.protobuf.GeneratedMessageV3
implements TensorDescriptorOrBuilder
Encoded into FlightDescriptor.cmd bytes (identifies the tensor)Protobuf type
biopb.tensor.TensorDescriptor- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classEncoded into FlightDescriptor.cmd bytes (identifies the tensor)Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT, BuilderT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessageLite.InternalOneOfEnum -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intFields inherited from class com.google.protobuf.GeneratedMessageV3
alwaysUseFieldBuilders, unknownFieldsFields inherited from class com.google.protobuf.AbstractMessage
memoizedSizeFields inherited from class com.google.protobuf.AbstractMessageLite
memoizedHashCode -
Method Summary
Modifier and TypeMethodDescriptionbooleanGlobally-unique tensor identifier and primary key (see the tensor identity policy above).com.google.protobuf.ByteStringGlobally-unique tensor identifier and primary key (see the tensor identity policy above).longgetChunkShape(int index) Nominal transfer chunk size per dimension (actual may vary for edge chunks).intNominal transfer chunk size per dimension (actual may vary for edge chunks).Nominal transfer chunk size per dimension (actual may vary for edge chunks).com.google.protobuf.ByteStringOpaque per-source generation token, sampled once at (re-)registration (biopb/biopb#178): the stat signature `mtime_ns:size` for a file/dir source, `iat:<ts>` for a caching proxy's mirror.static TensorDescriptorstatic final com.google.protobuf.Descriptors.DescriptorgetDimLabels(int index) Maps dimension index to semantic label (e.g., ["z", "y", "x"])com.google.protobuf.ByteStringgetDimLabelsBytes(int index) Maps dimension index to semantic label (e.g., ["z", "y", "x"])intMaps dimension index to semantic label (e.g., ["z", "y", "x"])com.google.protobuf.ProtocolStringListMaps dimension index to semantic label (e.g., ["z", "y", "x"])getDtype()Element dtype (numpy-style, e.g., "uint8", "float32", "float64")com.google.protobuf.ByteStringElement dtype (numpy-style, e.g., "uint8", "float32", "float64")booleanWhether this source's bytes are local and cheap to read *right now*.Opaque JSON metadata compatible with OME-NGFF (.zattrs schema).com.google.protobuf.ByteStringOpaque JSON metadata compatible with OME-NGFF (.zattrs schema).com.google.protobuf.Parser<TensorDescriptor>doublegetPhysicalScale(int index) Per-dimension physical pixel size, aligned 1:1 with dim_labels/shape (same length and order).intPer-dimension physical pixel size, aligned 1:1 with dim_labels/shape (same length and order).Per-dimension physical pixel size, aligned 1:1 with dim_labels/shape (same length and order).getPhysicalUnit(int index) Per-dimension unit string for physical_scale (e.g.com.google.protobuf.ByteStringgetPhysicalUnitBytes(int index) Per-dimension unit string for physical_scale (e.g.intPer-dimension unit string for physical_scale (e.g.com.google.protobuf.ProtocolStringListPer-dimension unit string for physical_scale (e.g.getPyramid(int index) Server-advertised resolution pyramid: the ordered levels the server recommends reading this tensor at, coarsest decision made server-side so native (precomputed) pyramids are honored and the precache worker and client request the same scales.intServer-advertised resolution pyramid: the ordered levels the server recommends reading this tensor at, coarsest decision made server-side so native (precomputed) pyramids are honored and the precache worker and client request the same scales.Server-advertised resolution pyramid: the ordered levels the server recommends reading this tensor at, coarsest decision made server-side so native (precomputed) pyramids are honored and the precache worker and client request the same scales.getPyramidOrBuilder(int index) Server-advertised resolution pyramid: the ordered levels the server recommends reading this tensor at, coarsest decision made server-side so native (precomputed) pyramids are honored and the precache worker and client request the same scales.List<? extends PyramidLevelOrBuilder>Server-advertised resolution pyramid: the ordered levels the server recommends reading this tensor at, coarsest decision made server-side so native (precomputed) pyramids are honored and the precache worker and client request the same scales.Dynamic reduction/downsampling method for scaled reads: "nearest", "area", or "precompute" (serve a native on-disk pyramid level).com.google.protobuf.ByteStringDynamic reduction/downsampling method for scaled reads: "nearest", "area", or "precompute" (serve a native on-disk pyramid level).longgetScaleHint(int index) Per-dimension integer downsampling factors for virtual/scaled reads.intPer-dimension integer downsampling factors for virtual/scaled reads.Per-dimension integer downsampling factors for virtual/scaled reads.intlonggetShape(int index) Full array shape (per dimension)intFull array shape (per dimension)Full array shape (per dimension)Optional slice hint - if provided, GetFlightInfo returns only chunks covering this range.Optional slice hint - if provided, GetFlightInfo returns only chunks covering this range.intHow long the server keeps this tensor, in seconds from `add_tensor`.How far the upload backing this tensor has got, when one does; unset for every ordinary (file-backed) source.How far the upload backing this tensor has got, when one does; unset for every ordinary (file-backed) source.booleanOpaque per-source generation token, sampled once at (re-)registration (biopb/biopb#178): the stat signature `mtime_ns:size` for a file/dir source, `iat:<ts>` for a caching proxy's mirror.inthashCode()booleanWhether this source's bytes are local and cheap to read *right now*.booleanOptional slice hint - if provided, GetFlightInfo returns only chunks covering this range.booleanHow long the server keeps this tensor, in seconds from `add_tensor`.booleanHow far the upload backing this tensor has got, when one does; unset for every ordinary (file-backed) source.protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTablefinal booleanstatic TensorDescriptor.Builderstatic TensorDescriptor.BuildernewBuilder(TensorDescriptor prototype) protected TensorDescriptor.BuildernewBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) protected ObjectnewInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused) static TensorDescriptorparseDelimitedFrom(InputStream input) static TensorDescriptorparseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static TensorDescriptorparseFrom(byte[] data) static TensorDescriptorparseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static TensorDescriptorparseFrom(com.google.protobuf.ByteString data) static TensorDescriptorparseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static TensorDescriptorparseFrom(com.google.protobuf.CodedInputStream input) static TensorDescriptorparseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static TensorDescriptorparseFrom(InputStream input) static TensorDescriptorparseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static TensorDescriptorparseFrom(ByteBuffer data) static TensorDescriptorparseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static com.google.protobuf.Parser<TensorDescriptor>parser()voidwriteTo(com.google.protobuf.CodedOutputStream output) Methods inherited from class com.google.protobuf.GeneratedMessageV3
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeExtensionsImmutable, makeMutableCopy, makeMutableCopy, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTagMethods inherited from class com.google.protobuf.AbstractMessage
findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite
addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.protobuf.MessageLite
toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Field Details
-
ARRAY_ID_FIELD_NUMBER
public static final int ARRAY_ID_FIELD_NUMBER- See Also:
-
DIM_LABELS_FIELD_NUMBER
public static final int DIM_LABELS_FIELD_NUMBER- See Also:
-
SHAPE_FIELD_NUMBER
public static final int SHAPE_FIELD_NUMBER- See Also:
-
CHUNK_SHAPE_FIELD_NUMBER
public static final int CHUNK_SHAPE_FIELD_NUMBER- See Also:
-
DTYPE_FIELD_NUMBER
public static final int DTYPE_FIELD_NUMBER- See Also:
-
SLICE_HINT_FIELD_NUMBER
public static final int SLICE_HINT_FIELD_NUMBER- See Also:
-
SCALE_HINT_FIELD_NUMBER
public static final int SCALE_HINT_FIELD_NUMBER- See Also:
-
REDUCTION_METHOD_FIELD_NUMBER
public static final int REDUCTION_METHOD_FIELD_NUMBER- See Also:
-
METADATA_JSON_FIELD_NUMBER
public static final int METADATA_JSON_FIELD_NUMBER- See Also:
-
PYRAMID_FIELD_NUMBER
public static final int PYRAMID_FIELD_NUMBER- See Also:
-
PHYSICAL_SCALE_FIELD_NUMBER
public static final int PHYSICAL_SCALE_FIELD_NUMBER- See Also:
-
PHYSICAL_UNIT_FIELD_NUMBER
public static final int PHYSICAL_UNIT_FIELD_NUMBER- See Also:
-
UPLOAD_STATUS_FIELD_NUMBER
public static final int UPLOAD_STATUS_FIELD_NUMBER- See Also:
-
IS_RESIDENT_FIELD_NUMBER
public static final int IS_RESIDENT_FIELD_NUMBER- See Also:
-
TTL_SECONDS_FIELD_NUMBER
public static final int TTL_SECONDS_FIELD_NUMBER- See Also:
-
CONTENT_VERSION_FIELD_NUMBER
public static final int CONTENT_VERSION_FIELD_NUMBER- See Also:
-
-
Method Details
-
newInstance
- Overrides:
newInstancein classcom.google.protobuf.GeneratedMessageV3
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessageV3
-
getArrayId
Globally-unique tensor identifier and primary key (see the tensor identity policy above). Constructed as source_id (single-tensor) or source_id/field (multi-tensor). Same value as TensorReadOption.array_id.
string array_id = 1;- Specified by:
getArrayIdin interfaceTensorDescriptorOrBuilder- Returns:
- The arrayId.
-
getArrayIdBytes
public com.google.protobuf.ByteString getArrayIdBytes()Globally-unique tensor identifier and primary key (see the tensor identity policy above). Constructed as source_id (single-tensor) or source_id/field (multi-tensor). Same value as TensorReadOption.array_id.
string array_id = 1;- Specified by:
getArrayIdBytesin interfaceTensorDescriptorOrBuilder- Returns:
- The bytes for arrayId.
-
getDimLabelsList
public com.google.protobuf.ProtocolStringList getDimLabelsList()Maps dimension index to semantic label (e.g., ["z", "y", "x"])
repeated string dim_labels = 2;- Specified by:
getDimLabelsListin interfaceTensorDescriptorOrBuilder- Returns:
- A list containing the dimLabels.
-
getDimLabelsCount
public int getDimLabelsCount()Maps dimension index to semantic label (e.g., ["z", "y", "x"])
repeated string dim_labels = 2;- Specified by:
getDimLabelsCountin interfaceTensorDescriptorOrBuilder- Returns:
- The count of dimLabels.
-
getDimLabels
Maps dimension index to semantic label (e.g., ["z", "y", "x"])
repeated string dim_labels = 2;- Specified by:
getDimLabelsin interfaceTensorDescriptorOrBuilder- Parameters:
index- The index of the element to return.- Returns:
- The dimLabels at the given index.
-
getDimLabelsBytes
public com.google.protobuf.ByteString getDimLabelsBytes(int index) Maps dimension index to semantic label (e.g., ["z", "y", "x"])
repeated string dim_labels = 2;- Specified by:
getDimLabelsBytesin interfaceTensorDescriptorOrBuilder- Parameters:
index- The index of the value to return.- Returns:
- The bytes of the dimLabels at the given index.
-
getShapeList
Full array shape (per dimension)
repeated int64 shape = 3;- Specified by:
getShapeListin interfaceTensorDescriptorOrBuilder- Returns:
- A list containing the shape.
-
getShapeCount
public int getShapeCount()Full array shape (per dimension)
repeated int64 shape = 3;- Specified by:
getShapeCountin interfaceTensorDescriptorOrBuilder- Returns:
- The count of shape.
-
getShape
public long getShape(int index) Full array shape (per dimension)
repeated int64 shape = 3;- Specified by:
getShapein interfaceTensorDescriptorOrBuilder- Parameters:
index- The index of the element to return.- Returns:
- The shape at the given index.
-
getChunkShapeList
Nominal transfer chunk size per dimension (actual may vary for edge chunks). This is the grid the tensor's chunks are delivered on, chosen by the server-side adapter that knows how the bytes sit on disk; it is not the store's own block size, and no read is issued at any other granularity. On a *response* it is the grid you will read on -- the tensor's own grid in a describe, and for a scaled read the grid of that response's (already reduced) chunks. It is answered ONLY by GetFlightInfo, which resolves the tensor adapter first: the grid depends on facts that exist only once a specific tensor/scene is bound (its backing chunk layout, its dimension labels, format layout rules, the native pyramid level, the request scale), so a source-level listing cannot own it. The catalog and DataSourceDescriptor.tensors therefore carry it EMPTY -- like pyramid and physical_scale -- and an empty grid is not a usable fallback: a client that needs one for Dask construction, tiling or prefetching must describe the tensor. (Empty also means "old server"; the field has always been optional.) On an upload *request* it is the grid you will write on -- it sets the created store's blocking and the bounds every chunk must land on.
repeated int64 chunk_shape = 4;- Specified by:
getChunkShapeListin interfaceTensorDescriptorOrBuilder- Returns:
- A list containing the chunkShape.
-
getChunkShapeCount
public int getChunkShapeCount()Nominal transfer chunk size per dimension (actual may vary for edge chunks). This is the grid the tensor's chunks are delivered on, chosen by the server-side adapter that knows how the bytes sit on disk; it is not the store's own block size, and no read is issued at any other granularity. On a *response* it is the grid you will read on -- the tensor's own grid in a describe, and for a scaled read the grid of that response's (already reduced) chunks. It is answered ONLY by GetFlightInfo, which resolves the tensor adapter first: the grid depends on facts that exist only once a specific tensor/scene is bound (its backing chunk layout, its dimension labels, format layout rules, the native pyramid level, the request scale), so a source-level listing cannot own it. The catalog and DataSourceDescriptor.tensors therefore carry it EMPTY -- like pyramid and physical_scale -- and an empty grid is not a usable fallback: a client that needs one for Dask construction, tiling or prefetching must describe the tensor. (Empty also means "old server"; the field has always been optional.) On an upload *request* it is the grid you will write on -- it sets the created store's blocking and the bounds every chunk must land on.
repeated int64 chunk_shape = 4;- Specified by:
getChunkShapeCountin interfaceTensorDescriptorOrBuilder- Returns:
- The count of chunkShape.
-
getChunkShape
public long getChunkShape(int index) Nominal transfer chunk size per dimension (actual may vary for edge chunks). This is the grid the tensor's chunks are delivered on, chosen by the server-side adapter that knows how the bytes sit on disk; it is not the store's own block size, and no read is issued at any other granularity. On a *response* it is the grid you will read on -- the tensor's own grid in a describe, and for a scaled read the grid of that response's (already reduced) chunks. It is answered ONLY by GetFlightInfo, which resolves the tensor adapter first: the grid depends on facts that exist only once a specific tensor/scene is bound (its backing chunk layout, its dimension labels, format layout rules, the native pyramid level, the request scale), so a source-level listing cannot own it. The catalog and DataSourceDescriptor.tensors therefore carry it EMPTY -- like pyramid and physical_scale -- and an empty grid is not a usable fallback: a client that needs one for Dask construction, tiling or prefetching must describe the tensor. (Empty also means "old server"; the field has always been optional.) On an upload *request* it is the grid you will write on -- it sets the created store's blocking and the bounds every chunk must land on.
repeated int64 chunk_shape = 4;- Specified by:
getChunkShapein interfaceTensorDescriptorOrBuilder- Parameters:
index- The index of the element to return.- Returns:
- The chunkShape at the given index.
-
getDtype
Element dtype (numpy-style, e.g., "uint8", "float32", "float64")
string dtype = 5;- Specified by:
getDtypein interfaceTensorDescriptorOrBuilder- Returns:
- The dtype.
-
getDtypeBytes
public com.google.protobuf.ByteString getDtypeBytes()Element dtype (numpy-style, e.g., "uint8", "float32", "float64")
string dtype = 5;- Specified by:
getDtypeBytesin interfaceTensorDescriptorOrBuilder- Returns:
- The bytes for dtype.
-
hasSliceHint
public boolean hasSliceHint()Optional slice hint - if provided, GetFlightInfo returns only chunks covering this range. Leave unset/null to return all chunks.
.biopb.tensor.SliceHint slice_hint = 6;- Specified by:
hasSliceHintin interfaceTensorDescriptorOrBuilder- Returns:
- Whether the sliceHint field is set.
-
getSliceHint
Optional slice hint - if provided, GetFlightInfo returns only chunks covering this range. Leave unset/null to return all chunks.
.biopb.tensor.SliceHint slice_hint = 6;- Specified by:
getSliceHintin interfaceTensorDescriptorOrBuilder- Returns:
- The sliceHint.
-
getSliceHintOrBuilder
Optional slice hint - if provided, GetFlightInfo returns only chunks covering this range. Leave unset/null to return all chunks.
.biopb.tensor.SliceHint slice_hint = 6;- Specified by:
getSliceHintOrBuilderin interfaceTensorDescriptorOrBuilder
-
getScaleHintList
Per-dimension integer downsampling factors for virtual/scaled reads. Example: [1, 8, 8] means full resolution on first axis, 8x reduced on remaining. These do not change tensor identity, only how a specific read request is planned.
repeated int64 scale_hint = 7;- Specified by:
getScaleHintListin interfaceTensorDescriptorOrBuilder- Returns:
- A list containing the scaleHint.
-
getScaleHintCount
public int getScaleHintCount()Per-dimension integer downsampling factors for virtual/scaled reads. Example: [1, 8, 8] means full resolution on first axis, 8x reduced on remaining. These do not change tensor identity, only how a specific read request is planned.
repeated int64 scale_hint = 7;- Specified by:
getScaleHintCountin interfaceTensorDescriptorOrBuilder- Returns:
- The count of scaleHint.
-
getScaleHint
public long getScaleHint(int index) Per-dimension integer downsampling factors for virtual/scaled reads. Example: [1, 8, 8] means full resolution on first axis, 8x reduced on remaining. These do not change tensor identity, only how a specific read request is planned.
repeated int64 scale_hint = 7;- Specified by:
getScaleHintin interfaceTensorDescriptorOrBuilder- Parameters:
index- The index of the element to return.- Returns:
- The scaleHint at the given index.
-
getReductionMethod
Dynamic reduction/downsampling method for scaled reads: "nearest", "area", or "precompute" (serve a native on-disk pyramid level). Compatibility aliases accepted: "stride" -> "nearest", "mean" -> "area", "precomputed" -> "precompute", "linear" (deprecated) -> "area". An empty or omitted value is resolved to "nearest" by the server. Clients that want averaging must set this field explicitly to "area". Note: already-cached chunk IDs that carry no method byte (issued before this default was established) are decoded as "area" for compatibility; only newly minted IDs default to "nearest".
string reduction_method = 8;- Specified by:
getReductionMethodin interfaceTensorDescriptorOrBuilder- Returns:
- The reductionMethod.
-
getReductionMethodBytes
public com.google.protobuf.ByteString getReductionMethodBytes()Dynamic reduction/downsampling method for scaled reads: "nearest", "area", or "precompute" (serve a native on-disk pyramid level). Compatibility aliases accepted: "stride" -> "nearest", "mean" -> "area", "precomputed" -> "precompute", "linear" (deprecated) -> "area". An empty or omitted value is resolved to "nearest" by the server. Clients that want averaging must set this field explicitly to "area". Note: already-cached chunk IDs that carry no method byte (issued before this default was established) are decoded as "area" for compatibility; only newly minted IDs default to "nearest".
string reduction_method = 8;- Specified by:
getReductionMethodBytesin interfaceTensorDescriptorOrBuilder- Returns:
- The bytes for reductionMethod.
-
getMetadataJson
Opaque JSON metadata compatible with OME-NGFF (.zattrs schema). Contains: multiscales, axes, coordinateTransformations, channels, etc. For precomputed pyramids: multiscales[].datasets[].path and scale info. Empty string if no metadata available.
string metadata_json = 9;- Specified by:
getMetadataJsonin interfaceTensorDescriptorOrBuilder- Returns:
- The metadataJson.
-
getMetadataJsonBytes
public com.google.protobuf.ByteString getMetadataJsonBytes()Opaque JSON metadata compatible with OME-NGFF (.zattrs schema). Contains: multiscales, axes, coordinateTransformations, channels, etc. For precomputed pyramids: multiscales[].datasets[].path and scale info. Empty string if no metadata available.
string metadata_json = 9;- Specified by:
getMetadataJsonBytesin interfaceTensorDescriptorOrBuilder- Returns:
- The bytes for metadataJson.
-
getPyramidList
Server-advertised resolution pyramid: the ordered levels the server recommends reading this tensor at, coarsest decision made server-side so native (precomputed) pyramids are honored and the precache worker and client request the same scales. Level 0 is full resolution (scale_hint all 1s). A client reads each level via the normal scale_hint read path. Populated only by GetFlightInfo (left empty in the catalog, like metadata_json); empty also means "old server / decide client-side".
repeated .biopb.tensor.PyramidLevel pyramid = 10;- Specified by:
getPyramidListin interfaceTensorDescriptorOrBuilder
-
getPyramidOrBuilderList
Server-advertised resolution pyramid: the ordered levels the server recommends reading this tensor at, coarsest decision made server-side so native (precomputed) pyramids are honored and the precache worker and client request the same scales. Level 0 is full resolution (scale_hint all 1s). A client reads each level via the normal scale_hint read path. Populated only by GetFlightInfo (left empty in the catalog, like metadata_json); empty also means "old server / decide client-side".
repeated .biopb.tensor.PyramidLevel pyramid = 10;- Specified by:
getPyramidOrBuilderListin interfaceTensorDescriptorOrBuilder
-
getPyramidCount
public int getPyramidCount()Server-advertised resolution pyramid: the ordered levels the server recommends reading this tensor at, coarsest decision made server-side so native (precomputed) pyramids are honored and the precache worker and client request the same scales. Level 0 is full resolution (scale_hint all 1s). A client reads each level via the normal scale_hint read path. Populated only by GetFlightInfo (left empty in the catalog, like metadata_json); empty also means "old server / decide client-side".
repeated .biopb.tensor.PyramidLevel pyramid = 10;- Specified by:
getPyramidCountin interfaceTensorDescriptorOrBuilder
-
getPyramid
Server-advertised resolution pyramid: the ordered levels the server recommends reading this tensor at, coarsest decision made server-side so native (precomputed) pyramids are honored and the precache worker and client request the same scales. Level 0 is full resolution (scale_hint all 1s). A client reads each level via the normal scale_hint read path. Populated only by GetFlightInfo (left empty in the catalog, like metadata_json); empty also means "old server / decide client-side".
repeated .biopb.tensor.PyramidLevel pyramid = 10;- Specified by:
getPyramidin interfaceTensorDescriptorOrBuilder
-
getPyramidOrBuilder
Server-advertised resolution pyramid: the ordered levels the server recommends reading this tensor at, coarsest decision made server-side so native (precomputed) pyramids are honored and the precache worker and client request the same scales. Level 0 is full resolution (scale_hint all 1s). A client reads each level via the normal scale_hint read path. Populated only by GetFlightInfo (left empty in the catalog, like metadata_json); empty also means "old server / decide client-side".
repeated .biopb.tensor.PyramidLevel pyramid = 10;- Specified by:
getPyramidOrBuilderin interfaceTensorDescriptorOrBuilder
-
getPhysicalScaleList
Per-dimension physical pixel size, aligned 1:1 with dim_labels/shape (same length and order). Element i is the physical extent of one sample along dimension i, in the unit given by physical_unit[i]. 0.0 means "unknown" for that dimension. This is the ~200-byte summary consumers need for display scale, so the common case avoids fetching the full OME tree. Populated by GetFlightInfo (left empty in the catalog, like pyramid / metadata_json); empty also means "old server / no physical scale -> the full OME (metadata_json) remains the authoritative source".
repeated double physical_scale = 11;- Specified by:
getPhysicalScaleListin interfaceTensorDescriptorOrBuilder- Returns:
- A list containing the physicalScale.
-
getPhysicalScaleCount
public int getPhysicalScaleCount()Per-dimension physical pixel size, aligned 1:1 with dim_labels/shape (same length and order). Element i is the physical extent of one sample along dimension i, in the unit given by physical_unit[i]. 0.0 means "unknown" for that dimension. This is the ~200-byte summary consumers need for display scale, so the common case avoids fetching the full OME tree. Populated by GetFlightInfo (left empty in the catalog, like pyramid / metadata_json); empty also means "old server / no physical scale -> the full OME (metadata_json) remains the authoritative source".
repeated double physical_scale = 11;- Specified by:
getPhysicalScaleCountin interfaceTensorDescriptorOrBuilder- Returns:
- The count of physicalScale.
-
getPhysicalScale
public double getPhysicalScale(int index) Per-dimension physical pixel size, aligned 1:1 with dim_labels/shape (same length and order). Element i is the physical extent of one sample along dimension i, in the unit given by physical_unit[i]. 0.0 means "unknown" for that dimension. This is the ~200-byte summary consumers need for display scale, so the common case avoids fetching the full OME tree. Populated by GetFlightInfo (left empty in the catalog, like pyramid / metadata_json); empty also means "old server / no physical scale -> the full OME (metadata_json) remains the authoritative source".
repeated double physical_scale = 11;- Specified by:
getPhysicalScalein interfaceTensorDescriptorOrBuilder- Parameters:
index- The index of the element to return.- Returns:
- The physicalScale at the given index.
-
getPhysicalUnitList
public com.google.protobuf.ProtocolStringList getPhysicalUnitList()Per-dimension unit string for physical_scale (e.g. "micrometer", "µm"), aligned 1:1 with physical_scale. "" means unknown.
repeated string physical_unit = 12;- Specified by:
getPhysicalUnitListin interfaceTensorDescriptorOrBuilder- Returns:
- A list containing the physicalUnit.
-
getPhysicalUnitCount
public int getPhysicalUnitCount()Per-dimension unit string for physical_scale (e.g. "micrometer", "µm"), aligned 1:1 with physical_scale. "" means unknown.
repeated string physical_unit = 12;- Specified by:
getPhysicalUnitCountin interfaceTensorDescriptorOrBuilder- Returns:
- The count of physicalUnit.
-
getPhysicalUnit
Per-dimension unit string for physical_scale (e.g. "micrometer", "µm"), aligned 1:1 with physical_scale. "" means unknown.
repeated string physical_unit = 12;- Specified by:
getPhysicalUnitin interfaceTensorDescriptorOrBuilder- Parameters:
index- The index of the element to return.- Returns:
- The physicalUnit at the given index.
-
getPhysicalUnitBytes
public com.google.protobuf.ByteString getPhysicalUnitBytes(int index) Per-dimension unit string for physical_scale (e.g. "micrometer", "µm"), aligned 1:1 with physical_scale. "" means unknown.
repeated string physical_unit = 12;- Specified by:
getPhysicalUnitBytesin interfaceTensorDescriptorOrBuilder- Parameters:
index- The index of the value to return.- Returns:
- The bytes of the physicalUnit at the given index.
-
hasUploadStatus
public boolean hasUploadStatus()How far the upload backing this tensor has got, when one does; unset for every ordinary (file-backed) source. Populated only by GetFlightInfo, like `pyramid` and `physical_scale`, and left empty in the catalog. A live read, computed per request and stored nowhere -- which is what biopb/biopb#1035 actually requires. It rides the *per-source* surface because the caller who needs it holds a per-source credential and asks about one object: that is the fast-return poller. A catalog-shaped question would belong on a catalog-shaped surface.
.biopb.tensor.UploadStatus upload_status = 15;- Specified by:
hasUploadStatusin interfaceTensorDescriptorOrBuilder- Returns:
- Whether the uploadStatus field is set.
-
getUploadStatus
How far the upload backing this tensor has got, when one does; unset for every ordinary (file-backed) source. Populated only by GetFlightInfo, like `pyramid` and `physical_scale`, and left empty in the catalog. A live read, computed per request and stored nowhere -- which is what biopb/biopb#1035 actually requires. It rides the *per-source* surface because the caller who needs it holds a per-source credential and asks about one object: that is the fast-return poller. A catalog-shaped question would belong on a catalog-shaped surface.
.biopb.tensor.UploadStatus upload_status = 15;- Specified by:
getUploadStatusin interfaceTensorDescriptorOrBuilder- Returns:
- The uploadStatus.
-
getUploadStatusOrBuilder
How far the upload backing this tensor has got, when one does; unset for every ordinary (file-backed) source. Populated only by GetFlightInfo, like `pyramid` and `physical_scale`, and left empty in the catalog. A live read, computed per request and stored nowhere -- which is what biopb/biopb#1035 actually requires. It rides the *per-source* surface because the caller who needs it holds a per-source credential and asks about one object: that is the fast-return poller. A catalog-shaped question would belong on a catalog-shaped surface.
.biopb.tensor.UploadStatus upload_status = 15;- Specified by:
getUploadStatusOrBuilderin interfaceTensorDescriptorOrBuilder
-
hasIsResident
public boolean hasIsResident()Whether this source's bytes are local and cheap to read *right now*. Filled only when the read mask asks for "is_resident", because the answer is a bounded stat walk of the source -- never free, so never default. Unset means nobody asked, which a UI draws as no indicator rather than as "remote". Volatile: a synced folder re-dehydrates under storage pressure with nothing to notify anyone, so there is no moment at which a stored answer stays true. Computed per request, stored nowhere, and not to be cached by a client (biopb/biopb#1035). It was briefly a catalog-wide action; that made a live filesystem walk the cost of listing, which is why it is here and per-source now.
optional bool is_resident = 16;- Specified by:
hasIsResidentin interfaceTensorDescriptorOrBuilder- Returns:
- Whether the isResident field is set.
-
getIsResident
public boolean getIsResident()Whether this source's bytes are local and cheap to read *right now*. Filled only when the read mask asks for "is_resident", because the answer is a bounded stat walk of the source -- never free, so never default. Unset means nobody asked, which a UI draws as no indicator rather than as "remote". Volatile: a synced folder re-dehydrates under storage pressure with nothing to notify anyone, so there is no moment at which a stored answer stays true. Computed per request, stored nowhere, and not to be cached by a client (biopb/biopb#1035). It was briefly a catalog-wide action; that made a live filesystem walk the cost of listing, which is why it is here and per-source now.
optional bool is_resident = 16;- Specified by:
getIsResidentin interfaceTensorDescriptorOrBuilder- Returns:
- The isResident.
-
hasTtlSeconds
public boolean hasTtlSeconds()How long the server keeps this tensor, in seconds from `add_tensor`. **A request on the way in, a statement on the way out.** The server applies its own policy over what was asked for and answers with the lifetime it granted, which may be shorter: a source that caps lifetimes clamps an unset request to the cap too. Unset on the way in asks for the source's default; unset on the way out means the tensor is kept until someone discards it. Zero is not a lifetime and is refused rather than read as "expire immediately". The deadline is absolute and recorded with the store, so it survives a restart, and it runs from `add_tensor` rather than from READY -- a producer that never publishes cannot keep bytes alive by not finishing. Past it the reclaim sweep discards the tensor as if its producer had.
optional uint32 ttl_seconds = 17;- Specified by:
hasTtlSecondsin interfaceTensorDescriptorOrBuilder- Returns:
- Whether the ttlSeconds field is set.
-
getTtlSeconds
public int getTtlSeconds()How long the server keeps this tensor, in seconds from `add_tensor`. **A request on the way in, a statement on the way out.** The server applies its own policy over what was asked for and answers with the lifetime it granted, which may be shorter: a source that caps lifetimes clamps an unset request to the cap too. Unset on the way in asks for the source's default; unset on the way out means the tensor is kept until someone discards it. Zero is not a lifetime and is refused rather than read as "expire immediately". The deadline is absolute and recorded with the store, so it survives a restart, and it runs from `add_tensor` rather than from READY -- a producer that never publishes cannot keep bytes alive by not finishing. Past it the reclaim sweep discards the tensor as if its producer had.
optional uint32 ttl_seconds = 17;- Specified by:
getTtlSecondsin interfaceTensorDescriptorOrBuilder- Returns:
- The ttlSeconds.
-
hasContentVersion
public boolean hasContentVersion()Opaque per-source generation token, sampled once at (re-)registration (biopb/biopb#178): the stat signature `mtime_ns:size` for a file/dir source, `iat:<ts>` for a caching proxy's mirror. Two descriptors carrying DIFFERENT tokens for one source describe different content; two carrying the SAME token describe the same content. It is not ordered -- newer is not "greater" -- and it is not a hash of the bytes, so an in-place edit that preserves mtime and size is invisible to it. A SERVING field, like chunk_shape and pyramid: filled by GetFlightInfo from the bound TENSOR adapter, left empty on the structural DataSourceDescriptor.tensors entries. Consumers need it on the freshest thing in the request, and GetFlightInfo is fetch-per-call by contract while a catalog listing is a natural thing to cache (biopb/biopb#834). Usually a source-level property repeated on the tensor, but not always: a tensor whose bytes are not the source's carries its own (an uploaded label set). Absent means "no claim", not "unchanged": a source whose URL cannot be stat'd (cloud, unresolved) leaves it unset, and consumers must degrade to whatever freshness policy they used before rather than treating absence as a stable version. Servers predating this field also leave it unset. Read it as a version suffix on the tensor's identity: an identifier built from it changes when the data changes. The HTTP sidecar does exactly that, splicing the token into the array_id it publishes so a browser cache keyed on a tile URL cannot outlive the content (biopb/biopb#780). A chunk cache needs nothing from this field -- the server folds the same value into chunk_id, where it invalidates for free. A claim about the DATA: it moves only when the data does. How the server forms an opaque chunk key, which must also change when chunking or normalization changes, is internal to the server and not visible here.
optional bytes content_version = 14;- Specified by:
hasContentVersionin interfaceTensorDescriptorOrBuilder- Returns:
- Whether the contentVersion field is set.
-
getContentVersion
public com.google.protobuf.ByteString getContentVersion()Opaque per-source generation token, sampled once at (re-)registration (biopb/biopb#178): the stat signature `mtime_ns:size` for a file/dir source, `iat:<ts>` for a caching proxy's mirror. Two descriptors carrying DIFFERENT tokens for one source describe different content; two carrying the SAME token describe the same content. It is not ordered -- newer is not "greater" -- and it is not a hash of the bytes, so an in-place edit that preserves mtime and size is invisible to it. A SERVING field, like chunk_shape and pyramid: filled by GetFlightInfo from the bound TENSOR adapter, left empty on the structural DataSourceDescriptor.tensors entries. Consumers need it on the freshest thing in the request, and GetFlightInfo is fetch-per-call by contract while a catalog listing is a natural thing to cache (biopb/biopb#834). Usually a source-level property repeated on the tensor, but not always: a tensor whose bytes are not the source's carries its own (an uploaded label set). Absent means "no claim", not "unchanged": a source whose URL cannot be stat'd (cloud, unresolved) leaves it unset, and consumers must degrade to whatever freshness policy they used before rather than treating absence as a stable version. Servers predating this field also leave it unset. Read it as a version suffix on the tensor's identity: an identifier built from it changes when the data changes. The HTTP sidecar does exactly that, splicing the token into the array_id it publishes so a browser cache keyed on a tile URL cannot outlive the content (biopb/biopb#780). A chunk cache needs nothing from this field -- the server folds the same value into chunk_id, where it invalidates for free. A claim about the DATA: it moves only when the data does. How the server forms an opaque chunk key, which must also change when chunking or normalization changes, is internal to the server and not visible here.
optional bytes content_version = 14;- Specified by:
getContentVersionin interfaceTensorDescriptorOrBuilder- Returns:
- The contentVersion.
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3
-
writeTo
- Specified by:
writeToin interfacecom.google.protobuf.MessageLite- Overrides:
writeToin classcom.google.protobuf.GeneratedMessageV3- Throws:
IOException
-
getSerializedSize
public int getSerializedSize()- Specified by:
getSerializedSizein interfacecom.google.protobuf.MessageLite- Overrides:
getSerializedSizein classcom.google.protobuf.GeneratedMessageV3
-
equals
- Specified by:
equalsin interfacecom.google.protobuf.Message- Overrides:
equalsin classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()- Specified by:
hashCodein interfacecom.google.protobuf.Message- Overrides:
hashCodein classcom.google.protobuf.AbstractMessage
-
parseFrom
public static TensorDescriptor parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static TensorDescriptor parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static TensorDescriptor parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static TensorDescriptor parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static TensorDescriptor parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static TensorDescriptor parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
- Throws:
IOException
-
parseFrom
public static TensorDescriptor parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseDelimitedFrom
- Throws:
IOException
-
parseDelimitedFrom
public static TensorDescriptor parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseFrom
public static TensorDescriptor parseFrom(com.google.protobuf.CodedInputStream input) throws IOException - Throws:
IOException
-
parseFrom
public static TensorDescriptor parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
newBuilderForType
- Specified by:
newBuilderForTypein interfacecom.google.protobuf.Message- Specified by:
newBuilderForTypein interfacecom.google.protobuf.MessageLite
-
newBuilder
-
newBuilder
-
toBuilder
- Specified by:
toBuilderin interfacecom.google.protobuf.Message- Specified by:
toBuilderin interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected TensorDescriptor.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) - Specified by:
newBuilderForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstance
-
parser
-
getParserForType
- Specified by:
getParserForTypein interfacecom.google.protobuf.Message- Specified by:
getParserForTypein interfacecom.google.protobuf.MessageLite- Overrides:
getParserForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-