MemoryStore.Array
val create :
?sep:[< `Dot | `Slash Slash ] ->
?dimension_names:string option list ->
?attributes:Yojson.Safe.t ->
codecs:Zarr.Codecs.codec_chain ->
shape:int array ->
chunks:int array ->
'a Zarr.Ndarray.dtype ->
'a ->
Zarr.Node.Array.t ->
t ->
unit Deferred.t
create ~sep ~dimension_names ~attributes ~codecs ~shape ~chunks kind fill node t
creates an array node in store t
where:
sep
is used in the array's chunk key encoding.dimension_names
and user attributes attributes
are included in it's metadata document.codecs
.shape
and chunk shape chunks
.kind
and fill value fv
.val metadata : t -> Zarr.Node.Array.t -> Zarr.Metadata.Array.t Deferred.t
metadata node t
returns the metadata of array node node
.
val delete : t -> Zarr.Node.Array.t -> unit Deferred.t
delete t n
erases array node n
from store t
. If node n
is not a member of store t
then this is a no-op.
val exists : t -> Zarr.Node.Array.t -> bool Deferred.t
exists t n
returns true
if array node n
is a member of store t
and false
otherwise.
val write :
t ->
Zarr.Node.Array.t ->
Zarr.Ndarray.Indexing.index array ->
'a Zarr.Ndarray.t ->
unit Deferred.t
write t n s x
writes n-dimensional array x
to the slice s
of array node n
in store t
.
val read :
t ->
Zarr.Node.Array.t ->
Zarr.Ndarray.Indexing.index array ->
'a Zarr.Ndarray.dtype ->
'a Zarr.Ndarray.t Deferred.t
read t n s k
reads an n-dimensional array of size determined by slice s
from array node n
.
val reshape : t -> Zarr.Node.Array.t -> int array -> unit Deferred.t
reshape t n shape
resizes array node n
of store t
into new size shape
. Note that when the resizing involves shrinking an array along any dimensions, any old unreachable chunks that fall outside of the array's new shape are deleted from the store.
val rename : t -> Zarr.Node.Array.t -> string -> unit Deferred.t
rename t n name
changes the name of array node n
in store t
to name
.