示例#1
0
 def saxs_to_pif_properties(self,q_I,T_C):
     #props = []
     #for i in range(len(q)):
     pq = pifobj.Property()
     n_qpoints = q_I.shape[0]
     ### property: scattered intensity
     pI = pifobj.Property()
     pI.name = 'SAXS intensity'
     pI.scalars = [pifobj.Scalar(q_I[i,1]) for i in range(n_qpoints)]
     pI.units = 'counts'
     pI.conditions = []
     pI.conditions.append( pifobj.Value('SAXS scattering vector', 
                         [pifobj.Scalar(q_I[i,0]) for i in range(n_qpoints)],
                         None,None,'1/Angstrom') )
     pI.conditions.append(pifobj.Value('temperature',[pifobj.Scalar(T_C)],None,None,'degrees Celsius'))
     return [pq,pI] 
示例#2
0
 def feature_property(self, fval, fname, funits=''):
     pf = pifobj.Property()
     pf.name = fname
     pf.scalars = [pifobj.Scalar(fval)]
     if funits:
         pf.units = funits
     return pf
示例#3
0
 def q_I_property(self, q_I):
     pI = pifobj.Property()
     n_qpoints = q_I.shape[0]
     pI.scalars = [pifobj.Scalar(q_I[i, 1]) for i in range(n_qpoints)]
     pI.units = 'counts'
     pI.conditions = []
     pI.conditions.append(
         pifobj.Value('scattering vector',
                      [pifobj.Scalar(q_I[i, 0]) for i in range(n_qpoints)],
                      None, None, None, '1/Angstrom'))
     return pI
示例#4
0
 def time_feature_property(self, t_f, fname, funits=''):
     pf = pifobj.Property()
     pf.name = fname
     npts = t_f.shape[0]
     pf.scalars = [pifobj.Scalar(t_f[i, 1]) for i in range(npts)]
     if funits:
         pf.units = funits
     pf.conditions = []
     pf.conditions.append(
         pifobj.Value('reaction time',
                      [pifobj.Scalar(t_f[i, 0]) for i in range(npts)], None,
                      None, None, 'seconds'))
     return pf
示例#5
0
def scalar_property(fname, fval, desc=None, data_type=None, funits=None):
    pf = pifobj.Property()
    pf.name = fname
    if isinstance(fval, list):
        pf.scalars = [pifobj.Scalar(v) for v in fval]
    else:
        pf.scalars = [pifobj.Scalar(fval)]
    if desc:
        pf.tags = [desc]
    if data_type:
        pf.dataType = data_type
    if funits:
        pf.units = funits
    return pf
示例#6
0
def q_I_property(q_I,
                 qunits='1/Angstrom',
                 Iunits='arb',
                 propname='SAXS intensity'):
    pI = pifobj.Property()
    n_qpoints = q_I.shape[0]
    pI.scalars = [pifobj.Scalar(q_I[i, 1]) for i in range(n_qpoints)]
    pI.units = Iunits
    pI.conditions = []
    pI.conditions.append(
        pifobj.Value('scattering vector',
                     [pifobj.Scalar(q_I[i, 0]) for i in range(n_qpoints)],
                     None, None, None, qunits))
    pI.name = propname
    return pI