Changelog
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Calendar Versioning.
The first number of the version is the year. The second number is incremented with each release, starting at 1 for each year. The third number is for emergencies when we need to start branches for older releases.
[Unreleased]
Added
metasignal computenow accepts trial data from a CSV file via--csv, as an alternative to typing--stim/--resp/--confinline.--stim-col/--resp-col/--conf-coloverride the default column names (stim/resp/conf).compute_all_measuresaccepts areturn_typekeyword ('array'(default, unchanged),'dict', or'dataframe') to get the 26 values labeled by measure name instead of by position. The canonical name list is exported asmetasignal.stdpy.MEASURE_NAMES.
Fixed
sdt_expect_conf(SDT-expected confidence distributions) now returns proportions matching MATLAB'sSDTexpectConf, instead of counts rescaled by trial totals. This corrects Ratio/Diff-family measures whenever S1 and S2 base rates differ.compute_meta_noisenow follows the MATLAB search/interpolation procedure and preserves signal-detection criteria boundary behavior (hit/false-alarm rates of 0 or 1 are no longer clipped), fixing large MATLAB↔Python divergences in sparse difficulty subsets.compute_meta_uncertaintynow uses a deterministic multi-start optimizer, removing optimizer-seed-dependent noise in the fitted estimate.compute_meta_noiseno longer produces a spuriousRuntimeWarning: invalid value encountered in log. Tiny floating-point negatives from criterion-grid differencing could reach alog()call unclipped, in rare cases corrupting the search bounds for the meta-noise optimizer on sparse difficulty subsets.
See docs/MATLAB_PYTHON_CORRECTIONS_REPORT.md for full validation numbers.
[2025.1.0] - 2026-07-04
Added
- Initial release of metasignal: Signal Detection Theory and metacognitive
measures for Python (
stdpypure-Python backend, optional MATLAB engine wrapper, CLI, and analysis notebooks). sdtbayessubpackage for hierarchical Bayesian meta-d'/meta-noise models: 7 estimation approaches (ordered logistic, two-stage, full HMeta-d, subject-level, beta-AUC, meta-regression, within-subject comparison) on cmdstanpy/Stan and brms backends, a shared formula interface, and ArviZ-based diagnostics.itmcsubpackage (experimental, pre-1.0 API) implementing the information-theoretic metacognition framework of Dayan (2023) —meta_I,meta_Ir1,meta_Ir1_acc,meta_Ir2,RMI, andpermtest_meta_I.- Documentation site (MkDocs + Read the Docs) with tutorials and API reference; CI workflows for tests, linting, docs, and Docker builds.