# PYME.localization.Test.fitTestJigSCMOS module¶

PYME.localization.Test.fitTestJigSCMOS.IQR(x)
PYME.localization.Test.fitTestJigSCMOS.emg(v, rg)
class PYME.localization.Test.fitTestJigSCMOS.fitTestJig(metadata, fitModule=None)

Bases: object

A class for testing fits.

Reads both simulation and analysis settings out of a metadata file, looking for the special metadata keys:
“Test.DefaultParams” - a vector containing the mean values of each model parameter to use when generating the
test data.
“Test.ParamJitter” - a vector containing the magnitude of variation to add to each parameter. Each test image is
generated with a different the model parameters randomly jittered in the range [DefaultParams - ParamJitter : DefaultParams + ParamJitter]. To generate data with a fixed set of parameter values, set ParamJitter to zeros

“Test.ROISize” - the half-size fo the ROI to simulate “Test.SimModule” - the name of the module used to simulate the data (if different from the analysis module) “Test.Background” - an additional background to add before noise generation and then subtract, to be used with fits

which do not have a background parameter and rely on the running background subtraction to provide an essentially background free image (some of the 3D fits).
“Test.PSFFile” - the name of a PSF file to use for simulation if not simulating with the same PSF which is used
for analysis [3D fits].

“Test.VarianceMapID” - variance map to use for simulation (if different from analysis) “Test.DarkMapID” - dark map to use for simulation (if different from analysis) “Test.FlatfieldMapID” - dark map to use for simulation (if different from analysis)

Attributes

Methods

 calcMEs() error(varName) Calculate the error (fitted - expected) for the parameter given by varName evalParams([params, param_jit]) Evaluate the given parameters (including parameter jitter if given) fromMDFile(mdfile) Create a new fit test jig from a metadata file plotRes(varName[, showStartParams, ...]) Plot a scatter plot of the fitted vs the simulated values. plotResSimp(varName[, subplot]) Plot a scatter plot of the fitted vs the simulated values (simple version). runTests([params, param_jit, nTests]) Simulate and fit multiple single molecules.

Initialize the fit test jig from metadata file

Parameters: metadata - PYME.IO.MetadataHandler.MetaDataHandler object The metadata containing simulation and analysis settings. See custom ‘Test.XX’ keys in class description fitModule - sting [optional, deprecated] The name of the fit module to use. This overrides the settings in the metadata, but is only retained for backwards compatibility. You should set the fit module in the metadata.

Attributes

Methods

 calcMEs() error(varName) Calculate the error (fitted - expected) for the parameter given by varName evalParams([params, param_jit]) Evaluate the given parameters (including parameter jitter if given) fromMDFile(mdfile) Create a new fit test jig from a metadata file plotRes(varName[, showStartParams, ...]) Plot a scatter plot of the fitted vs the simulated values. plotResSimp(varName[, subplot]) Plot a scatter plot of the fitted vs the simulated values (simple version). runTests([params, param_jit, nTests]) Simulate and fit multiple single molecules.
calcMEs()
error(varName)

Calculate the error (fitted - expected) for the parameter given by varName

Parameters: varName - string the name of the parameter to calculate the error for array of differences between fitted and model values
evalParams(params=None, param_jit=None)

Evaluate the given parameters (including parameter jitter if given)

Parameters: params - array The mean value of the parameters. Overrides settings in metadata if provided param_jit - array The amount of parameter jitter. Overrides settings in metadata if provided data, x0, y0, z0, p data is the array containing the evaluated model x0, y0 and z0 are the associated x y and z coordinates returned from evaluating the model p is the parameter set used to evaluate the model The primary use of this routine is to test parameter choices in the setup of a simulation, i.e. merely a convenience routine. Note that this method has some code duplication with runTests which is a bit unwieldy, ideally this should be turned into a helper method used by runTests.
classmethod fromMDFile(mdfile)

Create a new fit test jig from a metadata file

Parameters: mdfile - string the filename of the metadata file to use. The file should be in PYMEs ‘SimpleMDHandler’ (*.md) format. fitTestJig instance
plotRes(varName, showStartParams=True, errThreshold=None, nPlotEvents=500, y1range=None)

Plot a scatter plot of the fitted vs the simulated values.

Note that this version also attempts to plot the starting parameters used in the fit, so will not work with fits which do not record their starting parameters (e.g. latGaussFitFR)

Parameters: varName - string the name of the parameter to plot errThreshold - float optional, error threshold to filter fitResults only for events with fitError < errThreshold default: None (no filtering)
plotResSimp(varName, subplot=False)

Plot a scatter plot of the fitted vs the simulated values (simple version).

This just plots the fitted vs model values without errorbars or starting positions, so should work for all fits.

Parameters: varName - string the name of the parameter to plot
result_params
results
runTests(params=None, param_jit=None, nTests=100)

Simulate and fit multiple single molecules. The results are stored in the class itself and can be accessed by other methods.

Parameters: params - array The mean value of the parameters. Overrides settings in metadata if provided param_jit - array The amount of parameter jitter. Overrides settings in metadata if provided nTests - int The number of molecules to simulate self.sim_params contains the parameters used for simulation self.results contains the full fit results self.result_params contains the fitted params self.d2 is a list of the simulated data frames NB: the x and y params in both results and result_params will be offset by half the region of interest size. i.e. simulation co-ordinates are taken from the ROI centre and fitting coordinates are taken from the top left corner.
sim_params