Module H5S
Low-level interface to the “H5S” family of data-space functions.
Functional API
-
h5py.h5s.create(INT class_code) → SpaceID
- Create a new HDF5 dataspace object, of the given class.
Legal values are SCALAR and SIMPLE.
-
h5py.h5s.create_simple(TUPLE dims_tpl, TUPLE max_dims_tpl) → SpaceID
Create a simple (slab) dataspace from a tuple of dimensions.
Every element of dims_tpl must be a positive integer.
You can optionally specify the maximum dataspace size. The
special value UNLIMITED, as an element of max_dims, indicates
an unlimited dimension.
-
h5py.h5s.decode(STRING buf) → SpaceID
- Unserialize a dataspace. Bear in mind you can also use the native
Python pickling machinery to do this.
Dataspace objects
-
class h5py.h5s.SpaceID
Bases: h5py.h5.ObjectID
Represents a dataspace identifier.
Properties:
- shape
- Numpy-style shape tuple with dimensions.
- Hashable: No
- Equality: Unimplemented
Can be pickled if HDF5 1.8 is available.
-
copy() → SpaceID
- Create a new copy of this dataspace.
-
encode() → STRING
- Serialize a dataspace, including its selection. Bear in mind you
can also use the native Python pickling machinery to do this.
-
extent_copy(SpaceID source)
- Replace this dataspace’s extent with another’s, changing its
typecode if necessary.
-
get_select_bounds() -> (TUPLE start, TUPLE end)
- Determine the bounding box which exactly contains
the current selection.
-
get_select_elem_npoints() → LONG npoints
- Determine the number of elements selected in point-selection mode.
-
get_select_elem_pointlist() → NDARRAY
- Get a list of all selected elements. Return is a Numpy array of
unsigned ints, with shape (<npoints>, <space rank).
-
get_select_hyper_blocklist() → NDARRAY
Get the current hyperslab selection. The returned array has shape:
and can be interpreted as a nested sequence:
[ (corner_coordinate_1, opposite_coordinate_1), ... ]
with length equal to the total number of blocks.
-
get_select_hyper_nblocks() → LONG nblocks
- Get the number of hyperslab blocks currently selected.
-
get_select_npoints() → LONG npoints
- Determine the total number of points currently selected.
Works for all selection techniques.
-
get_select_type() → INT select_code
Determine selection type. Return values are:
-
get_simple_extent_dims(BOOL maxdims=False) → TUPLE shape
- Determine the shape of a “simple” (slab) dataspace. If “maxdims”
is True, retrieve the maximum dataspace size instead.
-
get_simple_extent_ndims() → INT rank
- Determine the rank of a “simple” (slab) dataspace.
-
get_simple_extent_npoints() → LONG npoints
- Determine the total number of elements in a dataspace.
-
get_simple_extent_type() → INT class_code
- Class code is either SCALAR or SIMPLE.
-
is_simple() → BOOL is_simple
- Determine if an existing dataspace is “simple” (including scalar
dataspaces). Currently all HDF5 dataspaces are simple.
-
offset_simple(TUPLE offset=None)
- Set the offset of a dataspace. The length of the given tuple must
match the rank of the dataspace. If None is provided (default),
the offsets on all axes will be set to 0.
-
select_all()
- Select all points in the dataspace.
-
select_elements(SEQUENCE coords, INT op=SELECT_SET)
Select elements by specifying coordinates points. The argument
“coords” may be an ndarray or any nested sequence which can be
converted to an array of uints with the shape:
(<npoints>, <space rank>)
Examples:
>>> obj.shape
(10, 10)
>>> obj.select_elements([(1,2), (3,4), (5,9)])
A zero-length selection (i.e. shape (0, <rank>)) is not allowed
by the HDF5 library.
-
select_hyperslab(TUPLE start, TUPLE count, TUPLE stride=None, TUPLE block=None, INT op=SELECT_SET)
- Select a block region from an existing dataspace. See the HDF5
documentation for the meaning of the “block” and “op” keywords.
-
select_none()
- Deselect entire dataspace.
-
select_valid() → BOOL
- Determine if the current selection falls within
the dataspace extent.
-
set_extent_none()
- Remove the dataspace extent; typecode changes to NO_CLASS.
-
set_extent_simple(TUPLE dims_tpl, TUPLE max_dims_tpl=None)
Reset the dataspace extent via a tuple of dimensions.
Every element of dims_tpl must be a positive integer.
You can optionally specify the maximum dataspace size. The
special value UNLIMITED, as an element of max_dims, indicates
an unlimited dimension.
-
shape
- Numpy-style shape tuple representing dimensions. () == scalar.
Module constants
-
h5py.h5s.ALL
- Accepted in place of an actual datapace; means “every point”
-
h5py.h5s.UNLIMITED
- Indicates an unlimited maximum dimension
Dataspace class codes
-
h5py.h5s.NO_CLASS
-
h5py.h5s.SCALAR
-
h5py.h5s.SIMPLE
Selection codes
-
h5py.h5s.SELECT_NOOP
-
h5py.h5s.SELECT_SET
-
h5py.h5s.SELECT_OR
-
h5py.h5s.SELECT_AND
-
h5py.h5s.SELECT_XOR
-
h5py.h5s.SELECT_NOTB
-
h5py.h5s.SELECT_NOTA
-
h5py.h5s.SELECT_APPEND
-
h5py.h5s.SELECT_PREPEND
-
h5py.h5s.SELECT_INVALID
Existing selection type
-
h5py.h5s.SEL_ERROR
-
h5py.h5s.SEL_NONE
-
h5py.h5s.SEL_POINTS
-
h5py.h5s.SEL_HYPERSLABS
-
h5py.h5s.SEL_ALL