def test_transform_selects_dimensions_correctly_when_transposed(self): # Set slice info such that display(X,Y) = data(Z,Y) slice_pt = 0.5 info = SliceInfo(frame="HKL", point=(slice_pt, None, None), transpose=True, range=(-15, 15)) frame_point = (0.5, 1.0, -1.5) slice_frame = info.transform(frame_point) self.assertEqual(frame_point[2], slice_frame[0]) self.assertEqual(frame_point[1], slice_frame[1]) self.assertEqual(frame_point[0], slice_frame[2]) self.assertEqual(slice_pt, info.value)
def test_transform_uses_indices_to_transform_to_slice_frame(self): # Set slice info such that display(X,Y) = data(Z,Y) info = SliceInfo(indices=(2, 1, 0), frame="HKL", point=(None, None, 0.5), range=(-15, 15)) frame_point = (0.5, 1.0, -1.5) slice_frame = info.transform(frame_point) self.assertEqual(frame_point[2], slice_frame[0]) self.assertEqual(frame_point[1], slice_frame[1]) self.assertEqual(frame_point[0], slice_frame[2])
def test_transform_respects_nonortho_tr_if_given(self): # Set slice info such that display(X,Y) = data(Z,Y) info = SliceInfo(frame=SpecialCoordinateSystem.HKL, point=(None, None, 0.5), transpose=False, range=[None, None, (-15, 15)], qflags=[True, True, True], nonortho_transform=FakeTransform()) frame_point = (0.5, 1.0, -1.5) slice_frame = info.transform(frame_point) self.assertEqual(frame_point[0] + 1, slice_frame[0]) self.assertEqual(frame_point[1] - 1, slice_frame[1]) self.assertEqual(frame_point[2], slice_frame[2])
def test_transform_selects_dimensions_correctly_when_transposed(self): # Set slice info such that display(X,Y) = data(Z,Y) slice_pt = 0.5 info = SliceInfo(frame=SpecialCoordinateSystem.HKL, point=(slice_pt, None, None), transpose=True, range=[(-15, 15), None, None], qflags=[True, True, True]) frame_point = (0.5, 1.0, -1.5) slice_frame = info.transform(frame_point) self.assertEqual(frame_point[2], slice_frame[0]) self.assertEqual(frame_point[1], slice_frame[1]) self.assertEqual(frame_point[0], slice_frame[2]) self.assertEqual(slice_pt, info.z_value)