{"id":34049417,"url":"https://github.com/krlennon/mastercurves","last_synced_at":"2026-04-01T23:02:36.543Z","repository":{"id":39833473,"uuid":"368975369","full_name":"krlennon/mastercurves","owner":"krlennon","description":"Python package for automatically superimposing data sets to create a master curve, using Gaussian process regression and maximum a posteriori estimation.","archived":false,"fork":false,"pushed_at":"2023-02-20T15:40:57.000Z","size":1981,"stargazers_count":12,"open_issues_count":3,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-28T00:58:07.218Z","etag":null,"topics":["automation","data-analysis","gaussian-processes","interpreatable-ai","machine-learning","maximum-a-posteriori","python","statistical-analysis","uncertainty-quantification"],"latest_commit_sha":null,"homepage":"https://krlennon-mastercurves.readthedocs.io/en/latest/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/krlennon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-05-19T19:07:53.000Z","updated_at":"2025-03-08T09:53:32.000Z","dependencies_parsed_at":"2025-04-12T04:31:51.554Z","dependency_job_id":"90c90b64-fcf0-4520-9ee7-88771b21f332","html_url":"https://github.com/krlennon/mastercurves","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/krlennon/mastercurves","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krlennon%2Fmastercurves","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krlennon%2Fmastercurves/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krlennon%2Fmastercurves/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krlennon%2Fmastercurves/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/krlennon","download_url":"https://codeload.github.com/krlennon/mastercurves/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krlennon%2Fmastercurves/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31292785,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T21:15:39.731Z","status":"ssl_error","status_checked_at":"2026-04-01T21:15:34.046Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","data-analysis","gaussian-processes","interpreatable-ai","machine-learning","maximum-a-posteriori","python","statistical-analysis","uncertainty-quantification"],"created_at":"2025-12-14T00:38:19.046Z","updated_at":"2026-04-01T23:02:36.539Z","avatar_url":"https://github.com/krlennon.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[pypi-image]: https://badge.fury.io/py/mastercurves.svg\n[pypi-url]: https://pypi.org/project/mastercurves/\n[pypi-download]: https://static.pepy.tech/personalized-badge/mastercurves?period=total\u0026units=international_system\u0026left_color=grey\u0026right_color=brightgreen\u0026left_text=downloads\n[docs-image]: https://img.shields.io/badge/docs-latest-blue\n[docs-url]: https://krlennon-mastercurves.readthedocs.io/en/latest/#\n\n# mastercurves\n\n[![PyPI Version][pypi-image]][pypi-url] [![pypi download][pypi-download]][pypi-url] [![docs latest][docs-image]][docs-url]\n\nPython package for automatically superimposing data sets to create a master curve, using Gaussian process regression and maximum a posteriori estimation. \n\nPublication of this work is forthcoming. For now, if you use this software, please cite it using the metadata in the [citation](https://github.com/krlennon/mastercurves/blob/main/CITATION.cff) file.\n\n## Documentation\n\nCheck out the [documentation](http://krlennon-mastercurves.rtfd.io/) to learn more about the package and how to use [its API](https://krlennon-mastercurves.readthedocs.io/en/latest/mastercurve.html). A tutorial and explanation of the demos are coming soon!\n\n## Installation\n\n`mastercurves` is in the PyPI! You can easily install it using `pip`:\n\n```\npip install mastercurves\n```\n\nand likewise update it:\n\n```\npip install mastercurves --upgrade\n```\n\n## Usage\n\n### Importing the package\n\nOnce the package has been installed, you can simply import it's modules:\n\n```python\nfrom mastercurves import MasterCurve\nfrom mastercurves.transforms import Multiply, PowerLawAge\n```\n\n### Adding data to a `MasterCurve`\n\nTo begin creating a master curve, first define a `MasterCurve` object:\n\n```python\nmc = MasterCurve()\n```\n\nand add data to the object:\n\n```python\nmc.add_data(xs, ys, states)\n```\n\nHere, `xs` is a python list (of length n) of NumPy arrays. Each of these arrays contains the x-coordinates for a data set at a particular state. Similarly, `ys` is a list of length n of NumPy arrays, each containing the y-coordinates for a data set at corresponding states. `states` is a list of length n, with elements parameterizing the different states.\n\n### Adding coordinate transformations to the `MasterCurve`\n\nCoordinate transforms can be added to the mastercurve as follows:\n\n```python\nmc.add_htransform(Multiply())\n```\n\nThe above line tells the software to shift the data sets on the horizontal axis by a multiplicative factor. Note: by default, `Multiply()` assumes that the logarithm of the corresponding coordinate was taken before adding the data to the `MasterCurve` object. To override this, pass the argument `Multiply(scale = \"linear\")`. An analagous method, `add_vtransform()`, exists for transformations to the y-coordinate, which similarly assumes logarithmically scaled data.\n\n### Superposing the data\n\nWhen the data and transformations have been added to the `MasterCurve`, shifting the data is easy!\n\n```python\nmc.superpose()\n```\n\nThe results can be visualized in a single line as well:\n\n```python\nmc.plot()\n```\n\n## Examples\n\nMultiple examples of the software's use can be found in the [demos folder](https://github.com/krlennon/mastercurves/tree/main/demos), which demonstrate much of the functionality of the software.\n\n## Contibuting\n\nInquiries and suggestions can be directed to krlennon[at]mit.edu. In particular, useful transformations can be directly added to the [transforms](https://github.com/krlennon/mastercurves/tree/main/mastercurves/transforms) directory, either in a local copy of the package or by raising an issue here!\n\n## License\n\n[GNU General Public License v3.0](https://choosealicense.com/licenses/gpl-3.0/)\n\n## References\n\nThe data used in the [demos](https://github.com/krlennon/mastercurves/tree/main/demos) has been generously provided by authors of the following publications:\n\nT.  H.  Larsen  and  E.  M.  Furst,  *Microrheology  of  the liquid-solid transition during gelation*, Phys. Rev. Lett., vol. 100, p. 146001, Apr 2008.\n\nS.  M.  Lalwani,  P.  Batys,  M.  Sammalkorpi,  and  J.  L.Lutkenhaus,  *Relaxation  Times  of  Solid-like  Polyelectrolyte Complexes of Varying pH and Water Content*, Macromolecules, vol. 54, pp. 7765-7776, Sep 2021.\n\nThe data in other examples was digitized from the following publications:\n\nR. Gupta, B. Baldewa, and Y. M. Joshi, *Time temperature superposition in soft glassy materials*, Soft Matter, vol. 8, pp. 4171-4176, 2012.\n\nR. I. Dekker, M. Dinkgreve, H. de Cagny, D. J. Koeze, B. P. Tighe, and D. Bonn, *Scaling of flow curves: Comparison between experiments and simulations*, Journal of Non-Newtonian Fluid Mechanics, vol. 261, pp. 33-37, 2018.\n\nD. J. Plazek, *Temperature dependence of the viscoelastic  behavior  of  polystyrene*, The Journal of Physical Chemistry, vol. 69, pp. 3480-3487, Oct 1965.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrlennon%2Fmastercurves","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkrlennon%2Fmastercurves","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrlennon%2Fmastercurves/lists"}