def test_put_structure_nested_empty(self): v = {"s": {}} with self.assertRaises(idl._core.IDLValueError): idl.put("test_put_structure_nested_empty", v)
def test_put_structure_nested(self): v = {"s": {"a": 5, "b": 7}} idl.put("test_put_structure_nested", v) self.assertEqual(v, idl.get("test_put_structure_nested"), "Failed to put nested structure.")
def test_put_structure_bad_keys(self): v = {"alpha": 1, "beta": 2, "Alpha": 3} with self.assertRaises(idl._core.IDLValueError): idl.put("test_put_structure_bad_keys", v)
def test_put_list(self): # lists get converted to numpy arrays by put v = [1, 2, 3, 4, 5] idl.put("test_put_list", v) self.assertArrayEqual(np.array(v), idl.get("test_put_list"), "Failed to put list.")
def test_put_array_complex128(self): v = np.array([1 + 6j, 2 + 7j, 3 + 8j, 4 + 9j, 5 + 10j], dtype=np.complex128) idl.put("test_put_array_1d_complex128", v) self.assertArrayEqual(v, idl.get("test_put_array_1d_complex128"), "Failed to put complex128 array.")
def test_put_structure_basic(self): v = {"a": 1, "b": 1.0, "c": 1+2j, "d": "test"} idl.put("test_put_structure_basic", v) self.assertEqual(v, idl.get("test_put_structure_basic"), "Failed to put basic structure.")
def test_put_structure_basic(self): v = {"a": 1, "b": 1.0, "c": 1 + 2j, "d": "test"} idl.put("test_put_structure_basic", v) self.assertEqual(v, idl.get("test_put_structure_basic"), "Failed to put basic structure.")
def test_put_array_multidimensional(self): # ND array v = np.arange(8 * 7 * 6 * 5 * 4 * 3 * 2 * 1, dtype=np.int32).reshape( (1, 2, 3, 4, 5, 6, 7, 8)) idl.put("test_put_array_multidimensional", v) self.assertArrayEqual(v, idl.get("test_put_array_multidimensional"), "Failed to put multidimensional array.")
def test_put_structure_array(self): v = {"a": np.array([1, 2, 3, 4, 5], dtype=np.int16), "b": np.array(["alpha", "beta"])} idl.put("test_put_structure_array", v) self.assertArrayEqual(v["a"], idl.get("test_put_structure_array")["a"], "Failed to put array structure (scalar array).") self.assertArrayEqual(v["b"], idl.get("test_put_structure_array")["b"], "Failed to put array structure (string array).")
def test_put_structure_array(self): v = { "a": np.array([1, 2, 3, 4, 5], dtype=np.int16), "b": np.array(["alpha", "beta"]) } idl.put("test_put_structure_array", v) self.assertArrayEqual(v["a"], idl.get("test_put_structure_array")["a"], "Failed to put array structure (scalar array).") self.assertArrayEqual(v["b"], idl.get("test_put_structure_array")["b"], "Failed to put array structure (string array).")
def test_put_string(self): idl.put("test_put_string", "test") self.assertEqual("test", idl.get("test_put_string"), "Failed to put string.")
def test_put_array_float64(self): v = np.array([1, 2, 3, 4, 5], dtype=np.float64) idl.put("test_put_array_1d_float64", v) self.assertArrayEqual(v, idl.get("test_put_array_1d_float64"), "Failed to put float64 array.")
def test_put_array_string(self): v = np.array([["dog", "", "lemon"], ["cat", "fish", "siren"]]) idl.put("test_put_array_string", v) self.assertArrayEqual(v, idl.get("test_put_array_string"), "Failed to put string array.")
def test_put_array_int16(self): v = np.array([1, 2, 3, 4, 5], dtype=np.int16) idl.put("test_put_array_1d_int16", v) self.assertArrayEqual(v, idl.get("test_put_array_1d_int16"), "Failed to put int16 array.")
def test_put_scalar_numpy_uint32(self): idl.put("test_put_numpy_uint32", np.uint32(1015574)) self.assertEqual(1015574, idl.get("test_put_numpy_uint32"), "Failed to put numpy uint32.")
def test_put_array_empty(self): # IDL can not handle empty arras with self.assertRaises(idl._core.IDLValueError): idl.put("test_put_array_empty", [])
def test_put_scalar_numpy_float32(self): idl.put("test_put_numpy_float32", np.float32(1.0)) self.assertEqual(1.0, idl.get("test_put_numpy_float32"), "Failed to put numpy float32.")
def test_put_array_multidimensional(self): # ND array v = np.arange(8*7*6*5*4*3*2*1, dtype=np.int32).reshape((1, 2, 3, 4, 5, 6, 7, 8)) idl.put("test_put_array_multidimensional", v) self.assertArrayEqual(v, idl.get("test_put_array_multidimensional"), "Failed to put multidimensional array.")
def test_put_array_complex128(self): v = np.array([1+6j, 2+7j, 3+8j, 4+9j, 5+10j], dtype=np.complex128) idl.put("test_put_array_1d_complex128", v) self.assertArrayEqual(v, idl.get("test_put_array_1d_complex128"), "Failed to put complex128 array.")
def test_put_array_uint32(self): v = np.array([1, 2, 3, 4, 5], dtype=np.uint32) idl.put("test_put_array_1d_uint32", v) self.assertArrayEqual(v, idl.get("test_put_array_1d_uint32"), "Failed to put uint32 array.")
def test_put_scalar_numpy_uint8(self): idl.put("test_put_numpy_uint8", np.uint8(145)) self.assertEqual(145, idl.get("test_put_numpy_uint8"), "Failed to put numpy uint8.")
def test_put_scalar_numpy_uint16(self): idl.put("test_put_numpy_uint16", np.uint16(1574)) self.assertEqual(1574, idl.get("test_put_numpy_uint16"), "Failed to put numpy uint16.")
def test_put_scalar_numpy_complex64(self): idl.put("test_put_numpy_complex64", np.complex64(2.0 + 1.0j)) self.assertEqual(2.0 + 1.0j, idl.get("test_put_numpy_complex64"), "Failed to put numpy complex64.")
def test_put_scalar_numpy_uint64(self): idl.put("test_put_numpy_uint64", np.int64(10156545740)) self.assertEqual(10156545740, idl.get("test_put_numpy_uint64"), "Failed to put numpy uint64.")
def test_put_scalar_numpy_float64(self): idl.put("test_put_numpy_float64", np.float64(-1.0)) self.assertEqual(-1.0, idl.get("test_put_numpy_float64"), "Failed to put numpy float64.")
def test_put_scalar_numpy_complex128(self): idl.put("test_put_numpy_complex128", np.complex128(2.0 - 1.0j)) self.assertEqual(2.0 - 1.0j, idl.get("test_put_numpy_complex128"), "Failed to put numpy complex128.")
def test_put_scalar_complex(self): idl.put("test_put_complex", 2.0+1.0j) self.assertEqual(2.0+1.0j, idl.get("test_put_complex"), "Failed to put complex.")
def test_put_scalar_numpy_complex64(self): idl.put("test_put_numpy_complex64", np.complex64(2.0+1.0j)) self.assertEqual(2.0+1.0j, idl.get("test_put_numpy_complex64"), "Failed to put numpy complex64.")
def test_put_scalar_float(self): idl.put("test_put_float", 2.0) self.assertEqual(2.0, idl.get("test_put_float"), "Failed to put float.")
def test_put_scalar_numpy_complex128(self): idl.put("test_put_numpy_complex128", np.complex128(2.0-1.0j)) self.assertEqual(2.0-1.0j, idl.get("test_put_numpy_complex128"), "Failed to put numpy complex128.")
def test_put_scalar_complex(self): idl.put("test_put_complex", 2.0 + 1.0j) self.assertEqual(2.0 + 1.0j, idl.get("test_put_complex"), "Failed to put complex.")
def test_put_scalar_int(self): idl.put("test_put_int", -574) self.assertEqual(-574, idl.get("test_put_int"), "Failed to put int.")
direction = Vector3D(0.919, -0.389, -0.057).normalise() #optical axis los = los + direction * 0.9 up = Vector3D(1, 1, 1) pos = translate(los.x, los.y, los.z) * rotate_basis(direction, up) print(los) view = {'view': los, 'direction': direction, 'pos': pos} with open('/home/sgibson/Desktop/beam_sample2.pkl', 'wb') as f: pickle.dump(beam, f, pickle.HIGHEST_PROTOCOL) with open('/home/sgibson/Desktop/view.pkl', 'wb') as f: pickle.dump(view, f, pickle.HIGHEST_PROTOCOL) idl.put('xc', xc) idl.put('yc', yc) idl.put('zc', zc) idl.put('full_energy', full_energy) idl.put('half_energy', half_energy) idl.put('third_energy', third_energy) idl.execute( 'save,xc,yc,zc,full_energy,half_energy,third_energy,filename="/home/sgibson/Project/msesim/beam_params.xdr"' ) # ############################### OBSERVATION ############################### # print('Observation') duct_pos = Point3D(0.539, -1.926, 0) #Position of beam south_pos.vector_to(duct_pos)