예제 #1
0
    def test_put_structure_nested_empty(self):

        v = {"s": {}}

        with self.assertRaises(idl._core.IDLValueError):

            idl.put("test_put_structure_nested_empty", v)
예제 #2
0
    def test_put_structure_nested_empty(self):

        v = {"s": {}}

        with self.assertRaises(idl._core.IDLValueError):

            idl.put("test_put_structure_nested_empty", v)
예제 #3
0
    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.")
예제 #4
0
    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)
예제 #5
0
    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.")
예제 #6
0
    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.")
예제 #7
0
    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.")
예제 #8
0
    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)
예제 #9
0
    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.")
예제 #10
0
    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.")
예제 #11
0
    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.")
예제 #12
0
    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).")
예제 #13
0
    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).")
예제 #14
0
    def test_put_string(self):

        idl.put("test_put_string", "test")
        self.assertEqual("test", idl.get("test_put_string"), "Failed to put string.")
예제 #15
0
    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.")
예제 #16
0
    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.")
예제 #17
0
    def test_put_string(self):

        idl.put("test_put_string", "test")
        self.assertEqual("test", idl.get("test_put_string"),
                         "Failed to put string.")
예제 #18
0
    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.")
예제 #19
0
    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.")
예제 #20
0
    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.")
예제 #21
0
    def test_put_array_empty(self):

        # IDL can not handle empty arras
        with self.assertRaises(idl._core.IDLValueError):

            idl.put("test_put_array_empty", [])
예제 #22
0
    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.")
예제 #23
0
    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.")
예제 #24
0
    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.")
예제 #25
0
    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.")
예제 #26
0
    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.")
예제 #27
0
    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.")
예제 #28
0
    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.")
예제 #29
0
    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.")
예제 #30
0
    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.")
예제 #31
0
    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.")
예제 #32
0
    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.")
예제 #33
0
    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.")
예제 #34
0
    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.")
예제 #35
0
    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.")
예제 #36
0
    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.")
예제 #37
0
    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.")
예제 #38
0
    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.")
예제 #39
0
    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.")
예제 #40
0
    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.")
예제 #41
0
    def test_put_array_empty(self):

        # IDL can not handle empty arras
        with self.assertRaises(idl._core.IDLValueError):

            idl.put("test_put_array_empty", [])
예제 #42
0
    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.")
예제 #43
0
    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.")
예제 #44
0
    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.")
예제 #45
0
    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.")
예제 #46
0
    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.")
예제 #47
0
    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.")
예제 #48
0
    def test_put_scalar_int(self):

        idl.put("test_put_int", -574)
        self.assertEqual(-574, idl.get("test_put_int"), "Failed to put int.")
예제 #49
0
    def test_put_scalar_int(self):

        idl.put("test_put_int", -574)
        self.assertEqual(-574, idl.get("test_put_int"), "Failed to put int.")
예제 #50
0
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)
예제 #51
0
    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.")