diffpy.srfit.sas package
Submodules
diffpy.srfit.sas.prcalculator module
Nanoparticle form factor P(r) calculator.
The PrCalculator class wraps a sas.pr.invertor.Invertor object as a Calculator. This is not wrapped as a ProfileGenerator because it will be used to share information between SAS I(Q) to PDF G(r), but it does not use the same profile as the PDF, which is where the calculator will be applied.
- class diffpy.srfit.sas.prcalculator.CFCalculator(name)[source]
Bases:
PrCalculator
A class for calculating the characteristic function (CF) from data.
This calculator produces f(r) = P(r) / 4 pi r**2 which is the nanoparticle form factor scaled by density.
- _invertor
sas.pr.invertor.Invertor object. This object is internal, but can be configured by the user after initialization. Note that the ‘x’, ‘y’ and ‘err’ attributes get overwritten every time the invertor is used.
- scale
The scale factor (default 1).
- q
The q-values of the I(q) signal
- iq
The I(q) signal
- diq
The uncertainty in I(q)
- class diffpy.srfit.sas.prcalculator.PrCalculator(name)[source]
Bases:
Calculator
A class for calculating P(r) from data.
This is provided so that SAS data can be used to calculate a nanoparticle form factor (characteristic function) for nanoparticle PDF refinements. For a crystal-like nanoparticle: Gnano(r) = f(r)Gcrystal(r), where f(r) is the nanoparticle form factor. This is obtained from P(r) as P(r) = 4 pi r**2 f(r).
- _invertor
sas.pr.invertor.Invertor object. This object is internal, but can be configured by the user after initialization. Note that the ‘x’, ‘y’ and ‘err’ attributes get overwritten every time the invertor is used.
- scale
The scale factor (default 1).
- q
The q-values of the I(q) signal
- iq
The I(q) signal
- diq
The uncertainty in I(q)
diffpy.srfit.sas.sasgenerator module
SAS profile generator.
The SASGenerator class wraps a sas.models.BaseModel object as a ProfileGenerator.
- class diffpy.srfit.sas.sasgenerator.SASGenerator(name, model)[source]
Bases:
ProfileGenerator
A class for calculating I(Q) from a scattering type.
- _model
BaseModel object this adapts.
- Managed Parameters
These depend on the parameters of the BaseModel object held by _model. They are created from the ‘params’ attribute of the BaseModel. If a dispersion is set for the BaseModel, the dispersion “width” will be accessible under “<parname>_width”, where <parname> is the name a parameter adjusted by dispersion.
diffpy.srfit.sas.sasparameter module
SAS profile generator.
The SASGenerator class wraps a sas.models.BaseModel object as a ProfileGenerator.
- class diffpy.srfit.sas.sasparameter.SASParameter(name, model, parname=None)[source]
Bases:
Parameter
Class adapting a sasmodel parameter to srfit Parameter.
- name
A name for this Parameter.
- const
A flag indicating whether this is considered a constant.
- _value
The value of the Parameter. Modified with ‘setValue’.
- value
Property for ‘getValue’ and ‘setValue’.
- constrained
A flag indicating if the Parameter is constrained (default False).
- bounds
A 2-list defining the bounds on the Parameter. This can be used by some optimizers when the Parameter is varied. These bounds are unrelated to restraints on a Parameter.
- _model
The BaseModel to which the underlying parameter belongs.
- _parname
The name of the underlying BaseModel parameter.
diffpy.srfit.sas.sasparser module
This module contains parsers for SAS data.
SASParser uses the sas DataLoader class to load data.
- class diffpy.srfit.sas.sasparser.SASParser[source]
Bases:
ProfileParser
Class for parsing a sas profile.
This uses a sas DataLoader to load the data. The DataInfo object it returns is held in the metadata under the name “datainfo”.
Attributes
- _format
Name of the data format that this parses (string, default “”). The format string is a unique identifier for the data format handled by the parser.
- _banks
The data from each bank. Each bank contains a (x, y, dx, dy) tuple:
- x
A numpy array containing the independent variable read from the file.
- y
A numpy array containing the profile from the file.
- dx
A numpy array containing the uncertainty in x read from the file. This is 0 if the uncertainty cannot be read.
- dy
A numpy array containing the uncertainty read from the file. This is 0 if the uncertainty cannot be read.
- _x
Independent variable from the chosen bank
- _y
Profile from the chosen bank
- _dx
Uncertainty in independent variable from the chosen bank
- _dy
Uncertainty in profile from the chosen bank
- _meta
A dictionary containing metadata read from the file.
- filename
The name of the file from which data was parsed. This key will not exist if data was not read from file.
- nbanks
The number of banks parsed.
- bank
The chosen bank number.
- datainfo
The DataInfo object used to do the data parsing.
These may appear in the metadata dictionary
- parseFile(filename)[source]
Parse a file and set the _x, _y, _dx, _dy and _meta variables.
This wipes out the currently loaded data and selected bank number.
- Parameters:
filename – The name of the file to parse
read (Raises IOError if the file cannot be)
parsed (Raises ParseError if the file cannot be)
- parseString(patstring)[source]
Parse a string and set the _x, _y, _dx, _dy and _meta variables.
When _dx or _dy cannot be obtained in the data format it is set to 0.
This wipes out the currently loaded data and selected bank number.
- Parameters:
patstring – A string containing the pattern
parsed (Raises ParseError if the string cannot be)
diffpy.srfit.sas.sasprofile module
Class for adapting a sas DataInfo objects to the Profile interface.
- class diffpy.srfit.sas.sasprofile.SASProfile(datainfo)[source]
Bases:
Profile
Observed and calculated profile container for SAS data.
This wraps a sas DataInfo object as a Profile object. Use this when you want to use and manipulate a DataProfile before using it with SrFit. Otherwise, use the SASParser class and load the data into a base Profile object.
Attributes
- _xobs
A numpy array of the observed independent variable (default None)
- xobs
Read-only property of _xobs.
- _yobs
A numpy array of the observed signal (default None)
- yobs
Read-only property of _yobs.
- _dyobs
A numpy array of the uncertainty of the observed signal (default None, optional).
- dyobs
Read-only property of _dyobs.
- x
A numpy array of the calculated independent variable (default None, property for xpar accessors).
- y
The profile over the calculation range (default None, property for ypar accessors).
- dy
The uncertainty in the profile over the calculation range (default None, property for dypar accessors).
- ycalc
A numpy array of the calculated signal (default None).
- xpar
A ProfileParameter that stores x (named “x”).
- ypar
A ProfileParameter that stores y (named “y”).
- dypar
A ProfileParameter that stores dy (named “dy”).
- meta
A dictionary of metadata. This is only set if provided by a parser.
- _datainfo
The DataInfo object this wraps.
- setObservedProfile(xobs, yobs, dyobs=None)[source]
Set the observed profile.
This is overloaded to change the value within the datainfo object.
- Parameters:
xobs – Numpy array of the independent variable
yobs – Numpy array of the observed signal.
dyobs – Numpy array of the uncertainty in the observed signal. If dyobs is None (default), it will be set to 1 at each observed xobs.
len(xobs) (Raises ValueError if dyobs != None and len(dyobs) !=)
len(xobs)
Module contents
SAS calculation tools.
- class diffpy.srfit.sas.CFCalculator(name)[source]
Bases:
PrCalculator
A class for calculating the characteristic function (CF) from data.
This calculator produces f(r) = P(r) / 4 pi r**2 which is the nanoparticle form factor scaled by density.
- _invertor
sas.pr.invertor.Invertor object. This object is internal, but can be configured by the user after initialization. Note that the ‘x’, ‘y’ and ‘err’ attributes get overwritten every time the invertor is used.
- scale
The scale factor (default 1).
- q
The q-values of the I(q) signal
- iq
The I(q) signal
- diq
The uncertainty in I(q)
- class diffpy.srfit.sas.PrCalculator(name)[source]
Bases:
Calculator
A class for calculating P(r) from data.
This is provided so that SAS data can be used to calculate a nanoparticle form factor (characteristic function) for nanoparticle PDF refinements. For a crystal-like nanoparticle: Gnano(r) = f(r)Gcrystal(r), where f(r) is the nanoparticle form factor. This is obtained from P(r) as P(r) = 4 pi r**2 f(r).
- _invertor
sas.pr.invertor.Invertor object. This object is internal, but can be configured by the user after initialization. Note that the ‘x’, ‘y’ and ‘err’ attributes get overwritten every time the invertor is used.
- scale
The scale factor (default 1).
- q
The q-values of the I(q) signal
- iq
The I(q) signal
- diq
The uncertainty in I(q)
- class diffpy.srfit.sas.SASGenerator(name, model)[source]
Bases:
ProfileGenerator
A class for calculating I(Q) from a scattering type.
- _model
BaseModel object this adapts.
- Managed Parameters
These depend on the parameters of the BaseModel object held by _model. They are created from the ‘params’ attribute of the BaseModel. If a dispersion is set for the BaseModel, the dispersion “width” will be accessible under “<parname>_width”, where <parname> is the name a parameter adjusted by dispersion.
- class diffpy.srfit.sas.SASParser[source]
Bases:
ProfileParser
Class for parsing a sas profile.
This uses a sas DataLoader to load the data. The DataInfo object it returns is held in the metadata under the name “datainfo”.
Attributes
- _format
Name of the data format that this parses (string, default “”). The format string is a unique identifier for the data format handled by the parser.
- _banks
The data from each bank. Each bank contains a (x, y, dx, dy) tuple:
- x
A numpy array containing the independent variable read from the file.
- y
A numpy array containing the profile from the file.
- dx
A numpy array containing the uncertainty in x read from the file. This is 0 if the uncertainty cannot be read.
- dy
A numpy array containing the uncertainty read from the file. This is 0 if the uncertainty cannot be read.
- _x
Independent variable from the chosen bank
- _y
Profile from the chosen bank
- _dx
Uncertainty in independent variable from the chosen bank
- _dy
Uncertainty in profile from the chosen bank
- _meta
A dictionary containing metadata read from the file.
- filename
The name of the file from which data was parsed. This key will not exist if data was not read from file.
- nbanks
The number of banks parsed.
- bank
The chosen bank number.
- datainfo
The DataInfo object used to do the data parsing.
These may appear in the metadata dictionary
- parseFile(filename)[source]
Parse a file and set the _x, _y, _dx, _dy and _meta variables.
This wipes out the currently loaded data and selected bank number.
- Parameters:
filename – The name of the file to parse
read (Raises IOError if the file cannot be)
parsed (Raises ParseError if the file cannot be)
- parseString(patstring)[source]
Parse a string and set the _x, _y, _dx, _dy and _meta variables.
When _dx or _dy cannot be obtained in the data format it is set to 0.
This wipes out the currently loaded data and selected bank number.
- Parameters:
patstring – A string containing the pattern
parsed (Raises ParseError if the string cannot be)
- class diffpy.srfit.sas.SASProfile(datainfo)[source]
Bases:
Profile
Observed and calculated profile container for SAS data.
This wraps a sas DataInfo object as a Profile object. Use this when you want to use and manipulate a DataProfile before using it with SrFit. Otherwise, use the SASParser class and load the data into a base Profile object.
Attributes
- _xobs
A numpy array of the observed independent variable (default None)
- xobs
Read-only property of _xobs.
- _yobs
A numpy array of the observed signal (default None)
- yobs
Read-only property of _yobs.
- _dyobs
A numpy array of the uncertainty of the observed signal (default None, optional).
- dyobs
Read-only property of _dyobs.
- x
A numpy array of the calculated independent variable (default None, property for xpar accessors).
- y
The profile over the calculation range (default None, property for ypar accessors).
- dy
The uncertainty in the profile over the calculation range (default None, property for dypar accessors).
- ycalc
A numpy array of the calculated signal (default None).
- xpar
A ProfileParameter that stores x (named “x”).
- ypar
A ProfileParameter that stores y (named “y”).
- dypar
A ProfileParameter that stores dy (named “dy”).
- meta
A dictionary of metadata. This is only set if provided by a parser.
- _datainfo
The DataInfo object this wraps.
- setObservedProfile(xobs, yobs, dyobs=None)[source]
Set the observed profile.
This is overloaded to change the value within the datainfo object.
- Parameters:
xobs – Numpy array of the independent variable
yobs – Numpy array of the observed signal.
dyobs – Numpy array of the uncertainty in the observed signal. If dyobs is None (default), it will be set to 1 at each observed xobs.
len(xobs) (Raises ValueError if dyobs != None and len(dyobs) !=)
len(xobs)