Metadata-Version: 2.4
Name: SweetSpot
Version: 1.4.0
Summary: Efficient psychophysical adaptive procedures
Home-page: https://bitbucket.org/snapproject/SweetSpot
Author: Jeremy Hill
Author-email: jezhill@gmail.com
License: CC0-1.0
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: numpy
Provides-Extra: plotting
Requires-Dist: matplotlib; extra == "plotting"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: license-file
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: summary

SweetSpot is a small Python package for adaptive psychophysical procedures and
psychometric-function estimation.  It is intended to keep the core experimental
logic lightweight and explicit, with `numpy` as the only required numerical
dependency and `matplotlib` optionally used for visualization and diagnostics.

The package provides:

* `PsychophysicalData`, for storing and collating stimulus/response data.

* `PsychometricFunction`, a four-parameter psychometric-function model with
  configurable sigmoid shapes, priors, parameter grids, likelihoods, posterior
  summaries, and simulated responses.

* `PsychometricLinkFunction` subclasses such as `Logistic` and `Gumbel`.  Weibull
  behavior is represented as a Gumbel function in log-stimulus space, via
  `LogTransform`, which avoids the numerical awkwardness of native Weibull
  parameterizations near zero.

* Parameterizable prior distributions such as `Gaussian`, with mutable named
  properties (`mu`, `sigma`) and change notifications that support live
  visualization of the effect of the prior.
  
* `WUD`, an implementation of Kaernbach's weighted up-down staircase: a simple,
  useful, old-fashioned adaptive procedure.

* `QUEST`, a classic Watson-and-Pelli-style Bayesian threshold tracker, built on
  the same posterior-update machinery as the more general Bayesian procedures.

* `PsiMarginal`, a discrete-grid implementation of Prins's psi-marginal method.
  It maintains a posterior over psychometric-function parameters, marginalizes
  over nuisance parameters, and chooses stimuli to reduce uncertainty in the
  parameter or parameters of interest.  With `parameterOfInterest='alpha,beta'`
  and fixed asymptote parameters, it can also be configured to behave like the
  classic Psi method of Kontsevich and Tyler.

* `Simulate()`, a convenience function for testing adaptive procedures against
  simulated observers and visualizing their behavior.

SweetSpot is public-domain software released under CC0.
