Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:48:52

0001 #!/usr/bin/env python
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)  # instance_idx      
0021     gas = cf.inst[:,1,3].view(np.int32)  # gas_idx      
0022     sid = cf.inst[:,2,3].view(np.int32)  # sensor_id       
0023     six = cf.inst[:,3,3].view(np.int32)  # sensor_idx       
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