File indexing completed on 2026-04-09 07:48:52
0001
0002 """
0003 CSGFoundry_py_test.py
0004 ========================
0005
0006 ::
0007
0008 ct ; ./CSGFoundry_py_test.sh
0009
0010
0011 """
0012 import os, textwrap, numpy as np, logging
0013 log = logging.getLogger(__name__)
0014 from opticks.CSG.CSGFoundry import CSGFoundry
0015
0016 if __name__ == '__main__':
0017 cf = CSGFoundry.Load()
0018 print(repr(cf))
0019
0020 ins = cf.inst[:,0,3].view(np.int32)
0021 gas = cf.inst[:,1,3].view(np.int32)
0022 sid = cf.inst[:,2,3].view(np.int32)
0023 six = cf.inst[:,3,3].view(np.int32)
0024
0025 ugas,ngas = np.unique(gas, return_counts=True)
0026
0027 EXPR = list(filter(None,textwrap.dedent(r"""
0028 cf.inst[:,:,3].view(np.int32)
0029 (sid.min(), sid.max())
0030 (six.min(), six.max())
0031 np.c_[ugas,ngas,cf.mmlabel]
0032
0033 sid[gas==0].size,np.c_[np.unique(sid[gas==0],return_counts=True)]
0034 sid[gas==1].size,np.c_[np.unique(sid[gas==1],return_counts=True)]
0035 sid[gas==2].size,np.c_[np.unique(sid[gas==2],return_counts=True)]
0036 sid[gas==3].size,np.c_[np.unique(sid[gas==3],return_counts=True)]
0037 sid[gas==4].size,np.c_[np.unique(sid[gas==4],return_counts=True)]
0038 sid[gas==5].size,np.c_[np.unique(sid[gas==5],return_counts=True)]
0039 sid[gas==6].size,np.c_[np.unique(sid[gas==6],return_counts=True)]
0040 sid[gas==7].size,np.c_[np.unique(sid[gas==7],return_counts=True)]
0041 sid[gas==8].size,np.c_[np.unique(sid[gas==8],return_counts=True)]
0042 sid[gas==9].size,np.c_[np.unique(sid[gas==9],return_counts=True)]
0043
0044 """).split("\n")))
0045
0046 for expr in EXPR:
0047 print(expr)
0048 if expr[0] == ' ': continue
0049 print(eval(expr))
0050 pass
0051
0052 sid2 = cf.sim.stree.sensor_id[:,0]
0053
0054
0055