File indexing completed on 2026-04-09 07:49:17
0001
0002 """
0003 sgenstep__test.py
0004 ================
0005
0006 ~/o/sysrap/tests/sgenstep__test.sh
0007
0008 """
0009 import os
0010 import numpy as np
0011 u_ = lambda a:np.c_[np.unique(a,return_counts=True)]
0012 MODE = int(os.environ.get("MODE","0"))
0013
0014 pvplt_plotter = None
0015 pvplt_viewpoint = None
0016 pvplt_arrows = None
0017 pvplt_lines = None
0018 pv = None
0019
0020 if MODE in [2,3]:
0021 try:
0022 from opticks.ana.pvplt import pvplt_plotter, pvplt_viewpoint, pvplt_arrows, pvplt_lines
0023 import pyvista as pv
0024 except ImportError:
0025 pass
0026 pass
0027 pass
0028
0029
0030 if __name__ == '__main__':
0031 path = os.path.expandvars("$GSPATH")
0032 gs = np.load(path)
0033 print(path)
0034 print(gs.shape)
0035
0036 gentype = gs[:,0,0].view(np.int32)
0037 trackid = gs[:,0,1].view(np.int32)
0038 matline = gs[:,0,2].view(np.int32)
0039 numphoton = gs[:,0,3].view(np.int32)
0040
0041 print("gentype\n", gentype)
0042 print("trackid\n", trackid)
0043 print("matline\n", matline)
0044 print("numphoton\n", numphoton)
0045
0046 u_gentype = u_(gentype)
0047 u_trackid = u_(trackid)
0048 u_matline = u_(matline)
0049 u_numphoton = u_(numphoton)
0050
0051 print("u_gentype\n", u_gentype)
0052 print("u_trackid\n", u_trackid)
0053 print("u_matline\n", u_matline)
0054 print("u_numphoton\n", u_numphoton)
0055
0056 pos = gs[:,1,:3]
0057 print("pos\n", pos)
0058
0059 dp = gs[:,2,:3]
0060 print("dp:DeltaPosition\n", dp)
0061
0062 label = "sgenstep_test %s" % path
0063 print("label\n", label)
0064
0065 r = 17800
0066
0067
0068 if MODE == 3:
0069 pl = pvplt_plotter(label=label)
0070 pvplt_viewpoint( pl )
0071
0072 sp = pv.Sphere(radius=r, start_theta=0, end_theta=180 )
0073
0074 pl.add_mesh(sp)
0075
0076 pvplt_lines( pl, pos, dp, linecolor="red", pointcolor="red" )
0077 cp = pl.show()
0078 print("cp\n", cp)
0079 else:
0080 print("MODE:%d not plotting : use MODE=3 to pvplt " % MODE )
0081 pass