LocalLookREST - tolerance level error in _validate_shapes
Short description of expected behaviour:
When using LocalLookREST (cmrsim version 0.29) with slice_position > 3.1cm, _validate_shapes() gives back the error "All encoding directions per repetitions must form an orthonormal basis", although the vectors are orthonormal.
Minimally working example:
lolo_mod = cmrsim.analytic.contrast.LocalLookREST(expand_repetitions=False,
slice_normal=[0, 0, 1],
readout_direction=[0, 1, 0],
phase_encoding_direction=[1, 0, 0],
slice_position=Quantity([0, 0, -7], 'cm').m_as('m'),
spatial_extends=Quantity([*fov.m_as('cm'), 1.0], 'cm').m_as('m'))
Error Stack-trace: The problem can be fixed by changing the first line in the update() function to the following:
self._validate_shapes(self.orientation_matrix.read_value()[:, 0, :3],
self.orientation_matrix.read_value()[:, 1, :3],
self.orientation_matrix.read_value()[:, 2, :3],
self.slice_position.read_value(),
self.spatial_extend.read_value())