pluginmodel

sans.models.pluginmodel

class sans.models.pluginmodel.Model1DPlugin(name='Plugin Model')

Bases: sans.models.BaseComponent.BaseComponent

calculate_ER()
clone()
Returns a new object identical to the current object
evalDistribution(qdist)

Evaluate a distribution of q-values.

  • For 1D, a numpy array is expected as input:

    evalDistribution(q)

where q is a numpy array.

  • For 2D, a list of numpy arrays are expected: [qx_prime,qy_prime], where 1D arrays,

qx_prime = [ qx[0], qx[1], qx[2], ....] and qy_prime = [ qy[0], qy[1], qy[2], ....]

Then get q = numpy.sqrt(qx_prime^2+qy_prime^2)

that is a qr in 1D array; q = [q[0], q[1], q[2], ....]

Note :

Due to 2D speed issue, no anisotropic scattering is supported for python models, thus C-models should have

their own evalDistribution methods.

The method is then called the following way:

evalDistribution(q) where q is a numpy array.

Parameters:
  • qdist – ndarray of scalar q-values or list [qx,qy] where qx,qy are 1D ndarrays
function(x)
Function to be implemented by the plug-in writer
getDispParamList()
Return a list of all available parameters for the model
getParam(name)

Set the value of a model parameter

Parameters:
  • name – name of the parameter
getParamList()
Return a list of all available parameters for the model
getParamListWithToken(token, member)
getParamWithToken(name, token, member)
is_fittable(par_name)

Check if a given parameter is fittable or not

Parameters:
  • par_name – the parameter name to check
run(x=0.0)

Evaluate the model

Parameters:
  • x – input x, or [x, phi] [radian]
Returns:

function value

runXY(x=0.0)

Evaluate the model

Parameters:
  • x – input x, or [x, y]
Returns:

function value

setParam(name, value)

Set the value of a model parameter

Parameters:
  • name – name of the parameter
  • value – value of the parameter
setParamWithToken(name, value, token, member)

Table Of Contents

Previous topic

PeakLorentzModel

Next topic

Poly_GaussCoil

This Page