MemoryStore.Array
val create :
?sep:[< `Dot | `Slash Slash ] ->
?dimension_names:string option list ->
?attributes:Yojson.Safe.t ->
codecs:Zarr.Codecs.codec list ->
shape:int list ->
chunks:int list ->
'a Zarr.Ndarray.dtype ->
'a ->
Zarr.Node.Array.t ->
t ->
unit Lwt.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 Lwt.t
metadata node t
returns the metadata of array node node
.
val delete : t -> Zarr.Node.Array.t -> unit Lwt.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 Lwt.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 list ->
'a Zarr.Ndarray.t ->
unit Lwt.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 list ->
'a Zarr.Ndarray.dtype ->
'a Zarr.Ndarray.t Lwt.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 list -> unit Lwt.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 Lwt.t
rename t n name
changes the name of array node n
in store t
to name
.