File indexing completed on 2026-04-10 07:50:28
0001
0002
0003 import os, logging, numpy as np
0004 log = logging.getLogger(__name__)
0005
0006 from opticks.ana.fold import Fold
0007 from opticks.ana.p import *
0008 from opticks.sysrap.sevt import SEvt
0009
0010 MODE = int(os.environ.get("MODE","2"))
0011 if MODE > 0:
0012 from opticks.ana.pvplt import *
0013 else:
0014 pass
0015 pass
0016
0017 axes = 0, 2
0018 H,V = axes
0019
0020
0021 if __name__ == '__main__':
0022 logging.basicConfig(level=logging.INFO)
0023
0024 FOLD = os.environ.get("FOLD", None)
0025 log.info(" -- SEvt.Load FOLD" )
0026 a = SEvt.Load(FOLD, symbol="a")
0027 print(a)
0028
0029 SPECS = np.array(a.f.U4R_names.lines)
0030 st_ = a.f.aux[:,:,2,3].view(np.int32)
0031 st = SPECS[st_]
0032
0033
0034 w_fk_ = "np.where(a.fk>0)"
0035 w_fk = eval(w_fk_)
0036 print(w_fk_,"\n",w_fk)
0037
0038 w_fk8_ = "np.where(a.fk==8)"
0039 w_fk8 = eval(w_fk8_)
0040 print(w_fk8_,"\n",w_fk8)
0041
0042
0043 tab_fk_ = "np.c_[np.unique(a.fk,return_counts=True)]"
0044 tab_fk = eval(tab_fk_)
0045 print(tab_fk_,"\n",tab_fk)
0046
0047 qqtab_fk_ = "np.c_[np.unique(a.qq[w_fk], return_counts=True)]"
0048 qqtab_fk = eval(qqtab_fk_)
0049 print(qqtab_fk_,"\n",qqtab_fk)
0050
0051 post_fk_ = "a.f.record[tuple(w_fk[0]),tuple(w_fk[1]),0]"
0052 post_fk = eval(post_fk_)
0053 print(post_fk_,"\n",post_fk)
0054
0055 post_fk8_ = "a.f.record[tuple(w_fk8[0]),tuple(w_fk8[1]),0] # FAKE_MANUAL all on midline "
0056 post_fk8 = eval(post_fk8_)
0057 print(post_fk8_,"\n",post_fk8)
0058
0059 tab_st_fk_ = "np.c_[np.unique(st[w_fk],return_counts=True)]"
0060 tab_st_fk = eval(tab_st_fk_)
0061 print(tab_st_fk_,"\n",tab_st_fk)
0062
0063 tab_st_fk8_ = "np.c_[np.unique(st[w_fk8],return_counts=True)]"
0064 tab_st_fk8 = eval(tab_st_fk8_)
0065 print(tab_st_fk8_,"\n",tab_st_fk8_)
0066
0067
0068
0069
0070 label0, ppos0 = "b:%s" % post_fk_ , post_fk[:,:3]
0071
0072
0073 label1, ppos1 = "r:%s" % post_fk8_ ,post_fk8
0074
0075
0076 HEADLINE = "%s %s" % ( a.LAYOUT, a.CHECK )
0077 label = "\n".join( filter(None, [HEADLINE, label0, label1]))
0078 print(label)
0079
0080 if MODE == 0:
0081 print("not plotting as MODE 0 in environ")
0082 elif MODE == 2:
0083 fig, axs = mpplt_plotter(label=label)
0084 assert len(axs) == 1
0085 ax = axs[0]
0086
0087 ax.set_ylim(-250,250)
0088 ax.set_xlim(-500,500)
0089
0090 if not ppos0 is None: ax.scatter( ppos0[:,H], ppos0[:,V], s=1 )
0091 if not ppos1 is None: ax.scatter( ppos1[:,H], ppos1[:,V], s=1, c="r" )
0092
0093 fig.show()
0094 elif MODE == 3:
0095 pl = pvplt_plotter(label)
0096 os.environ["EYE"] = "0,100,165"
0097 os.environ["LOOK"] = "0,0,165"
0098 pvplt_viewpoint(pl)
0099 pl.add_points(ppos0)
0100 pl.show()
0101 pass
0102 pass