Skip Navigation Links.

H5S..::..selectStridedHyperslab Method (H5DataSpaceId, H5S..::..SelectOperator, array<>[]()[][], array<>[]()[][], array<>[]()[][], array<>[]()[][])

Selects a hyperslab region to add to the current selected region. http://www.hdfgroup.org/HDF5/doc/RM/RM_H5S.html#Dataspace-SelectHyperslab

Namespace:  HDF5DotNet
Assembly:  HDF5DotNet (in HDF5DotNet.dll)

Syntax

Visual Basic
Public Shared Sub selectStridedHyperslab ( _
	spaceId As H5DataSpaceId, _
	selectOperator As H5S..::..SelectOperator, _
	start As Long(), _
	stride As Long(), _
	count As Long(), _
	block As Long() _
)
C#
public static void selectStridedHyperslab(
	H5DataSpaceId spaceId,
	H5S..::..SelectOperator selectOperator,
	long[] start,
	long[] stride,
	long[] count,
	long[] block
)
Visual C++
public:
static void selectStridedHyperslab(
	H5DataSpaceId^ spaceId, 
	H5S..::..SelectOperator selectOperator, 
	array<long long>^ start, 
	array<long long>^ stride, 
	array<long long>^ count, 
	array<long long>^ block
)
JavaScript
HDF5DotNet.H5S.selectStridedHyperslab = function(spaceId, selectOperator, start, stride, count, block);

Parameters

spaceId
Type: HDF5DotNet..::..H5DataSpaceId
IN: Identifier of dataspace selection to modify
selectOperator
Type: HDF5DotNet..::..H5S..::..SelectOperator
IN: Operation to perform on current selection.
start
Type: array<Int64>[]()[][]
IN: Offset of start of hyperslab
stride
Type: array<Int64>[]()[][]
IN: Hyperslab stride.
count
Type: array<Int64>[]()[][]
IN: Number of blocks included in hyperslab.
block
Type: array<Int64>[]()[][]
IN: Size of block in hyperslab.

Remarks

H5S.selectStridedHyperslab selects a hyperslab region to add to the current selected region for the dataspace specified by space_id.

The start, stride, count, and block arrays must be the same size as the rank of the dataspace.

The selection operator op determines how the new selection is to be combined with the already existing selection for the dataspace. The following operators are supported:

  • H5S_SELECT_SET - Replaces the existing selection with the parameters from this call. Overlapping blocks are not supported with this operator.
  • H5S_SELECT_OR - Adds the new selection to the existing selection. (Binary OR)
  • H5S_SELECT_AND - Retains only the overlapping portions of the new selection and the existing selection. (Binary AND)
  • H5S_SELECT_XOR - Retains only the elements that are members of the new selection or the existing selection, excluding elements that are members of both selections. (Binary exclusive-OR, XOR)
  • H5S_SELECT_NOTB - Retains only elements of the existing selection that are not in the new selection.
  • H5S_SELECT_NOTA - Retains only elements of the new selection that are not in the existing selection.

The start array determines the starting coordinates of the hyperslab to select.

The stride array chooses array locations from the dataspace with each value in the stride array determining how many elements to move in each dimension. Setting a value in the stride array to 1 moves to each element in that dimension of the dataspace; setting a value of 2 in alocation in the stride array moves to every other element in that dimension of the dataspace. In other words, the stride determines the number of elements to move from the start location in each dimension. Stride values of 0 are not allowed.

The count array determines how many blocks to select from the dataspace, in each dimension.

The block array determines the size of the element block selected from the dataspace. If the block parameter is omitted, the block size defaults to a single element in each dimension (as if the block array were set to all 1's).

For example, in a 2-dimensional dataspace, setting start to [1,1], stride to [4,4], count to [3,7], and block to [2,2] selects 21 2x2 blocks of array elements starting with location (1,1) and selecting blocks at locations (1,1), (5,1), (9,1), (1,5), (5,5), etc.

Regions selected with this function call default to C order iteration when I/O is performed.

See Also