def get_soap_fingerprint(self): qp = self.ctx.quippy_atoms soapargs = self.inputs.soapargs.get_dict() spkit = get_spkit(qp) soap = get_soap(qp, spkit=spkit, spkitMax=self.inputs.spkit_max.get_dict(), **kwargs) self.out('soap', Dict(soap))
def get_raw_soap_wrapper(kwargs): fpointer = kwargs.pop('fpointer') # need to copy the frame to avoid seg fault in quip if rerun the procedure on the same name space frame = qp.Atoms(fpointer=fpointer).copy() kwargs.update({'atoms': frame, 'spkit': get_spkit(frame)}) idx = kwargs.pop('idx') return (idx, get_soap(**kwargs))
def get_soap_fingerprint(self): qp = self.ctx.quippy_atoms soapargs = self.inputs.soapargs.get_dict() spkit = get_spkit(qp) soap = get_soap(qp, spkit=spkit, spkitMax=self.inputs.spkit_max.get_dict(), **soapargs) soap_array = np.array(soap.values()) self.out('soap', ArraData(soap_array))
def get(self): parser = flask_restful.reqparse.RequestParser() argument_names = [ 'atoms', 'spkitMax', 'nocenters', 'gaussian_width', 'spkit', 'cutoff', 'cutoff_transition_width', 'nmax', 'lmax' ] for argument_name in argument_names: parser.add_argument(ARGUMENTS[argument_name]) args = parser.parse_args(strict=True) args['atoms'] = atoms_utils.loads(args['atoms']) args['atoms'] = ase2qp(args['atoms']) args['spkitMax'] = json.loads(args['spkitMax']) if not args['spkit']: args['spkit'] = get_spkit(args['atoms']) # args['atoms'] = [args['atoms']] soaps = get_soap(**args) # soaps = {key: value.tolist() for key, value in soaps.iteritems()} soaps = soaps.tolist() return flask.jsonify(soaps)
def get_raw_soap_dim(frame, soap_params): raw_soap = get_soap(frame, spkit=get_spkit(frame), **soap_params) Ncenter, Ncoef = raw_soap.shape return Ncoef