def test_z_rotation_90(self): # +90 degree z-rotation self.rotmat = euler(np.radians(90), 'z') _powerfit.rotate_image3d(self.image, self.rotmat, self.center, self.radius, self.out) self.answer[0, :self.radius, 0] = 1 self.assertTrue(np.allclose(self.answer, self.out))
def test_z_rotation_m90(self): # -90 degree z-rotation self.rotmat = euler(np.radians(-90), "z") _powerfit.rotate_image3d(self.image, self.rotmat, self.center, self.radius, self.out) self.answer[0, -self.radius + 1 :, 0] = 1 self.answer[0, 0, 0] = 1 self.assertTrue(np.allclose(self.answer, self.out))
def test_center(self): self.center = np.asarray((1, 0, 0), dtype=np.float64) _powerfit.rotate_image3d(self.image, self.rotmat, self.center, self.radius, self.out) self.answer[0, 0, :self.radius - 1] = 1 self.answer[0, 0, -1] = 1 self.assertTrue(np.allclose(self.answer, self.out))
def test_radius(self): # radius too short radius = 1 _powerfit.rotate_image3d(self.image, self.rotmat, self.center, self.radius, self.out) self.answer = self.image self.assertTrue(np.allclose(self.answer, self.out))
def test_near(self): self.rotmat = euler(np.radians(85), 'z') _powerfit.rotate_image3d(self.image, self.rotmat, self.center, self.radius, self.out, nearest=True) self.answer[0, :self.radius, 0] = 1 self.assertTrue(np.allclose(self.answer, self.out))
def test_near(self): self.rotmat = euler(np.radians(85), "z") _powerfit.rotate_image3d(self.image, self.rotmat, self.center, self.radius, self.out, nearest=True) self.answer[0, : self.radius, 0] = 1 self.assertTrue(np.allclose(self.answer, self.out))
def test_center(self): self.center = np.asarray((1, 0, 0), dtype=np.float64) _powerfit.rotate_image3d(self.image, self.rotmat, self.center, self.radius, self.out) self.answer[0, 0, : self.radius - 1] = 1 self.answer[0, 0, -1] = 1 self.assertTrue(np.allclose(self.answer, self.out))
def test_identity(self): # simple identity rotation _powerfit.rotate_image3d(self.image, self.rotmat, self.center, self.radius, self.out) self.assertTrue(np.allclose(self.out, self.image))