dbdicom.Series.gridcoords#
- Series.gridcoords(dims=('InstanceNumber',), slice={}, coords={}, exclude=False, **filters) dict [source]#
return a dictionary of grid coordinates.
- Parameters:
dims (tuple) – Attributes to be used as coordinates.
- Returns:
dictionary of coordinates, one entry for each dimension.
- Return type:
See also
Examples
Create an empty series with 3 slice dimensions:
>>> gridcoords = { ... 'SliceLocation': np.arange(4), ... 'FlipAngle': np.array([2, 15, 30]), ... 'RepetitionTime': np.array([2.5, 5.0]), ... } >>> series = db.empty_series(gridcoords=gridcoords)
Recover the grid coordinates:
>>> gridcoords_rec = series.gridcoords(tuple(gridcoords)) >>> coords_rec['SliceLocation'] [0. 1. 2. 3.] >>> coords_rec['FlipAngle'] [ 2. 15. 30.] >>> coords_rec['RepetitionTime'] [2.5 5. ]
Note an error is raised if the coordinates are not grid coordinates:
>>> coords = { ... 'SliceLocation': np.array([0,1,2,0,1,2]), ... 'FlipAngle': np.array([10,10,10,2,2,2]), ... 'RepetitionTime': np.array([1,5,15,1,5,15]), ... } >>> series = db.empty_series(coords)
The coordinates form a proper mesh, so this works fine:
>>> coords = series.meshcoords(tuple(coords))
But this raises an error:
>>> series.gridcoords(tuple(coords)) ValueError: These are not grid coordinates.