From 6ac7db2ef2cef243f65c572b8cf5cd4e18854adb Mon Sep 17 00:00:00 2001 From: Kai Wagoner-Oshima Date: Sun, 22 Jun 2025 14:30:11 -0400 Subject: [PATCH 1/9] fix: chagned line length to 115 --- .flake8 | 2 ++ .isort.cfg | 1 + pyproject.toml | 21 ++++++++++----------- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/.flake8 b/.flake8 index 2d2cb16..04d2d0b 100644 --- a/.flake8 +++ b/.flake8 @@ -1,3 +1,5 @@ +# As of now, flake8 does not natively support configuration via pyproject.toml +# https://github.com/microsoft/vscode-flake8/issues/135 [flake8] exclude = .git, diff --git a/.isort.cfg b/.isort.cfg index e0926f4..7ce0fb1 100644 --- a/.isort.cfg +++ b/.isort.cfg @@ -1,4 +1,5 @@ [settings] +# Keep import statement below line_length character limit line_length = 115 multi_line_output = 3 include_trailing_comma = True diff --git a/pyproject.toml b/pyproject.toml index ce2f2b1..9ae8b5a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,22 +6,20 @@ build-backend = "setuptools.build_meta" name = "diffpy.srmise" dynamic=['version', 'dependencies'] authors = [ - { name="Simon J.L. Billinge group", email="simon.billinge@gmail.com" }, - {name="Luke Granlund", email="granlund@pa.msu.edu"}, + { name="Simon Billinge", email="sb2896@columbia.edu" }, ] maintainers = [ - { name="Simon J.L. Billinge group", email="simon.billinge@gmail.com" }, + { name="Simon Billinge", email="sb2896@columbia.edu" }, ] -description = "Peak extraction and peak fitting tool for atomic pair distribution functions." -keywords = ['peak extraction fitting PDF AIC multimodeling'] +description = "Peak extraction and peak fitting tool for atomic pair distribution functions" +keywords = ['peak extraction', 'fitting', 'PDF', 'AIC', 'multimodeling'] readme = "README.rst" requires-python = ">=3.11, <3.14" classifiers = [ - 'Development Status :: 3 - Alpha', + 'Development Status :: 5 - Production/Stable', 'Environment :: Console', 'Intended Audience :: Developers', 'Intended Audience :: Science/Research', - 'Intended Audience :: Education', 'License :: OSI Approved :: BSD License', 'Operating System :: MacOS :: MacOS X', 'Operating System :: Microsoft :: Windows', @@ -32,7 +30,6 @@ classifiers = [ 'Programming Language :: Python :: 3.13', 'Topic :: Scientific/Engineering :: Physics', 'Topic :: Scientific/Engineering :: Chemistry', - 'Topic :: Software Development :: Libraries', ] [project.urls] @@ -45,9 +42,6 @@ template = "{tag}" dev_template = "{tag}" dirty_template = "{tag}" -[project.scripts] -srmise = "diffpy.srmise.applications.extract:main" - [tool.setuptools.packages.find] where = ["src"] # list of folders that contain the packages (["."] by default) include = ["*"] # package names should match these glob patterns (["*"] by default) @@ -62,6 +56,11 @@ exclude-file = ".codespell/ignore_lines.txt" ignore-words = ".codespell/ignore_words.txt" skip = "*.cif,*.dat" +[tool.docformatter] +recursive = true +wrap-summaries = 72 +wrap-descriptions = 72 + [tool.black] line-length = 115 include = '\.pyi?$' From 6eaa782eba2dddba6a0b58d6369886d0a41e9106 Mon Sep 17 00:00:00 2001 From: Kai Wagoner-Oshima Date: Sun, 22 Jun 2025 14:40:38 -0400 Subject: [PATCH 2/9] chore: move LICENSE files over to scaffold --- LICENSE_PDFgui.rst => LICENSE-PDFgui.rst | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LICENSE_PDFgui.rst => LICENSE-PDFgui.rst (100%) diff --git a/LICENSE_PDFgui.rst b/LICENSE-PDFgui.rst similarity index 100% rename from LICENSE_PDFgui.rst rename to LICENSE-PDFgui.rst From c96ef159d5b84a363539fc70dfb5f7e15574c3ac Mon Sep 17 00:00:00 2001 From: Kai Wagoner-Oshima Date: Sun, 22 Jun 2025 15:56:38 -0400 Subject: [PATCH 3/9] chore: github workflows, codecovs, codespell --- .codecov.yml | 8 ++--- .codespell/ignore_words.txt | 3 -- .github/ISSUE_TEMPLATE/release_checklist.md | 31 +++++++++++++------ .../pull_request_template.md | 15 +++++++++ .../workflows/build-wheel-release-upload.yml | 6 ++-- .github/workflows/check-news-item.yml | 6 ++-- .../matrix-and-codecov-on-merge-to-main.yml | 4 +-- .github/workflows/publish-docs-on-release.yml | 12 +++++++ .github/workflows/tests-on-pr.yml | 7 ++--- 9 files changed, 63 insertions(+), 29 deletions(-) create mode 100644 .github/PULL_REQUEST_TEMPLATE/pull_request_template.md create mode 100644 .github/workflows/publish-docs-on-release.yml diff --git a/.codecov.yml b/.codecov.yml index 5a94096..4af5eb2 100644 --- a/.codecov.yml +++ b/.codecov.yml @@ -1,14 +1,14 @@ coverage: status: - project: # more options at https://docs.codecov.com/docs/commit-status + project: # more options at https://docs.codecov.com/docs/commit-status default: target: auto # use the coverage from the base commit, fail if coverage is lower - threshold: 0% # allow the coverage to drop by + threshold: 0% # allow the coverage to drop by comment: layout: " diff, flags, files" behavior: default require_changes: false - require_base: false # [true :: must have a base report to post] - require_head: false # [true :: must have a head report to post] + require_base: false # [true :: must have a base report to post] + require_head: false # [true :: must have a head report to post] hide_project_coverage: false # [true :: only show coverage on the git diff aka patch coverage] diff --git a/.codespell/ignore_words.txt b/.codespell/ignore_words.txt index 9757d7c..04b4fcf 100644 --- a/.codespell/ignore_words.txt +++ b/.codespell/ignore_words.txt @@ -4,8 +4,5 @@ ;; abbreviation for "materials" often used in a journal title mater -;; alternative use of socioeconomic -socio-economic - ;; Frobenius norm used in np.linalg.norm fro diff --git a/.github/ISSUE_TEMPLATE/release_checklist.md b/.github/ISSUE_TEMPLATE/release_checklist.md index 0f56027..6107962 100644 --- a/.github/ISSUE_TEMPLATE/release_checklist.md +++ b/.github/ISSUE_TEMPLATE/release_checklist.md @@ -6,30 +6,41 @@ labels: "release" assignees: "" --- -### PyPI/GitHub release checklist: +### PyPI/GitHub rc-release preparation checklist: - [ ] All PRs/issues attached to the release are merged. - [ ] All the badges on the README are passing. - [ ] License information is verified as correct. If you are unsure, please comment below. - [ ] Locally rendered documentation contains all appropriate pages, including API references (check no modules are - missing), tutorials, and other human written text is up-to-date with any changes in the code. -- [ ] Installation instructions in the README, documentation and on the website (e.g., diffpy.org) are updated. + missing), tutorials, and other human-written text is up-to-date with any changes in the code. +- [ ] Installation instructions in the README, documentation, and the website are updated. - [ ] Successfully run any tutorial examples or do functional testing with the latest Python version. - [ ] Grammar and writing quality are checked (no typos). +- [ ] Install `pip install build twine`, run `python -m build` and `twine check dist/*` to ensure that the package can be built and is correctly formatted for PyPI release. -Please mention @sbillinge here when you are ready for PyPI/GitHub release. Include any additional comments necessary, such as -version information and details about the pre-release here: +Please tag the maintainer (e.g., @username) in the comment here when you are ready for the PyPI/GitHub release. Include any additional comments necessary, such as version information and details about the pre-release here: -### conda-forge release checklist: +### PyPI/GitHub full-release preparation checklist: - +- [ ] Create a new conda environment and install the rc from PyPI (`pip install ==??`) +- [ ] License information on PyPI is correct. +- [ ] Docs are deployed successfully to `https:///`. +- [ ] Successfully run all tests, tutorial examples or do functional testing. +Please let the maintainer know that all checks are done and the package is ready for full release. + +### conda-forge release preparation checklist: + + + +- [ ] Ensure that the full release has appeared on PyPI successfully. - [ ] New package dependencies listed in `conda.txt` and `test.txt` are added to `meta.yaml` in the feedstock. -- [ ] All relevant issues in the feedstock are addressed in the release PR. +- [ ] Close any open issues on the feedstock. Reach out to the maintainer if you have questions. +- [ ] Tag the maintainer for conda-forge release. ### Post-release checklist -- [ ] Run tutorial examples and conduct functional testing using the installation guide in the README. Attach screenshots/results as comments. -- [ ] Documentation (README, tutorials, API references, and websites) is deployed without broken links or missing figures. +- [ ] Run tutorial examples and conduct functional testing using the installation guide in the README. Attach screenshots/results as comments. +- [ ] Documentation (README, tutorials, API references, and websites) is deployed without broken links or missing figures. diff --git a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md new file mode 100644 index 0000000..1099d86 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md @@ -0,0 +1,15 @@ +### What problem does this PR address? + + + +### What should the reviewer(s) do? + + + + diff --git a/.github/workflows/build-wheel-release-upload.yml b/.github/workflows/build-wheel-release-upload.yml index 8c575c5..00f39f4 100644 --- a/.github/workflows/build-wheel-release-upload.yml +++ b/.github/workflows/build-wheel-release-upload.yml @@ -4,13 +4,15 @@ on: workflow_dispatch: push: tags: - - '*' # Trigger on all tags initially, but tag and release privilege are verified in _build-wheel-release-upload.yml + - "*" # Trigger on all tags initially, but tag and release privilege are verified in _build-wheel-release-upload.yml jobs: release: - uses: Billingegroup/release-scripts/.github/workflows/_build-wheel-release-upload.yml@v0 + uses: scikit-package/release-scripts/.github/workflows/_build-wheel-release-upload.yml@v0 with: project: diffpy.srmise + c_extension: false + maintainer_GITHUB_username: sbillinge secrets: PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} PAT_TOKEN: ${{ secrets.PAT_TOKEN }} diff --git a/.github/workflows/check-news-item.yml b/.github/workflows/check-news-item.yml index 960756f..e6f5a5e 100644 --- a/.github/workflows/check-news-item.yml +++ b/.github/workflows/check-news-item.yml @@ -3,10 +3,10 @@ name: Check for News on: pull_request_target: branches: - - main + - main jobs: - build: - uses: Billingegroup/release-scripts/.github/workflows/_check-news-item.yml@v0 + check-news-item: + uses: scikit-package/release-scripts/.github/workflows/_check-news-item.yml@v0 with: project: diffpy.srmise diff --git a/.github/workflows/matrix-and-codecov-on-merge-to-main.yml b/.github/workflows/matrix-and-codecov-on-merge-to-main.yml index f4ad74a..9f677b4 100644 --- a/.github/workflows/matrix-and-codecov-on-merge-to-main.yml +++ b/.github/workflows/matrix-and-codecov-on-merge-to-main.yml @@ -11,8 +11,8 @@ on: workflow_dispatch: jobs: - coverage: - uses: Billingegroup/release-scripts/.github/workflows/_matrix-and-codecov-on-merge-to-main.yml@v0 + matrix-coverage: + uses: scikit-package/release-scripts/.github/workflows/_matrix-and-codecov-on-merge-to-main.yml@v0 with: project: diffpy.srmise c_extension: false diff --git a/.github/workflows/publish-docs-on-release.yml b/.github/workflows/publish-docs-on-release.yml new file mode 100644 index 0000000..6df1afc --- /dev/null +++ b/.github/workflows/publish-docs-on-release.yml @@ -0,0 +1,12 @@ +name: Deploy Documentation on Release + +on: + workflow_dispatch: + +jobs: + docs: + uses: scikit-package/release-scripts/.github/workflows/_publish-docs-on-release.yml@v0 + with: + project: diffpy.srmise + c_extension: false + headless: false diff --git a/.github/workflows/tests-on-pr.yml b/.github/workflows/tests-on-pr.yml index 201dad7..55091e8 100644 --- a/.github/workflows/tests-on-pr.yml +++ b/.github/workflows/tests-on-pr.yml @@ -1,15 +1,12 @@ name: Tests on PR on: - push: - branches: - - main pull_request: workflow_dispatch: jobs: - validate: - uses: Billingegroup/release-scripts/.github/workflows/_tests-on-pr.yml@v0 + tests-on-pr: + uses: scikit-package/release-scripts/.github/workflows/_tests-on-pr.yml@v0 with: project: diffpy.srmise c_extension: false From 5774c11bb99c20eb64b7e34acfb76f84cc3dc607 Mon Sep 17 00:00:00 2001 From: Kai Wagoner-Oshima Date: Sun, 22 Jun 2025 17:13:31 -0400 Subject: [PATCH 4/9] chore: maintenance on CHANGLOG CODE_OF_CONDUCT etc --- .gitignore | 1 + .pre-commit-config.yaml | 38 ++++++++++++++++++++++++++------------ CHANGELOG.rst | 2 +- CODE_OF_CONDUCT.rst | 2 +- 4 files changed, 29 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index a25212e..90d4ef7 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ __pycache__/ .Python env/ build/ +_build/ develop-eggs/ dist/ downloads/ diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9cf0556..0e4a84d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,14 +1,14 @@ default_language_version: - python: python3 + python: python3 ci: - autofix_commit_msg: | - [pre-commit.ci] auto fixes from pre-commit hooks - autofix_prs: true - autoupdate_branch: 'pre-commit-autoupdate' - autoupdate_commit_msg: '[pre-commit.ci] pre-commit autoupdate' - autoupdate_schedule: monthly - skip: [no-commit-to-branch] - submodules: false + autofix_commit_msg: | + [pre-commit.ci] auto fixes from pre-commit hooks + autofix_prs: true + autoupdate_branch: "pre-commit-autoupdate" + autoupdate_commit_msg: "[pre-commit.ci] pre-commit autoupdate" + autoupdate_schedule: monthly + skip: [no-commit-to-branch] + submodules: false repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.6.0 @@ -47,6 +47,20 @@ repos: - repo: https://github.com/codespell-project/codespell rev: v2.3.0 hooks: - - id: codespell - additional_dependencies: - - tomli + - id: codespell + additional_dependencies: + - tomli + # prettier - multi formatter for .json, .yml, and .md files + - repo: https://github.com/pre-commit/mirrors-prettier + rev: f12edd9c7be1c20cfa42420fd0e6df71e42b51ea # frozen: v4.0.0-alpha.8 + hooks: + - id: prettier + additional_dependencies: + - "prettier@^3.2.4" + # docformatter - PEP 257 compliant docstring formatter + - repo: https://github.com/s-weigand/docformatter + rev: 5757c5190d95e5449f102ace83df92e7d3b06c6c + hooks: + - id: docformatter + additional_dependencies: [tomli] + args: [--in-place, --config, ./pyproject.toml] diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 1466de7..ab00ed6 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,5 +1,5 @@ ============= -Release Notes +Release notes ============= .. current developments diff --git a/CODE_OF_CONDUCT.rst b/CODE_OF_CONDUCT.rst index ff9c356..e8199ca 100644 --- a/CODE_OF_CONDUCT.rst +++ b/CODE_OF_CONDUCT.rst @@ -8,7 +8,7 @@ Our Pledge We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender -identity and expression, level of experience, education, socio-economic status, +identity and expression, level of experience, education, socioeconomic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation. From 3bb56ddf178592bd51f4fa6e16bbfb3a13fbe996 Mon Sep 17 00:00:00 2001 From: Kai Wagoner-Oshima Date: Sun, 22 Jun 2025 17:20:14 -0400 Subject: [PATCH 5/9] chore: move neccessary files over, clean up ones that arent needed --- .readthedocs.yaml | 13 +++++++++ doc/source/img/scikit-package-logo-text.png | Bin 0 -> 187608 bytes doc/source/snippets/example-table.rst | 28 ++++++++++++++++++++ environment.yml | 6 ----- requirements/build.txt | 2 -- requirements/docs.txt | 1 + 6 files changed, 42 insertions(+), 8 deletions(-) create mode 100644 .readthedocs.yaml create mode 100644 doc/source/img/scikit-package-logo-text.png create mode 100644 doc/source/snippets/example-table.rst delete mode 100644 environment.yml delete mode 100644 requirements/build.txt diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 0000000..47f7a01 --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,13 @@ +version: 2 + +build: + os: "ubuntu-22.04" + tools: + python: "latest" + +python: + install: + - requirements: requirements/docs.txt + +sphinx: + configuration: doc/source/conf.py diff --git a/doc/source/img/scikit-package-logo-text.png b/doc/source/img/scikit-package-logo-text.png new file mode 100644 index 0000000000000000000000000000000000000000..823178dcb1316d5cfd09bc43d8210e5c4ce38f28 GIT binary patch literal 187608 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 h|9pew|C30$uOMa3u}J+)EaB{~z=&QIY@v literal 0 HcmV?d00001 diff --git a/doc/source/snippets/example-table.rst b/doc/source/snippets/example-table.rst new file mode 100644 index 0000000..7c4c11d --- /dev/null +++ b/doc/source/snippets/example-table.rst @@ -0,0 +1,28 @@ +.. list-table:: 5 levels of reusing/sharing code + :widths: 5 15 40 40 + :header-rows: 1 + + * - Level + - Name + - Scope + - How to setup + * - 1 + - ``function`` + - Reuse code in the single file. + - See Level 1 tutorial + * - 2 + - ``module`` + - Reuse code across files. + - See Level 2 tutorial + * - 3 + - ``workspace`` + - Reuse code across project folders. + - ``package create workspace`` + * - 4 + - ``system`` + - Reuse code across any files in the computer. + - ``package create system`` + * - 5 + - ``public`` + - Share code as publicly installable package. + - ``package create public`` diff --git a/environment.yml b/environment.yml deleted file mode 100644 index b467ca2..0000000 --- a/environment.yml +++ /dev/null @@ -1,6 +0,0 @@ -name: diffpy.srmise -channels: - - conda-forge -dependencies: - - python=3 - - pip diff --git a/requirements/build.txt b/requirements/build.txt deleted file mode 100644 index f72d870..0000000 --- a/requirements/build.txt +++ /dev/null @@ -1,2 +0,0 @@ -python -setuptools diff --git a/requirements/docs.txt b/requirements/docs.txt index ab17b1c..5f34c6e 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -1,4 +1,5 @@ sphinx sphinx_rtd_theme +sphinx-copybutton doctr m2r From 166a2149b92aab680c96df7e2f0a7c083113af76 Mon Sep 17 00:00:00 2001 From: Kai Wagoner-Oshima Date: Sun, 22 Jun 2025 20:01:17 -0400 Subject: [PATCH 6/9] skpkg: fix pyproject.toml --- pyproject.toml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 9ae8b5a..0a98f3b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,20 +6,22 @@ build-backend = "setuptools.build_meta" name = "diffpy.srmise" dynamic=['version', 'dependencies'] authors = [ - { name="Simon Billinge", email="sb2896@columbia.edu" }, + { name="Simon J.L. Billinge group", email="sb2896@columbia.edu" }, + {name="Luke Granlund", email="granlund@pa.msu.edu"}, ] maintainers = [ { name="Simon Billinge", email="sb2896@columbia.edu" }, ] -description = "Peak extraction and peak fitting tool for atomic pair distribution functions" +description = "Peak extraction and peak fitting tool for atomic pair distribution functions." keywords = ['peak extraction', 'fitting', 'PDF', 'AIC', 'multimodeling'] readme = "README.rst" requires-python = ">=3.11, <3.14" classifiers = [ - 'Development Status :: 5 - Production/Stable', + 'Development Status :: 3 - Alpha', 'Environment :: Console', 'Intended Audience :: Developers', 'Intended Audience :: Science/Research', + 'Intended Audience :: Education', 'License :: OSI Approved :: BSD License', 'Operating System :: MacOS :: MacOS X', 'Operating System :: Microsoft :: Windows', @@ -30,6 +32,8 @@ classifiers = [ 'Programming Language :: Python :: 3.13', 'Topic :: Scientific/Engineering :: Physics', 'Topic :: Scientific/Engineering :: Chemistry', + 'Topic :: Software Development :: Libraries', + ] [project.urls] @@ -42,6 +46,9 @@ template = "{tag}" dev_template = "{tag}" dirty_template = "{tag}" +[project.scripts] +srmise = "diffpy.srmise.applications.extract:main" + [tool.setuptools.packages.find] where = ["src"] # list of folders that contain the packages (["."] by default) include = ["*"] # package names should match these glob patterns (["*"] by default) From 381ef634f0af52e1205f70b2d4b7be24d247ef70 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 23 Jun 2025 00:05:47 +0000 Subject: [PATCH 7/9] [pre-commit.ci] auto fixes from pre-commit hooks --- doc/examples/fit_initial.py | 18 ++- doc/examples/multimodel_known_dG1.py | 4 +- doc/examples/multimodel_known_dG2.py | 3 +- doc/examples/multimodel_unknown_dG1.py | 4 +- doc/examples/parameter_summary.py | 3 +- doc/examples/query_results.py | 3 +- src/diffpy/__init__.py | 1 - src/diffpy/srmise/__init__.py | 4 +- src/diffpy/srmise/applications/plot.py | 7 +- src/diffpy/srmise/basefunction.py | 61 +++++-- src/diffpy/srmise/baselines/arbitrary.py | 27 ++-- src/diffpy/srmise/baselines/base.py | 14 +- src/diffpy/srmise/baselines/fromsequence.py | 19 ++- src/diffpy/srmise/baselines/nanospherical.py | 11 +- src/diffpy/srmise/baselines/polynomial.py | 6 +- src/diffpy/srmise/dataclusters.py | 26 +-- src/diffpy/srmise/modelcluster.py | 65 +++++--- src/diffpy/srmise/modelevaluators/aic.py | 26 +-- src/diffpy/srmise/modelevaluators/aicc.py | 26 +-- src/diffpy/srmise/modelevaluators/base.py | 25 +-- src/diffpy/srmise/modelparts.py | 16 +- src/diffpy/srmise/multimodelselection.py | 54 ++++--- src/diffpy/srmise/pdfdataset.py | 29 ++-- src/diffpy/srmise/pdfpeakextraction.py | 39 +++-- src/diffpy/srmise/peakextraction.py | 33 ++-- src/diffpy/srmise/peaks/base.py | 14 +- src/diffpy/srmise/peaks/gaussian.py | 15 +- src/diffpy/srmise/peaks/gaussianoverr.py | 17 +- src/diffpy/srmise/peaks/terminationripples.py | 30 ++-- src/diffpy/srmise/peakstability.py | 11 +- src/diffpy/srmise/srmiseerrors.py | 153 ++++++++++++------ src/diffpy/srmise/srmiselog.py | 19 ++- src/diffpy/srmise/version.py | 1 - tests/test_version.py | 6 +- 34 files changed, 499 insertions(+), 291 deletions(-) diff --git a/doc/examples/fit_initial.py b/doc/examples/fit_initial.py index fa9961c..57af2d7 100644 --- a/doc/examples/fit_initial.py +++ b/doc/examples/fit_initial.py @@ -10,14 +10,16 @@ # See LICENSE.txt for license information. # ############################################################################## -"""Example of peak fitting C60 PDF (unnormalized) with unreliable uncertainties. - -Peak fitting in SrMise means fitting a model of initial peaks, which may be -specified manually or estimated with a clustering-based convenience function, -just as with specifying initial peaks for peak extraction. Unlike peak -extraction, it does not attempt to add or remove peaks, apply termination -ripples, or otherwise do anything beyond chi-square fitting using the specified -grid.""" +"""Example of peak fitting C60 PDF (unnormalized) with unreliable +uncertainties. + +Peak fitting in SrMise means fitting a model of initial peaks, which may +be specified manually or estimated with a clustering-based convenience +function, just as with specifying initial peaks for peak extraction. +Unlike peak extraction, it does not attempt to add or remove peaks, +apply termination ripples, or otherwise do anything beyond chi-square +fitting using the specified grid. +""" import matplotlib.pyplot as plt diff --git a/doc/examples/multimodel_known_dG1.py b/doc/examples/multimodel_known_dG1.py index f1fe508..3d52ec0 100644 --- a/doc/examples/multimodel_known_dG1.py +++ b/doc/examples/multimodel_known_dG1.py @@ -10,8 +10,8 @@ # See LICENSE.txt for license information. # ############################################################################## -"""Extract multiple models from crystalline PDF with known uncertainties for -use in later AIC-driven multimodeling analysis. +"""Extract multiple models from crystalline PDF with known uncertainties +for use in later AIC-driven multimodeling analysis. The multimodel approach generates many models of varying complexity by assuming a range of experimental uncertainties are physically plausible. This example diff --git a/doc/examples/multimodel_known_dG2.py b/doc/examples/multimodel_known_dG2.py index 59add2e..142df83 100644 --- a/doc/examples/multimodel_known_dG2.py +++ b/doc/examples/multimodel_known_dG2.py @@ -10,7 +10,8 @@ # See LICENSE.txt for license information. # ############################################################################## -"""AIC-driven multimodel analysis of crystalline PDF with known uncertainties. +"""AIC-driven multimodel analysis of crystalline PDF with known +uncertainties. The multimodel approach generates many models of varying complexity by assuming a range of experimental uncertainties are physically plausible. This example diff --git a/doc/examples/multimodel_unknown_dG1.py b/doc/examples/multimodel_unknown_dG1.py index 4570f78..45324ee 100644 --- a/doc/examples/multimodel_unknown_dG1.py +++ b/doc/examples/multimodel_unknown_dG1.py @@ -10,8 +10,8 @@ # See LICENSE.txt for license information. # ############################################################################## -"""Extract multiple models from nanoparticle PDF with unknown uncertainties for -use in later AIC-driven multimodeling analysis. +"""Extract multiple models from nanoparticle PDF with unknown +uncertainties for use in later AIC-driven multimodeling analysis. The multimodel approach generates many models of varying complexity by assuming a range of experimental uncertainties are physically plausible. This example diff --git a/doc/examples/parameter_summary.py b/doc/examples/parameter_summary.py index 1d4095c..b135d82 100644 --- a/doc/examples/parameter_summary.py +++ b/doc/examples/parameter_summary.py @@ -25,7 +25,8 @@ nyquist (whether to use Nyquist sampling) supersample (minimum amount to oversample during initial stages) cres (clustering resolution) -initial_peaks (peaks already assumed to exist during extraction)""" +initial_peaks (peaks already assumed to exist during extraction) +""" import matplotlib.pyplot as plt diff --git a/doc/examples/query_results.py b/doc/examples/query_results.py index 8b90d4b..1659047 100644 --- a/doc/examples/query_results.py +++ b/doc/examples/query_results.py @@ -10,7 +10,8 @@ # See LICENSE.txt for license information. # ############################################################################## -"""Example of extracting multiple peaks and accessing results programmatically. +"""Example of extracting multiple peaks and accessing results +programmatically. This example shows how to extract a range of peaks from a simple crystalline PDF using a crystalline baseline obtained from an existing trial. It shows diff --git a/src/diffpy/__init__.py b/src/diffpy/__init__.py index 377a0f9..1fd9c20 100644 --- a/src/diffpy/__init__.py +++ b/src/diffpy/__init__.py @@ -12,7 +12,6 @@ # See LICENSE.rst for license information. # ############################################################################## - """Blank namespace package for module diffpy.""" diff --git a/src/diffpy/srmise/__init__.py b/src/diffpy/srmise/__init__.py index 65eb42b..52fd6a9 100644 --- a/src/diffpy/srmise/__init__.py +++ b/src/diffpy/srmise/__init__.py @@ -12,8 +12,8 @@ # See LICENSE.rst for license information. # ############################################################################## - -"""Peak extraction and peak fitting tool for atomic pair distribution functions.""" +"""Peak extraction and peak fitting tool for atomic pair distribution +functions.""" # package version from diffpy.srmise.version import __version__ diff --git a/src/diffpy/srmise/applications/plot.py b/src/diffpy/srmise/applications/plot.py index 0399565..788b7d0 100755 --- a/src/diffpy/srmise/applications/plot.py +++ b/src/diffpy/srmise/applications/plot.py @@ -11,7 +11,7 @@ # See LICENSE.txt for license information. # ############################################################################## -"""plot extracted peaks and comparison to ideal distances (if given)""" +"""Plot extracted peaks and comparison to ideal distances (if given)""" import optparse import sys @@ -175,7 +175,7 @@ def labelallsubplots(): def makeplot(ppe_or_stability, ip=None, **kwds): - """Plot stuff""" + """Plot stuff.""" if isinstance(ppe_or_stability, PeakStability): stability = ppe_or_stability ppe = stability.ppe @@ -530,7 +530,8 @@ def on_draw(event): def readcompare(filename): - """Returns a list of distances read from filename, otherwise None.""" + """Returns a list of distances read from filename, otherwise + None.""" # TODO: Make this safer try: diff --git a/src/diffpy/srmise/basefunction.py b/src/diffpy/srmise/basefunction.py index 7a955f0..1876788 100644 --- a/src/diffpy/srmise/basefunction.py +++ b/src/diffpy/srmise/basefunction.py @@ -11,7 +11,8 @@ # See LICENSE.txt for license information. # ############################################################################## -"""Defines BaseFunction, the base class for mathematical functions in srmise.""" +"""Defines BaseFunction, the base class for mathematical functions in +srmise.""" import logging import re @@ -25,7 +26,8 @@ class BaseFunction(object): - """Base class for mathematical functions which model numeric sequences. + """Base class for mathematical functions which model numeric + sequences. Attributes ------------- @@ -76,7 +78,7 @@ def __init__( base=None, Cache=None, ): - """Set parameterdict defined by subclass + """Set parameterdict defined by subclass. Parameters ---------- @@ -159,32 +161,50 @@ def __init__( # "Virtual" class methods #### def actualize(self, *args, **kwds): - """Create ModelPart instance of self with given parameters. ("Virtual" method)""" + """Create ModelPart instance of self with given parameters. + + ("Virtual" method) + """ emsg = "actualize() must be implemented in a BaseFunction subclass." raise NotImplementedError(emsg) def estimate_parameters(self, *args, **kwds): - """Estimate BaseFunction parameters from supplied data. ("Virtual" method)""" + """Estimate BaseFunction parameters from supplied data. + + ("Virtual" method) + """ emsg = "estimate_parameters() must be implemented in a BaseFunction subclass." raise NotImplementedError(emsg) def _jacobianraw(self, *args, **kwds): - """Calculate the jacobian. ("Virtual" method)""" + """Calculate the jacobian. + + ("Virtual" method) + """ emsg = "_jacobianraw() must be implemented in a BaseFunction subclass." raise NotImplementedError(emsg) def _transform_derivativesraw(self, *args, **kwds): - """Convert BaseFunction parameters to another form. ("Virtual" method)""" + """Convert BaseFunction parameters to another form. + + ("Virtual" method) + """ emsg = "transform_parameters() must be implemented in a BaseFunction subclass." raise NotImplementedError(emsg) def _transform_parametersraw(self, *args, **kwds): - """Convert BaseFunction parameters to another form. ("Virtual" method)""" + """Convert BaseFunction parameters to another form. + + ("Virtual" method) + """ emsg = "transform_parameters() must be implemented in a BaseFunction subclass." raise NotImplementedError(emsg) def _valueraw(self, *args, **kwds): - """Calculate value of function. ("Virtual" method)""" + """Calculate value of function. + + ("Virtual" method) + """ emsg = "_valueraw must() be implemented in a BaseFunction subclass." raise NotImplementedError(emsg) @@ -225,7 +245,8 @@ def jacobian(self, p, r, rng=None): return self._jacobianraw(p.pars, r, p.free) def transform_derivatives(self, pars, in_format=None, out_format=None): - """Return gradient matrix for pars converted from in_format to out_format. + """Return gradient matrix for pars converted from in_format to + out_format. Parameters ---------- @@ -266,7 +287,8 @@ def transform_derivatives(self, pars, in_format=None, out_format=None): return self._transform_derivativesraw(pars, in_format=in_format, out_format=out_format) def transform_parameters(self, pars, in_format=None, out_format=None): - """Return new sequence with pars converted from in_format to out_format. + """Return new sequence with pars converted from in_format to + out_format. Also restores parameters to a preferred range if it permits multiple values that correspond to the same physical result. @@ -310,7 +332,8 @@ def transform_parameters(self, pars, in_format=None, out_format=None): return self._transform_parametersraw(pars, in_format=in_format, out_format=out_format) def value(self, p, r, rng=None): - """Calculate value of ModelPart over r, possibly restricted by range. + """Calculate value of ModelPart over r, possibly restricted by + range. Parameters ---------- @@ -345,7 +368,8 @@ def value(self, p, r, rng=None): return self._valueraw(p.pars, r) def pgradient(self, p, format): - """Return gradient matrix of parameterization in specified format wrt "internal" format at p. + """Return gradient matrix of parameterization in specified + format wrt "internal" format at p. Consider the "internal" parameterization given by (i0, i1, ..., in). Each parameter in a different format, say (o0, o1, ..., om), is a @@ -373,7 +397,7 @@ def pgradient(self, p, format): return def getmodule(self): - """Return 'diffpy.srmise.basefunction'""" + """Return 'diffpy.srmise.basefunction'.""" return "diffpy.srmise.basefunction" def writestr(self, baselist): @@ -473,14 +497,16 @@ def factory(functionstr, baselist): @staticmethod def safefunctionlist(fs): - """Return list of BaseFunction instances where any dependencies occur earlier in list. + """Return list of BaseFunction instances where any dependencies + occur earlier in list. Any functions with hidden dependent functions (i.e. those not in fs) are included in the returned list. This list provides an order that is guaranteed to be safe for saving/reinstantiating peak functions. Parameters - fs: List of BaseFunction instances.""" + fs: List of BaseFunction instances. + """ fsafe = [] for f in fs: BaseFunction.safefunction(f, fsafe) @@ -488,7 +514,8 @@ def safefunctionlist(fs): @staticmethod def safefunction(f, fsafe): - """Append BaseFunction instance f to fsafe, but adding dependent functions first. + """Append BaseFunction instance f to fsafe, but adding dependent + functions first. Does not handle circular dependencies. diff --git a/src/diffpy/srmise/baselines/arbitrary.py b/src/diffpy/srmise/baselines/arbitrary.py index 80c1055..4da634c 100644 --- a/src/diffpy/srmise/baselines/arbitrary.py +++ b/src/diffpy/srmise/baselines/arbitrary.py @@ -26,17 +26,16 @@ class Arbitrary(BaselineFunction): """Methods for evaluating a baseline from an arbitrary function. - Supports baseline calculations with arbitrary functions. These functions, - if implemented, must have the following signatures and return values: - valuef(pars, x) ==> numpy.array of length x if x is a sequence - ==> number if x is a number - jacobianf(pars, x, free) ==> list, each element a numpy.array of length x if - x is a sequence or None if value of free for - that parameter is False. - ==> list, each element a number if x is a number - or None if value of free for that parameter is - False - estimatef(x, y) ==> numpy.array of length npars + Supports baseline calculations with arbitrary functions. These + functions, if implemented, must have the following signatures and + return values: valuef(pars, x) ==> numpy.array of length x if x is a + sequence ==> number if x is a number jacobianf(pars, + x, free) ==> list, each element a numpy.array of length x if + x is a sequence or None if value of free for + that parameter is False. ==> list, each + element a number if x is a number or + None if value of free for that parameter is + False estimatef(x, y) ==> numpy.array of length npars """ def __init__(self, npars, valuef, jacobianf=None, estimatef=None, Cache=None): @@ -117,7 +116,8 @@ def estimate_parameters(self, r, y): The numpy array of parameters in the default internal format. we raise NotImplementedError if no estimation routine is defined, and - SrMiseEstimationError if parameters cannot be estimated for any other.""" + SrMiseEstimationError if parameters cannot be estimated for any other. + """ if self.estimatef is None: emsg = "No estimation routine provided to Arbitrary." raise NotImplementedError(emsg) @@ -211,7 +211,8 @@ def _transform_parametersraw(self, pars, in_format, out_format): return temp def _valueraw(self, pars, r): - """Compute the value of the polynomial given a set of parameters and evaluation points. + """Compute the value of the polynomial given a set of parameters + and evaluation points. This method ensures that the input parameters conform to the expected count and then delegates the computation to an internal method `valuef`. diff --git a/src/diffpy/srmise/baselines/base.py b/src/diffpy/srmise/baselines/base.py index c1ecf0e..bad8244 100644 --- a/src/diffpy/srmise/baselines/base.py +++ b/src/diffpy/srmise/baselines/base.py @@ -24,7 +24,8 @@ class BaselineFunction(BaseFunction): - """Base class for functions which represent some data's baseline term. + """Base class for functions which represent some data's baseline + term. Class members ------------- @@ -71,7 +72,7 @@ def __init__( base=None, Cache=None, ): - """Set parameterdict defined by subclass + """Set parameterdict defined by subclass. parameterdict : dict The dictionary mapping string keys to their index in a @@ -91,7 +92,8 @@ def __init__( additional functionality. Cache : class The class (not instance) which implements caching of BaseFunction - evaluations.""" + evaluations. + """ BaseFunction.__init__(self, parameterdict, parformats, default_formats, metadict, base, Cache) # "Virtual" class methods #### @@ -117,10 +119,12 @@ def getmodule(self): class Baseline(ModelPart): - """Represents a baseline associated with a BaselineFunction subclass.""" + """Represents a baseline associated with a BaselineFunction + subclass.""" def __init__(self, owner, pars, free=None, removable=False, static_owner=False): - """Initialize the BaselineComponent instance with specified configurations. + """Initialize the BaselineComponent instance with specified + configurations. Parameters ---------- diff --git a/src/diffpy/srmise/baselines/fromsequence.py b/src/diffpy/srmise/baselines/fromsequence.py index 1866441..347c14d 100644 --- a/src/diffpy/srmise/baselines/fromsequence.py +++ b/src/diffpy/srmise/baselines/fromsequence.py @@ -23,14 +23,18 @@ class FromSequence(BaselineFunction): - """Methods for evaluation of a baseline from discrete data via interpolation. + """Methods for evaluation of a baseline from discrete data via + interpolation. - FromSequence uses cubic spline interpolation (no smoothing) on discrete - points to approximate the baseline at arbitrary points within the - interpolation domain. This baseline function permits no free parameters.""" + FromSequence uses cubic spline interpolation (no smoothing) on + discrete points to approximate the baseline at arbitrary points + within the interpolation domain. This baseline function permits no + free parameters. + """ def __init__(self, *args, **kwds): - """Initialize a baseline object based on input sequences `x` and `y`. + """Initialize a baseline object based on input sequences `x` and + `y`. This class provides two ways to initialize: by directly providing the sequences or by specifying a file that contains the sequences. @@ -181,7 +185,8 @@ def _transform_parametersraw(self, pars, in_format, out_format): return temp def _valueraw(self, pars, r): - """Return value of polynomial for the given parameters and r values. + """Return value of polynomial for the given parameters and r + values. Parameters ---------- @@ -233,7 +238,7 @@ def xyrepr(self, var): return "[%s]" % ", ".join([repr(v) for v in var]) def readxy(self, filename): - """ """ + """""" from diffpy.srmise.srmiseerrors import SrMiseDataFormatError # TODO: Make this safer diff --git a/src/diffpy/srmise/baselines/nanospherical.py b/src/diffpy/srmise/baselines/nanospherical.py index a76719f..1c199c2 100644 --- a/src/diffpy/srmise/baselines/nanospherical.py +++ b/src/diffpy/srmise/baselines/nanospherical.py @@ -22,7 +22,8 @@ class NanoSpherical(BaselineFunction): - """Methods for evaluation of baseline of spherical nanoparticle of uniform density. + """Methods for evaluation of baseline of spherical nanoparticle of + uniform density. Allowed formats are internal: [scale, radius] @@ -212,7 +213,8 @@ def _transform_parametersraw(self, pars, in_format, out_format): return temp def _valueraw(self, pars, r): - """Return value of spherical baseline for the given parameters and r values. + """Return value of spherical baseline for the given parameters + and r values. Outside the interval [0, radius] the baseline is 0. @@ -245,7 +247,8 @@ def _valueraw(self, pars, r): return out def _valueraw2(self, pars, r): - """Return value of spherical baseline without bounds checking for given parameters and r values. + """Return value of spherical baseline without bounds checking + for given parameters and r values. Parameters ---------- @@ -267,7 +270,7 @@ def _valueraw2(self, pars, r): return -s * r * (1 - (3.0 / 4.0) * rdivR + (1.0 / 16.0) * rdivR**3) def _getdomain(self, pars, r): - """Return slice object for which r > 0 and r < twice the radius + """Return slice object for which r > 0 and r < twice the radius. Parameters ---------- diff --git a/src/diffpy/srmise/baselines/polynomial.py b/src/diffpy/srmise/baselines/polynomial.py index 6ec155e..9d61574 100644 --- a/src/diffpy/srmise/baselines/polynomial.py +++ b/src/diffpy/srmise/baselines/polynomial.py @@ -23,7 +23,8 @@ class Polynomial(BaselineFunction): - """Methods for evaluation and parameter estimation of a polynomial baseline.""" + """Methods for evaluation and parameter estimation of a polynomial + baseline.""" def __init__(self, degree, Cache=None): """Initialize a polynomial function of degree d. @@ -186,7 +187,8 @@ def _transform_parametersraw(self, pars, in_format, out_format): return temp def _valueraw(self, pars, r): - """Return value of polynomial for the given parameters and r values. + """Return value of polynomial for the given parameters and r + values. Parameters ---------- diff --git a/src/diffpy/srmise/dataclusters.py b/src/diffpy/srmise/dataclusters.py index 4a057c3..5cac3b1 100644 --- a/src/diffpy/srmise/dataclusters.py +++ b/src/diffpy/srmise/dataclusters.py @@ -11,7 +11,8 @@ # See LICENSE.txt for license information. # ############################################################################## -"""Defines class to partition sequences representing the x and y axis into peak-like clusters.""" +"""Defines class to partition sequences representing the x and y axis +into peak-like clusters.""" import logging @@ -53,7 +54,7 @@ class DataClusters: """ def __init__(self, x, y, res): - """Constructor + """Constructor. Parameters ---------- @@ -102,8 +103,8 @@ def __eq__(self, other): ) def _clear(self): - """ - Clear all data and reset the cluster object to a transient initial state. + """Clear all data and reset the cluster object to a transient + initial state. The purpose of this method is to provide a clean state before creating new clustering operations. The object is updated in-place and no new instance is returned. @@ -176,7 +177,8 @@ def __next__(self): """Cluster point with largest y-coordinate left, returning self. next() always adds at least one additional point to the existing - cluster, or raises an exception if all points have been clustered. + cluster, or raises an exception if all points have been + clustered. """ if self.status == self.INIT: raise Exception("Cannot cluster next point while status is INIT.") @@ -257,7 +259,8 @@ def find_nearest_cluster2(self, x): return self.find_nearest_cluster(idx - 1) def find_nearest_cluster(self, idx): - """Return [cluster index, distance] for cluster nearest to x[idx]. + """Return [cluster index, distance] for cluster nearest to + x[idx]. The distance is positive/negative if the point is right/left of the nearest cluster. If the point is within an existing cluster then @@ -332,7 +335,8 @@ def cluster_is_full(self, cluster_idx): return self.clusters[cluster_idx, 0] == low and self.clusters[cluster_idx, 1] == high def combine_clusters(self, combine): - """Combine clusters specified by each subarray of cluster indices. + """Combine clusters specified by each subarray of cluster + indices. Clusters to combine must be contiguous, increasing, and have no unclustered points between them. @@ -386,7 +390,8 @@ def combine_clusters(self, combine): self.clusters = np.delete(self.clusters, todelete, 0) def find_adjacent_clusters(self): - """Return all cluster indices with no unclustered points between them. + """Return all cluster indices with no unclustered points between + them. Return array([[leftmost_idx1,...,rightmost_idx1],...]) such that there are no unclustered points between each element in subarray of clusters @@ -465,7 +470,10 @@ def plot(self, *args, **kwds): return def animate(self): - """Animate clustering. Restores state when complete.""" + """Animate clustering. + + Restores state when complete. + """ clusters = self.clusters current_idx = self.current_idx lastcluster_idx = self.lastcluster_idx diff --git a/src/diffpy/srmise/modelcluster.py b/src/diffpy/srmise/modelcluster.py index 1525ddc..0d92f30 100644 --- a/src/diffpy/srmise/modelcluster.py +++ b/src/diffpy/srmise/modelcluster.py @@ -40,7 +40,8 @@ class ModelCovariance(object): - """Helper class preserves uncertainty info (full covariance matrix) for a fit model. + """Helper class preserves uncertainty info (full covariance matrix) + for a fit model. This object preserves a light-weight "frozen" version of a model which can be used to interrogate the model about the uncertainties of its parameters. @@ -137,7 +138,8 @@ def setcovariance(self, model, cov): rawi += 1 def transform(self, in_format, out_format, **kwds): - """Transform parameters and covariance matrix under specified change of variables. + """Transform parameters and covariance matrix under specified + change of variables. By default this change applies to all parameters of the model. If the specified transformation is invalid for a given ModelPart the original parameterization is maintained for that part. @@ -226,7 +228,8 @@ def transform(self, in_format, out_format, **kwds): return def getcorrelation(self, i, j): - """Return the correlation between variables i and j, Corr_ij=Cov_ij/(sigma_i sigma_j) + """Return the correlation between variables i and j, + Corr_ij=Cov_ij/(sigma_i sigma_j) The variables may be specified as integers, or as a two-component tuple of integers (l, m) which indicate the mth parameter in peak l. @@ -262,8 +265,9 @@ def getcorrelation(self, i, j): def getvalue(self, i): """Return value of parameter i. - The variable may be specified as an integer, or as a two-component tuple of integers (l, m) - which indicate the mth parameter of modelpart l. + The variable may be specified as an integer, or as a two- + component tuple of integers (l, m) which indicate the mth + parameter of modelpart l. """ (l, m) = i if i in self.pmap else self.ipmap[i] return self.model[l][m] @@ -334,7 +338,8 @@ def get(self, i): return (self.getvalue(i), self.getuncertainty(i)) def correlationwarning(self, threshold=0.8): - """Report distinct variables with magnitude of correlation greater than threshold. + """Report distinct variables with magnitude of correlation + greater than threshold. Returns a list of tuples (i, j, c), where i and j are tuples indicating the modelpart and parameter indices of the correlated variables, and @@ -363,7 +368,8 @@ def correlationwarning(self, threshold=0.8): return correlated def __str__(self): - """Return string of value (uncertainty) pairs for all parameters.""" + """Return string of value (uncertainty) pairs for all + parameters.""" if self.model is None or self.cov is None: return "Model and/or Covariance matrix undefined." lines = [] @@ -426,7 +432,6 @@ class ModelCluster(object): value: Return value of the model plus baseline valuebl: Return value of the baseline writestr: Return string representation of self. - """ def __init__(self, model, *args, **kwds): @@ -501,7 +506,8 @@ def __init__(self, model, *args, **kwds): def copy(self): """Return copy of this ModelCluster. - Equivalent to ModelCluster(self)""" + Equivalent to ModelCluster(self) + """ return ModelCluster(self) def addexternalpeaks(self, peaks): @@ -964,7 +970,8 @@ def deletepeak(self, idx): self.replacepeaks([], slice(idx, idx + 1)) def estimatepeak(self): - """Attempt to add single peak to empty cluster. Return True if successful. + """Attempt to add single peak to empty cluster. Return True if + successful. Returns ------- @@ -1126,7 +1133,8 @@ def fit( return new_qual def contingent_fit(self, minpoints, growth_threshold): - """Fit cluster if it has grown sufficiently large since its last fit. + """Fit cluster if it has grown sufficiently large since its last + fit. Parameters ---------- @@ -1149,7 +1157,10 @@ def contingent_fit(self, minpoints, growth_threshold): return None def cleanfit(self): - """Remove poor-quality peaks in the fit. Return number removed.""" + """Remove poor-quality peaks in the fit. + + Return number removed. + """ # Find peaks located outside the cluster pos = np.array([p["position"] for p in self.model]) left_idx = pos.searchsorted(self.r_cluster[0]) @@ -1219,7 +1230,8 @@ def reduce_to(self, x, y): Returns ------- ModelEvaluator or None - Return ModelEvaluator instance if fit changed, otherwise None.""" + Return ModelEvaluator instance if fit changed, otherwise None. + """ # No reduction necessary if self.model.value(x) < y: logger.debug("reduce_to: No reduction necessary.") @@ -1295,7 +1307,8 @@ def residual(self): return self.y_cluster - self.value() def quality(self, evaluator=None, **kwds): - """Return ModelEvaluator instance containing calculated quality of the model. + """Return ModelEvaluator instance containing calculated quality + of the model. ModelEvaluator objects may be compared as though they were numerical quantities. Its raw value is given by the 'stat' member. For more @@ -1323,7 +1336,8 @@ def quality(self, evaluator=None, **kwds): return evaluator_inst def plottable(self, joined=False): - """Return sequence suitable for plotting cluster model+baseline with matplotlib. + """Return sequence suitable for plotting cluster model+baseline + with matplotlib. Parameters ---------- @@ -1346,7 +1360,8 @@ def plottable(self, joined=False): return toreturn def plottable_residual(self): - """Return sequence suitable for plotting cluster residual with matplotlib. + """Return sequence suitable for plotting cluster residual with + matplotlib. Returns ------- @@ -1356,7 +1371,8 @@ def plottable_residual(self): return [self.r_cluster, self.residual()] def augment(self, source): - """Add peaks from another ModelCluster that improve this one's quality. + """Add peaks from another ModelCluster that improve this one's + quality. Parameters ---------- @@ -1427,14 +1443,15 @@ def __str__(self): def prune(self): """Remove peaks until model quality no longer improves. - Peaks are removed in a greedy fashion, and the best possible model is - by no means guaranteed. + Peaks are removed in a greedy fashion, and the best possible + model is by no means guaranteed. - Due to the somewhat exploratory nature of prune many non-convergent - fits will generally be performed, but it severely restricts the number - of function evaluations permitted during fitting, and so fits that do - not converge rapidly are abandoned. Nevertheless, occasionally this - method will take an unusually long time to complete. + Due to the somewhat exploratory nature of prune many non- + convergent fits will generally be performed, but it severely + restricts the number of function evaluations permitted during + fitting, and so fits that do not converge rapidly are abandoned. + Nevertheless, occasionally this method will take an unusually + long time to complete. """ if len(self.model) == 0: return diff --git a/src/diffpy/srmise/modelevaluators/aic.py b/src/diffpy/srmise/modelevaluators/aic.py index 1a1973b..24b4ef5 100644 --- a/src/diffpy/srmise/modelevaluators/aic.py +++ b/src/diffpy/srmise/modelevaluators/aic.py @@ -46,12 +46,13 @@ class AIC(ModelEvaluator): """ def __init__(self): - """ """ + """""" ModelEvaluator.__init__(self, "AIC", False) return def evaluate(self, fit, count_fixed=False, kshift=0): - """Return quality of fit for given ModelCluster using AIC (Akaike's Information Criterion). + """Return quality of fit for given ModelCluster using AIC + (Akaike's Information Criterion). Parameters ---------- @@ -66,7 +67,8 @@ def evaluate(self, fit, count_fixed=False, kshift=0): Returns ------- quality : float - The quality of fit for given ModelCluster.""" + The quality of fit for given ModelCluster. + """ # Number of parameters. By default, fixed parameters are ignored. k = fit.model.npars(count_fixed=count_fixed) + kshift if k < 0: @@ -88,7 +90,8 @@ def evaluate(self, fit, count_fixed=False, kshift=0): return self.stat def minpoints(self, npars): - """Calculates the minimum number of points required to make an estimate of a model's quality. + """Calculates the minimum number of points required to make an + estimate of a model's quality. Parameters ---------- @@ -104,7 +107,8 @@ def minpoints(self, npars): return 1 def parpenalty(self, k): - """Returns the cost for adding k parameters to the current model cluster. + """Returns the cost for adding k parameters to the current model + cluster. Parameters ---------- @@ -124,8 +128,9 @@ def parpenalty(self, k): return (2 * k) * fudgefactor def growth_justified(self, fit, k_prime): - """Returns whether adding k_prime parameters to the given model (ModelCluster) is justified - given the current quality of the fit. + """Returns whether adding k_prime parameters to the given model + (ModelCluster) is justified given the current quality of the + fit. The assumption is that adding k_prime parameters will result in "effectively 0" chiSquared cost, and so adding it is justified if the cost of adding @@ -170,7 +175,7 @@ def growth_justified(self, fit, k_prime): @staticmethod def akaikeweights(aics): - """Return sequence of Akaike weights for sequence of AICs + """Return sequence of Akaike weights for sequence of AICs. Parameters ---------- @@ -189,7 +194,7 @@ def akaikeweights(aics): @staticmethod def akaikeprobs(aics): - """Return sequence of Akaike probabilities for sequence of AICs + """Return sequence of Akaike probabilities for sequence of AICs. Parameters ---------- @@ -199,7 +204,8 @@ def akaikeprobs(aics): Returns ------- array-like - The sequence of Akaike probabilities""" + The sequence of Akaike probabilities + """ aic_weights = AIC.akaikeweights(aics) return aic_weights / np.sum(aic_weights) diff --git a/src/diffpy/srmise/modelevaluators/aicc.py b/src/diffpy/srmise/modelevaluators/aicc.py index b2a9286..66d49fc 100644 --- a/src/diffpy/srmise/modelevaluators/aicc.py +++ b/src/diffpy/srmise/modelevaluators/aicc.py @@ -45,13 +45,14 @@ class AICc(ModelEvaluator): """ def __init__(self): - """ """ + """""" ModelEvaluator.__init__(self, "AICc", False) return def evaluate(self, fit, count_fixed=False, kshift=0): - """Return quality of fit for given ModelCluster using AICc (Akaike's Information Criterion - with 2nd order correction for small sample size). + """Return quality of fit for given ModelCluster using AICc + (Akaike's Information Criterion with 2nd order correction for + small sample size). Parameters fit: A ModelCluster @@ -65,7 +66,8 @@ def evaluate(self, fit, count_fixed=False, kshift=0): Returns ------- float - Quality of AICc""" + Quality of AICc + """ # Number of parameters. By default, fixed parameters are ignored. k = fit.model.npars(count_fixed=count_fixed) + kshift if k < 0: @@ -87,7 +89,8 @@ def evaluate(self, fit, count_fixed=False, kshift=0): return self.stat def minpoints(self, npars): - """Calculates the minimum number of points required to make an estimate of a model's quality. + """Calculates the minimum number of points required to make an + estimate of a model's quality. Parameters ---------- @@ -105,7 +108,8 @@ def minpoints(self, npars): return npars + 2 def parpenalty(self, k, n): - """Returns the cost for adding k parameters to the current model cluster. + """Returns the cost for adding k parameters to the current model + cluster. Parameters ---------- @@ -128,7 +132,8 @@ def parpenalty(self, k, n): return (2 * k + float(2 * k * (k + 1)) / (n - k - 1)) * fudgefactor def growth_justified(self, fit, k_prime): - """Is adding k_prime parameters to ModelCluster justified given the current quality of the fit. + """Is adding k_prime parameters to ModelCluster justified given + the current quality of the fit. The assumption is that adding k_prime parameters will result in "effectively 0" chiSquared cost, and so adding it is justified if the cost of adding these parameters is less than the current @@ -171,7 +176,7 @@ def growth_justified(self, fit, k_prime): @staticmethod def akaikeweights(aics): - """Return sequence of Akaike weights for sequence of AICs + """Return sequence of Akaike weights for sequence of AICs. Parameters ---------- @@ -190,7 +195,7 @@ def akaikeweights(aics): @staticmethod def akaikeprobs(aics): - """Return sequence of Akaike probabilities for sequence of AICs + """Return sequence of Akaike probabilities for sequence of AICs. Parameters ---------- @@ -200,7 +205,8 @@ def akaikeprobs(aics): Returns ------- array-like - The sequence of Akaike probabilities""" + The sequence of Akaike probabilities + """ aic_weights = AICc.akaikeweights(aics) return aic_weights / np.sum(aic_weights) diff --git a/src/diffpy/srmise/modelevaluators/base.py b/src/diffpy/srmise/modelevaluators/base.py index 179e082..f190e27 100644 --- a/src/diffpy/srmise/modelevaluators/base.py +++ b/src/diffpy/srmise/modelevaluators/base.py @@ -48,12 +48,14 @@ class ModelEvaluator: - """Class for evaluating the quality of a fit. Comparison between different - models of the same type is defined so that better models are 'greater than' - worse models.""" + """Class for evaluating the quality of a fit. + + Comparison between different models of the same type is defined so + that better models are 'greater than' worse models. + """ def __init__(self, method, higher_is_better): - """Constructor of ModelEvaluator + """Constructor of ModelEvaluator. Parameters ---------- @@ -69,7 +71,7 @@ def __init__(self, method, higher_is_better): return def __lt__(self, other): - """ """ + """""" assert self.method == other.method # Comparison between same types required assert self.stat is not None and other.stat is not None # The statistic must already be calculated @@ -80,7 +82,7 @@ def __lt__(self, other): return other.stat < self.stat def __le__(self, other): - """ """ + """""" assert self.method == other.method # Comparison between same types required assert self.stat is not None and other.stat is not None # The statistic must already be calculated @@ -91,7 +93,7 @@ def __le__(self, other): return other.stat <= self.stat def __eq__(self, other): - """ """ + """""" assert self.method == other.method # Comparison between same types required assert self.stat is not None and other.stat is not None # The statistic must already be calculated @@ -99,7 +101,7 @@ def __eq__(self, other): return self.stat == other.stat def __ne__(self, other): - """ """ + """""" assert self.method == other.method # Comparison between same types required assert self.stat is not None and other.stat is not None # The statistic must already be calculated @@ -107,7 +109,7 @@ def __ne__(self, other): return self.stat != other.stat def __gt__(self, other): - """ """ + """""" assert self.method == other.method # Comparison between same types required assert self.stat is not None and other.stat is not None # The statistic must already be calculated @@ -118,7 +120,7 @@ def __gt__(self, other): return other.stat > self.stat def __ge__(self, other): - """ """ + """""" assert self.method == other.method # Comparison between same types required assert self.stat is not None and other.stat is not None # The statistic must already be calculated @@ -138,7 +140,8 @@ def chi_squared(self, expected, observed, error): observed : float The observed value. error : float - The error statistic.""" + The error statistic. + """ self.chisq = np.sum((expected - observed) ** 2 / error**2) return self.chisq diff --git a/src/diffpy/srmise/modelparts.py b/src/diffpy/srmise/modelparts.py index 43a2141..8c591e1 100644 --- a/src/diffpy/srmise/modelparts.py +++ b/src/diffpy/srmise/modelparts.py @@ -569,7 +569,8 @@ def compress(self): Returns ------- pars : array-like - The compressed parameters of the model part.""" + The compressed parameters of the model part. + """ return self.pars[self.free] def jacobian(self, r, range=None): @@ -591,12 +592,14 @@ def jacobian(self, r, range=None): return self._owner.jacobian(self, r, range) def owner(self): - """Return the BaseFunction subclass instance which owns this part. + """Return the BaseFunction subclass instance which owns this + part. Returns ------- BaseFunction subclass - The BaseFunction subclass which owns this part.""" + The BaseFunction subclass which owns this part. + """ return self._owner def update(self, freepars): @@ -727,7 +730,8 @@ def npars(self, count_fixed=True): Returns ------- int - The number of parameters in all parts.""" + The number of parameters in all parts. + """ if count_fixed: return self._owner.npars else: @@ -738,7 +742,7 @@ def __str__(self): return str(self._owner.transform_parameters(self.pars, in_format="internal", out_format="default_output")) def __eq__(self, other): - """ """ + """""" if hasattr(other, "_owner"): return ( (self._owner is other._owner) @@ -750,7 +754,7 @@ def __eq__(self, other): return False def __ne__(self, other): - """ """ + """""" return not self == other def writestr(self, ownerlist): diff --git a/src/diffpy/srmise/multimodelselection.py b/src/diffpy/srmise/multimodelselection.py index c4c7b74..4bb85d1 100644 --- a/src/diffpy/srmise/multimodelselection.py +++ b/src/diffpy/srmise/multimodelselection.py @@ -33,10 +33,11 @@ def eatkwds(*args, **kwds): class MultimodelSelection(PeakStability): - """Quick and dirty multimodel selection using AIC and its offspring.""" + """Quick and dirty multimodel selection using AIC and its + offspring.""" def __init__(self): - """ """ + """""" self.dgs = np.array([]) self.dgs_idx = {} @@ -187,7 +188,8 @@ def makeaicprobs(self): self.aicprobs[dg] = em.akaikeprobs(self.aics[dg]) def makesortedprobs(self): - """Make probabilities for the sequence of AICs in a sorted order.""" + """Make probabilities for the sequence of AICs in a sorted + order.""" self.sortedprobs = {} for dg in self.dgs: @@ -203,7 +205,8 @@ def animate_probs(self, step=False, duration=0.0, **kwds): duration : float Minimum time in seconds to complete animation. Default is 0. - Keywords passed to pyplot.plot()""" + Keywords passed to pyplot.plot() + """ if duration > 0: import time @@ -248,7 +251,8 @@ def animate_classprobs(self, step=False, duration=0.0, **kwds): duration : float Minimum time in seconds to complete animation. Default is 0. - Keywords passed to pyplot.plot()""" + Keywords passed to pyplot.plot() + """ if duration > 0: import time @@ -461,7 +465,8 @@ def dg_key(self, dg_in): Returns ------- float - The dg value usable as a key nearest to dg_in.""" + The dg value usable as a key nearest to dg_in. + """ idx = (np.abs(self.dgs - dg_in)).argmin() return self.dgs[idx] @@ -476,7 +481,8 @@ def bestclasses(self, dgs=None): Returns ------- array-like - The best classes for all models.""" + The best classes for all models. + """ if dgs is None: dgs = self.dgs best = [] @@ -518,7 +524,8 @@ def classbestdgs(self, cls, dgs=None): Returns ------- array-like - Sequence of best uncertainties for the models.""" + Sequence of best uncertainties for the models. + """ if dgs is None: dgs = self.dgs bestdgs = [] @@ -528,7 +535,8 @@ def classbestdgs(self, cls, dgs=None): return bestdgs def modelbestdgs(self, model, dgs=None): - """Return uncertainties where given model has greatest Akaike probability. + """Return uncertainties where given model has greatest Akaike + probability. Parameters ---------- @@ -587,7 +595,8 @@ def plot3dclassprobs(self, **kwds): "fig" - The figure "axis" - The image axis "cbaxis" - The colorbar axis, if it exists. - "cb" - The colorbar, if it exists.""" + "cb" - The colorbar, if it exists. + """ from matplotlib import cm, colorbar, colors from matplotlib.collections import PolyCollection @@ -780,7 +789,8 @@ def get_class(self, dG, **kwds): return self.sortedclassprobs[dG][-1 - corder] # index of corderth best class def get_prob(self, dG, **kwds): - """Return Akaike probability of best model of best class at given dG. + """Return Akaike probability of best model of best class at + given dG. Parameters ---------- @@ -807,7 +817,8 @@ def get_prob(self, dG, **kwds): return self.classprobs[dG][cls_idx] def get_nfree(self, dG, **kwds): - """Return number of free parameters of best model of best class at given dG. + """Return number of free parameters of best model of best class + at given dG. Parameters ---------- @@ -832,7 +843,8 @@ def get_nfree(self, dG, **kwds): return model.npars(count_fixed=False) + baseline.npars(count_fixed=False) def get_aic(self, dG, **kwds): - """Return number of free parameters of best model of best class at given dG. + """Return number of free parameters of best model of best class + at given dG. Parameters ---------- @@ -855,7 +867,8 @@ def get_aic(self, dG, **kwds): return self.aics[dG][idx].stat def get(self, dG, *args, **kwds): - """Return tuple of values corresponding to string arguments for best model of best class at given dG. + """Return tuple of values corresponding to string arguments for + best model of best class at given dG. Parameters ---------- @@ -891,7 +904,8 @@ def get(self, dG, *args, **kwds): return tuple(values) def maxprobdG_byclass(self, model): - """Return the post-hoc dG for which the given model's Akaike probability is maximized. + """Return the post-hoc dG for which the given model's Akaike + probability is maximized. Each model is mapped to its class' best member. @@ -911,8 +925,8 @@ def maxprobdG_byclass(self, model): return self.dgs[prob_idx] def maxprobdG_bymodel(self, model): - """Return the post-hoc dG for which the given model's Akaike probability is maximized. - Classes are not considered. + """Return the post-hoc dG for which the given model's Akaike + probability is maximized. Classes are not considered. Parameters ---------- @@ -941,7 +955,8 @@ def maxprobmodel_byclass(self, dG): Returns ------- float - The model mapped by class which maximizes probability at given dG.""" + The model mapped by class which maximizes probability at given dG. + """ cls = self.sortedclassprobs[dG][-1] m = self.sortedclasses[dG][cls][-1] return m @@ -958,6 +973,7 @@ def maxprobmodel_bymodel(self, dG): Returns ------- model : array-like - The model which maximizes probability at given dG.""" + The model which maximizes probability at given dG. + """ # Note that if there are identical models this returns the one of greatest dg. return self.sortedprobs[dG][-1] diff --git a/src/diffpy/srmise/pdfdataset.py b/src/diffpy/srmise/pdfdataset.py index 6f41d30..56c473a 100644 --- a/src/diffpy/srmise/pdfdataset.py +++ b/src/diffpy/srmise/pdfdataset.py @@ -14,10 +14,7 @@ # LICENSE_PDFgui.txt for the full PDFgui license. # ############################################################################## - - -"""class PDFDataSet for experimental PDF data. -""" +"""Class PDFDataSet for experimental PDF data.""" import os.path @@ -32,7 +29,7 @@ class PDFComponent(object): """Common base class.""" def __init__(self, name): - """initialize the object + """Initialize the object. Parameter --------- @@ -42,7 +39,7 @@ def __init__(self, name): self.name = name def close(self, force=False): - """close myself + """Close myself. Parameter --------- @@ -122,9 +119,11 @@ def __init__(self, name): return def clear(self): - """reset all data members to initial empty values + """Reset all data members to initial empty values. - The purpose of this method is to set the PDF dataset to initial empty values.""" + The purpose of this method is to set the PDF dataset to initial + empty values. + """ self.robs = [] self.Gobs = [] self.drobs = [] @@ -144,7 +143,8 @@ def clear(self): def setvar(self, var, value): """Assign a data member using PdfFit-style variable notation. - This method is typically utilized by the `applyParameters()` function. + This method is typically utilized by the `applyParameters()` + function. Parameters ---------- @@ -169,8 +169,8 @@ def setvar(self, var, value): return def getvar(self, var): - """Obtain value corresponding to PdfFit dataset variable. - Used by findParameters(). + """Obtain value corresponding to PdfFit dataset variable. Used + by findParameters(). Parameters ---------- @@ -192,7 +192,7 @@ def getvar(self, var): return value def read(self, filename): - """load data from PDFGetX2 or PDFGetN gr file + """Load data from PDFGetX2 or PDFGetN gr file. filename : str file to read from @@ -217,7 +217,7 @@ def read(self, filename): return self def readStr(self, datastring): - """read experimental PDF data from a string + """Read experimental PDF data from a string. Parameter --------- @@ -364,7 +364,6 @@ def write(self, filename): def writeStr(self): """String representation of experimental PDF data. - Returns ------- str @@ -411,7 +410,7 @@ def writeStr(self): return datastring def copy(self, other=None): - """copy self to other. if other is None, create new instance + """Copy self to other. if other is None, create new instance. Parameters ---------- diff --git a/src/diffpy/srmise/pdfpeakextraction.py b/src/diffpy/srmise/pdfpeakextraction.py index 6142e68..af52fb4 100644 --- a/src/diffpy/srmise/pdfpeakextraction.py +++ b/src/diffpy/srmise/pdfpeakextraction.py @@ -36,8 +36,8 @@ class PDFPeakExtraction(PeakExtraction): - """PDFPeakExtraction extends the PeakExtraction class to specialize in extracting - peaks from PDF (Probability Density Function) data. + """PDFPeakExtraction extends the PeakExtraction class to specialize + in extracting peaks from PDF (Probability Density Function) data. Parameters ---------- @@ -77,7 +77,6 @@ def loadpdf(self, pdf): ---------- pdf: PDFDataSet instance or str The PDFDataSet instance or a PDF file name. - """ self.clear() if isinstance(pdf, PDFDataSet): @@ -98,7 +97,8 @@ def setdata(self, x, y, dx=None, dy=None): x : array-like The x-coordinates of the data. y : array-like - The y-coordinates of the data.""" + The y-coordinates of the data. + """ PeakExtraction.setdata(self, x, y, dx, dy) try: self.qmax_fromdata = find_qmax(self.x, self.y)[0] @@ -108,7 +108,9 @@ def setdata(self, x, y, dx=None, dy=None): def clear(self): """Clear all members. - The purpose of the method is to ensure the object is in a clean state.""" + The purpose of the method is to ensure the object is in a clean + state. + """ # TODO: Clear additional members self.filename = None self.nyquist = None @@ -190,7 +192,8 @@ def defaultvars(self, *args): Parameters ---------- *args : argparse.Namespace - Arguments passed to PeakExtraction.setdata().""" + Arguments passed to PeakExtraction.setdata(). + """ nargs = list(args) # qmax preference: reported, then fromdata, then 0. @@ -250,7 +253,8 @@ def defaultvars(self, *args): PeakExtraction.defaultvars(self, *nargs) def resampledata(self, dr, **kwds): - """Return (x, y, error in x, effective error in y) resampled by interval dr. + """Return (x, y, error in x, effective error in y) resampled by + interval dr. Uses values of self.x, self.y, self.dx, self.effective_dy. The range is constrained by self.rng. @@ -276,7 +280,8 @@ def resampledata(self, dr, **kwds): Returns ------- tuple of ndarray - A tuple containing the resampled (x, y, error in x, effective error in y).""" + A tuple containing the resampled (x, y, error in x, effective error in y). + """ self.defaultvars() # Find correct range if necessary. eps = kwds.get("eps", 10**-6) @@ -318,7 +323,8 @@ def errorscale(self, dr): Returns ------- float - The uncertainties scaled.""" + The uncertainties scaled. + """ if self.qmax > 0 and self.nyquist and self.scale: dr_nyquist = np.pi / self.qmax return np.max([np.sqrt(dr_nyquist / dr), 1.0]) @@ -326,7 +332,8 @@ def errorscale(self, dr): return 1.0 def extract(self, **kwds): - """Extract peaks from the PDF. Returns ModelCovariance instance summarizing results. + """Extract peaks from the PDF. Returns ModelCovariance instance + summarizing results. Parameters ---------- @@ -540,7 +547,8 @@ def extract(self, **kwds): return cov def fit(self, **kwds): - """Fit peaks in the PDF. Returns ModelCovariance instance summarizing results. + """Fit peaks in the PDF. Returns ModelCovariance instance + summarizing results. Parameters ---------- @@ -726,7 +734,8 @@ def writepwa(self, filename, comments="n/a"): return def writepwastr(self, comments): - """Return string of extracted peaks (position, width, area) in PDF. + """Return string of extracted peaks (position, width, area) in + PDF. There is not enough information to recreate the extracted peaks from this file. @@ -1033,7 +1042,8 @@ def find_qmax(r, y, showgraphs=False): def stdratio(data): - """Calculate ratio of standard deviation for runs of equal length in data. + """Calculate ratio of standard deviation for runs of equal length in + data. Uses a numerically-stable online algorithm for calculating the standard deviation. @@ -1047,7 +1057,8 @@ def stdratio(data): ------- array-like an array of length floor(len(data)/2)-1. The ith element is - equivalent to std(data[:i+2])/std(data[i+2:2i+4]).""" + equivalent to std(data[:i+2])/std(data[i+2:2i+4]). + """ limit = int(np.floor(len(data) / 2)) std_left = np.zeros(limit) diff --git a/src/diffpy/srmise/peakextraction.py b/src/diffpy/srmise/peakextraction.py index dd0b0cd..3bcb084 100644 --- a/src/diffpy/srmise/peakextraction.py +++ b/src/diffpy/srmise/peakextraction.py @@ -70,7 +70,8 @@ def __init__(self, newvars=[]): Parameters newvars : array-like - Sequence of strings that represent additional extraction parameters.""" + Sequence of strings that represent additional extraction parameters. + """ self.clear() self.extractvars = dict.fromkeys( ( @@ -94,7 +95,9 @@ def __init__(self, newvars=[]): def clear(self): """Clear all members. - The purpose of the method is to ensure the object is in initialized state.""" + The purpose of the method is to ensure the object is in + initialized state. + """ self.x = None self.y = None self.dx = None @@ -263,7 +266,8 @@ def __str__(self): return "\n".join(out) + "\n" def plot(self, **kwds): - """Convenience function to plot data and extracted peaks with matplotlib. + """Convenience function to plot data and extracted peaks with + matplotlib. Uses initial peaks instead if no peaks have been extracted. @@ -299,7 +303,7 @@ def plot(self, **kwds): plt.plot(*mcluster.plottable(kwds)) def read(self, filename): - """load PeakExtraction object from file + """Load PeakExtraction object from file. Parameters ---------- @@ -539,7 +543,8 @@ def readstr(self, datastring): self.extracted = ModelCluster.factory(mc, pfbaselist=safepf, blfbaselist=safebf) def write(self, filename): - """Write string representation of PeakExtraction instance to file. + """Write string representation of PeakExtraction instance to + file. Parameters ---------- @@ -712,7 +717,8 @@ def writesummary(self): pass def getrangeslice(self): - """Convert the ranges in terms of x-coordinates to a slice object.""" + """Convert the ranges in terms of x-coordinates to a slice + object.""" low_idx = 0 while self.x[low_idx] < max(self.x[0], self.rng[0]): low_idx += 1 @@ -785,7 +791,8 @@ def estimate_peak(self, x, add=True): return None def add_peaks(self, peaks): - """Add peaks to extracted peaks, or initial_peaks if no extracted peaks exist. + """Add peaks to extracted peaks, or initial_peaks if no + extracted peaks exist. Parameters ---------- @@ -801,14 +808,16 @@ def add_peaks(self, peaks): self.initial_peaks.sort(key="position") def extract_single(self, recursion_depth=1): - """Find ModelCluster with peaks extracted from data. Return ModelCovariance instance at top level. + """Find ModelCluster with peaks extracted from data. Return + ModelCovariance instance at top level. Every extracted peak is one of the peak functions supplied. All comparisons of different peak models are performed with the class specified by error_method. Parameters - recursion_depth: (1) Tracks recursion with extract_single.""" + recursion_depth: (1) Tracks recursion with extract_single. + """ self.clearcalc() tracer = srmiselog.tracer tracer.pushc() @@ -1319,8 +1328,10 @@ def extract_single(self, recursion_depth=1): return cov def fit_single(self): - """Fit peaks in initial_peaks with baseline. Return ModelCovariance - instance summarizing results.""" + """Fit peaks in initial_peaks with baseline. + + Return ModelCovariance instance summarizing results. + """ self.clearcalc() diff --git a/src/diffpy/srmise/peaks/base.py b/src/diffpy/srmise/peaks/base.py index 44c7963..a13a312 100644 --- a/src/diffpy/srmise/peaks/base.py +++ b/src/diffpy/srmise/peaks/base.py @@ -70,7 +70,7 @@ def __init__( base=None, Cache=None, ): - """Set parameterdict defined by subclass + """Set parameterdict defined by subclass. parameterdict: A dictionary mapping string keys to their index in a sequence of parameters for this PeakFunction subclass. @@ -85,7 +85,8 @@ def __init__( base: A basefunction subclass instance which this one decorates with additional functionality. Cache: A class (not instance) which implements caching of BaseFunction - evaluations.""" + evaluations. + """ if "position" not in parameterdict: emsg = "Argument parameterdict missing required key 'position'." raise ValueError(emsg) @@ -125,7 +126,8 @@ def __init__(self, *args, **kwds): ModelParts.__init__(self, *args, **kwds) def argsort(self, key="position"): - """Return sequence of indices which sort peaks in order specified by key.""" + """Return sequence of indices which sort peaks in order + specified by key.""" keypars = np.array([p[key] for p in self]) # In normal use the peaks will already be sorted, so check for it. sorted = True @@ -139,7 +141,8 @@ def argsort(self, key="position"): return range(len(keypars)) def match_at(self, x, y): - """Alter peaks so their sum at x is y, preserving each peak's maximum. + """Alter peaks so their sum at x is y, preserving each peak's + maximum. Each peak is scaled equally. Peaks with fixed parameters, a maximum very close to x, or other issues may prevent optimal results. If the @@ -201,7 +204,8 @@ def sort(self, reverse=False, key="position"): class Peak(ModelPart): - """Represents a single peak associated with a PeakFunction subclass.""" + """Represents a single peak associated with a PeakFunction + subclass.""" def __init__(self, owner, pars, free=None, removable=True, static_owner=False): """Set instance members. diff --git a/src/diffpy/srmise/peaks/gaussian.py b/src/diffpy/srmise/peaks/gaussian.py index c23358e..51a8513 100644 --- a/src/diffpy/srmise/peaks/gaussian.py +++ b/src/diffpy/srmise/peaks/gaussian.py @@ -23,7 +23,8 @@ class Gaussian(PeakFunction): - """Methods for evaluation and parameter estimation of width-limited Gaussian. + """Methods for evaluation and parameter estimation of width-limited + Gaussian. Allowed formats are internal: [position, parameterized width-squared, area] @@ -44,7 +45,7 @@ class Gaussian(PeakFunction): # which the function is considered 0. By default this distance is # equivalent to 3 standard deviations. def __init__(self, maxwidth, Cache=None): - """maxwidth defined as full width at half maximum for the + """Maxwidth defined as full width at half maximum for the corresponding Gaussian, which is physically relevant.""" parameterdict = {"position": 0, "width": 1, "area": 2} formats = ["internal", "pwa", "mu_sigma_area"] @@ -172,7 +173,8 @@ def scale_at(self, pars, x, scale): Returns ------- tuple - mu, area, and sigma that are scaled.""" + mu, area, and sigma that are scaled. + """ if scale <= 0: emsg = "".join(["Cannot scale by ", str(scale), "."]) raise SrMiseScalingError(emsg) @@ -346,7 +348,8 @@ def _transform_parametersraw(self, pars, in_format, out_format): return temp def _valueraw(self, pars, r): - """Compute the value of a width-limited Gaussian for the specified parameters at given radial distances. + """Compute the value of a width-limited Gaussian for the + specified parameters at given radial distances. This function calculates the value of a Gaussian distribution, where its effective width is constrained and related to the maxwidth. As `pars[1]` approaches infinity, @@ -383,6 +386,7 @@ def getmodule(self): def max(self, pars): """Return position and height of the peak maximum. + Parameters ---------- pars : array_like @@ -391,7 +395,8 @@ def max(self, pars): Returns ------- array_like - The position and height of the peak maximum.""" + The position and height of the peak maximum. + """ # TODO: Reconsider this behavior if len(pars) == 0: return None diff --git a/src/diffpy/srmise/peaks/gaussianoverr.py b/src/diffpy/srmise/peaks/gaussianoverr.py index 6e108e6..8e5d4cf 100644 --- a/src/diffpy/srmise/peaks/gaussianoverr.py +++ b/src/diffpy/srmise/peaks/gaussianoverr.py @@ -23,7 +23,8 @@ class GaussianOverR(PeakFunction): - """Methods for evaluation and parameter estimation of width-limited Gaussian/r. + """Methods for evaluation and parameter estimation of width-limited + Gaussian/r. Allowed formats are internal: [position, parameterized width-squared, area] @@ -44,7 +45,7 @@ class GaussianOverR(PeakFunction): # which the function is considered 0. By default this distance is # equivalent to 3 standard deviations. def __init__(self, maxwidth, Cache=None): - """maxwidth defined as full width at half maximum for the + """Maxwidth defined as full width at half maximum for the corresponding Gaussian, which is physically relevant.""" parameterdict = {"position": 0, "width": 1, "area": 2} formats = ["internal", "pwa", "mu_sigma_area"] @@ -221,8 +222,7 @@ def scale_at(self, pars, x, scale): return tpars def _jacobianraw(self, pars, r, free): - """ - Compute the Jacobian of a width-limited Gaussian/r function. + """Compute the Jacobian of a width-limited Gaussian/r function. This method calculates the partial derivatives of a Gaussian/r function with respect to its parameters, considering a limiting width. The Gaussian/r's @@ -285,7 +285,8 @@ def _jacobianraw(self, pars, r, free): return jacobian def _transform_derivativesraw(self, pars, in_format, out_format): - """Return gradient matrix for the pars converted from in_format to out_format. + """Return gradient matrix for the pars converted from in_format + to out_format. Parameters pars: Sequence of parameters @@ -412,7 +413,8 @@ def _transform_parametersraw(self, pars, in_format, out_format): return temp def _valueraw(self, pars, r): - """Compute the value of a width-limited Gaussian/r for the specified parameters at given radial distances. + """Compute the value of a width-limited Gaussian/r for the + specified parameters at given radial distances. This function calculates the value of a Gaussian/r distribution, where its effective width is constrained and related to the maxwidth. As `pars[1]` approaches infinity, @@ -456,7 +458,8 @@ def max(self, pars): Returns ------- array-like - The sequence of position and height of the peak maximum.""" + The sequence of position and height of the peak maximum. + """ # TODO: Reconsider this behavior if len(pars) == 0: return None diff --git a/src/diffpy/srmise/peaks/terminationripples.py b/src/diffpy/srmise/peaks/terminationripples.py index c516c96..e135083 100644 --- a/src/diffpy/srmise/peaks/terminationripples.py +++ b/src/diffpy/srmise/peaks/terminationripples.py @@ -23,10 +23,12 @@ class TerminationRipples(PeakFunction): - """Methods for evaluation and parameter estimation of a peak function with termination ripples.""" + """Methods for evaluation and parameter estimation of a peak + function with termination ripples.""" def __init__(self, base, qmax, extension=4.0, supersample=5.0, Cache=None): - """Peak function constructor which adds termination ripples to existing function. + """Peak function constructor which adds termination ripples to + existing function. Unlike other peak functions, TerminationRipples can only be evaluated over a uniform grid, or at a single value using an ad hoc uniform grid @@ -46,7 +48,8 @@ def __init__(self, base, qmax, extension=4.0, supersample=5.0, Cache=None): cannot be determined while extending calculations. Default is 5.0. Cache : class The class (not instance) which implements caching of PeakFunction - evaluations.""" + evaluations. + """ parameterdict = base.parameterdict formats = base.parformats default_formats = base.default_formats @@ -89,7 +92,8 @@ def estimate_parameters(self, r, y): # TODO: Can this be implemented sanely for termination ripples? def scale_at(self, pars, x, scale): - """Change parameters so value(x)->scale*value(x) for the base function. + """Change parameters so value(x)->scale*value(x) for the base + function. Does not change position or height of peak's maxima. Raises SrMiseScalingError if the parameters cannot be scaled. @@ -131,7 +135,8 @@ def _jacobianraw(self, pars, r, free): return self.base._jacobianraw(pars, r, free) def _transform_derivativesraw(self, pars, in_format, out_format): - """Return gradient matrix for the pars converted from in_format to out_format. + """Return gradient matrix for the pars converted from in_format + to out_format. Parameters ---------- @@ -169,7 +174,8 @@ def _transform_parametersraw(self, pars, in_format, out_format): return self.base._transform_parametersraw(pars, in_format, out_format) def _valueraw(self, pars, r): - """Return value of base peak function for the given parameters and r values. + """Return value of base peak function for the given parameters + and r values. pars : array-like The sequence of parameters for a single peak @@ -179,7 +185,8 @@ def _valueraw(self, pars, r): Returns ------- float - The value of base peak function for the given parameters and r.""" + The value of base peak function for the given parameters and r. + """ return self.base._valueraw(pars, r) # Overridden PeakFunction functions #### @@ -205,7 +212,8 @@ def jacobian(self, peak, r, rng=None): Returns ------- jac : array-like - The Jacobian of base function with termination ripples.""" + The Jacobian of base function with termination ripples. + """ if self is not peak._owner: raise ValueError( "Argument 'peak' must be evaluated by the " @@ -244,7 +252,8 @@ def jacobian(self, peak, r, rng=None): return jac def value(self, peak, r, rng=None): - """Calculate (rippled) value of peak, possibly restricted by range. + """Calculate (rippled) value of peak, possibly restricted by + range. This function overrides its counterpart in PeakFunction in order to minimize the impact of edge-effects from introducing termination @@ -361,7 +370,8 @@ def extend_grid(self, r, dr): Returns ------- tuple - The extended r, slice giving original range.""" + The extended r, slice giving original range. + """ ext = self.extension * 2 * np.pi / self.qmax left_ext = np.arange(r[0] - dr, max(0.0, r[0] - ext - dr), -dr)[::-1] right_ext = np.arange(r[-1] + dr, r[-1] + ext + dr, dr) diff --git a/src/diffpy/srmise/peakstability.py b/src/diffpy/srmise/peakstability.py index 28c9517..f95774b 100644 --- a/src/diffpy/srmise/peakstability.py +++ b/src/diffpy/srmise/peakstability.py @@ -29,7 +29,8 @@ class PeakStability: """Utility to test robustness of peaks. results: [error scalar, model, bl, dr] - ppe: a PDFPeakExtraction instance""" + ppe: a PDFPeakExtraction instance + """ def __init__(self): self.results = [] @@ -106,7 +107,10 @@ def plotseries(self, style="o", **kwds): plt.draw() def plot(self, **kwds): - """Plot the current model. Keywords passed to pyplot.plot()""" + """Plot the current model. + + Keywords passed to pyplot.plot() + """ plt.clf() plt.plot(*self.ppe.extracted.plottable(), **kwds) q = self.ppe.extracted.quality() @@ -187,7 +191,8 @@ def run(self, err, savecovs=False): The sequence of uncertainties to run at. savecovs : bool boolean to determine to save covariance matrix. Default is False. - If savecovs is True, return the covariance matrix for each final fit.""" + If savecovs is True, return the covariance matrix for each final fit. + """ self.results = [] covs = [] diff --git a/src/diffpy/srmise/srmiseerrors.py b/src/diffpy/srmise/srmiseerrors.py index 62953d5..22e8948 100644 --- a/src/diffpy/srmise/srmiseerrors.py +++ b/src/diffpy/srmise/srmiseerrors.py @@ -13,20 +13,20 @@ ############################################################################## """Defines all custom exceptions used by diffpy.srmise. - Classes - ------- - SrMiseError: Subclass of Exception, and superclass of all diffpy.srmise exceptions. - SrMiseDataFormatError: Error in format of diffpy.srmise data. - SrMiseEstimationError: Parameter estimation error. - SrMiseFileError: Error while reading/writing files. - SrMiseFitError: Error while fitting. - SrMiseLogError: Error while logging. - SrMiseModelEvaluatorError: Error while computing or comparing model quality. - SrMisePDFKeyError: Error in key referencing component of PDF dataset. - SrMiseQmaxError: Error in value of Qmax. - SrMiseScalingError: Error while scaling a peak function. - SrMiseStaticOwnerError: Error when changing ModelPart instance owner. - """ +Classes +------- +SrMiseError: Subclass of Exception, and superclass of all diffpy.srmise exceptions. +SrMiseDataFormatError: Error in format of diffpy.srmise data. +SrMiseEstimationError: Parameter estimation error. +SrMiseFileError: Error while reading/writing files. +SrMiseFitError: Error while fitting. +SrMiseLogError: Error while logging. +SrMiseModelEvaluatorError: Error while computing or comparing model quality. +SrMisePDFKeyError: Error in key referencing component of PDF dataset. +SrMiseQmaxError: Error in value of Qmax. +SrMiseScalingError: Error while scaling a peak function. +SrMiseStaticOwnerError: Error when changing ModelPart instance owner. +""" # Superclass class for diffpy.srmise.mise @@ -34,9 +34,10 @@ class SrMiseError(Exception): """Superclass of all diffpy.srmise exceptions.""" def __init__(self, info): - """initialize + """initialize. - info: description string""" + info: description string + """ Exception.__init__(self) self.info = info @@ -48,120 +49,168 @@ def __str__(self): class SrMiseDataFormatError(SrMiseError): - """diffpy.srmise exception class. Error in formatted data.""" + """diffpy.srmise exception class. + + Error in formatted data. + """ def __init__(self, info): - """initialize + """initialize. - info -- description string""" + info -- description string + """ SrMiseError.__init__(self, info) class SrMiseEstimationError(SrMiseError): - """diffpy.srmise.modelevaluator exception class. Parameter estimation error.""" + """diffpy.srmise.modelevaluator exception class. + + Parameter estimation error. + """ def __init__(self, info): - """initialize + """initialize. - info -- description string""" + info -- description string + """ SrMiseError.__init__(self, info) class SrMiseFileError(SrMiseError): - """diffpy.srmise exception class. Error while reading/writing files.""" + """diffpy.srmise exception class. + + Error while reading/writing files. + """ def __init__(self, info): - """initialize + """initialize. - info -- description string""" + info -- description string + """ SrMiseError.__init__(self, info) class SrMiseFitError(SrMiseError): - """diffpy.srmise exception class. Error occurred during fitting.""" + """diffpy.srmise exception class. + + Error occurred during fitting. + """ def __init__(self, info): - """initialize + """initialize. - info -- description string""" + info -- description string + """ SrMiseError.__init__(self, info) class SrMiseLogError(SrMiseError): - """diffpy.srmise exception class. Error while handling logging capabilities.""" + """diffpy.srmise exception class. + + Error while handling logging capabilities. + """ def __init__(self, info): - """initialize + """initialize. - info -- description string""" + info -- description string + """ SrMiseError.__init__(self, info) class SrMiseModelEvaluatorError(SrMiseError): - """diffpy.srmise.modelevaluator exception class. Error when comparing models.""" + """diffpy.srmise.modelevaluator exception class. + + Error when comparing models. + """ def __init__(self, info): - """initialize + """initialize. - info -- description string""" + info -- description string + """ SrMiseError.__init__(self, info) class SrMiseQmaxError(SrMiseError): - """diffpy.srmise.modelevaluator exception class. Error when setting qmax.""" + """diffpy.srmise.modelevaluator exception class. + + Error when setting qmax. + """ def __init__(self, info): - """initialize + """initialize. - info -- description string""" + info -- description string + """ SrMiseError.__init__(self, info) class SrMiseScalingError(SrMiseError): - """diffpy.srmise.peaks exception class. Error when scaling a peak function.""" + """diffpy.srmise.peaks exception class. + + Error when scaling a peak function. + """ def __init__(self, info): - """initialize + """initialize. - info -- description string""" + info -- description string + """ SrMiseError.__init__(self, info) class SrMiseStaticOwnerError(SrMiseError): - """diffpy.srmise exception class. Attempt to change owner of static model part.""" + """diffpy.srmise exception class. + + Attempt to change owner of static model part. + """ def __init__(self, info): - """initialize + """initialize. - info -- description string""" + info -- description string + """ SrMiseError.__init__(self, info) class SrMiseTransformationError(SrMiseError): - """diffpy.srmise exception class. Error transforming model/covariance parameters.""" + """diffpy.srmise exception class. + + Error transforming model/covariance parameters. + """ def __init__(self, info): - """initialize + """initialize. - info -- description string""" + info -- description string + """ SrMiseError.__init__(self, info) class SrMiseUndefinedCovarianceError(SrMiseError): - """diffpy.srmise exception class. Attempted to perform on undefined covariance.""" + """diffpy.srmise exception class. + + Attempted to perform on undefined covariance. + """ def __init__(self, info): - """initialize + """initialize. - info -- description string""" + info -- description string + """ SrMiseError.__init__(self, info) class SrMisePDFKeyError(SrMiseError): - """diffpy.srmise exception class. Requested PDF key can't be found.""" + """diffpy.srmise exception class. + + Requested PDF key can't be found. + """ def __init__(self, info): - """initialize + """initialize. - info -- description string""" + info -- description string + """ SrMiseError.__init__(self, info) diff --git a/src/diffpy/srmise/srmiselog.py b/src/diffpy/srmise/srmiselog.py index e4311a0..5393475 100644 --- a/src/diffpy/srmise/srmiselog.py +++ b/src/diffpy/srmise/srmiselog.py @@ -95,7 +95,8 @@ def setfilelevel(level): """Set level of file logger. Parameters - level: The logging level.""" + level: The logging level. + """ global fh if fh is not None: level = LEVELS.get(level, level) @@ -111,7 +112,8 @@ def setlevel(level): """Set level of default (stdout) logger. Parameters - level: The logging level.""" + level: The logging level. + """ global ch level = LEVELS.get(level, level) ch.setLevel(level) @@ -127,7 +129,8 @@ def liveplotting(lp, w=False): Parameters lp: Use live plotting (True) or not (False). - w: (False) Whether to wait for user after plotting.""" + w: (False) Whether to wait for user after plotting. + """ global liveplots global wait if lp is True or lp is False: @@ -172,8 +175,8 @@ def __init__(self, **kwds): def emit(self, *args, **kwds): """Write current trace to file. - Parameters - Any number of ModelCluster instances""" + Parameters Any number of ModelCluster instances + """ if not eval(self.filter): return else: @@ -236,7 +239,8 @@ def read(self, filename): "clusters" - List of cluster regions [[r0,r1],[r2,r3],...] "counter" - The count when object was created "mc" - A ModelCluster instance - "recursion" - The recursion level of mc""" + "recursion" - The recursion level of mc + """ try: return self.readstr(open(filename, "rb").read()) except SrMiseDataFormatError as err: @@ -258,7 +262,8 @@ def readstr(self, datastring): "clusters" - List of cluster regions [[r0,r1],[r2,r3],...] "counter" - The count when object was created "mc" - A ModelCluster instance - "recursion" - The recursion level of mc""" + "recursion" - The recursion level of mc + """ # find where the ModelCluster section starts res = re.search(r"^#+ ModelCluster\s*(?:#.*\s+)*", datastring, re.M) diff --git a/src/diffpy/srmise/version.py b/src/diffpy/srmise/version.py index 304027c..129ef83 100644 --- a/src/diffpy/srmise/version.py +++ b/src/diffpy/srmise/version.py @@ -12,7 +12,6 @@ # See LICENSE.rst for license information. # ############################################################################## - """Definition of __version__.""" # We do not use the other three variables, but can be added back if needed. diff --git a/tests/test_version.py b/tests/test_version.py index 1bc10c2..3ac5816 100644 --- a/tests/test_version.py +++ b/tests/test_version.py @@ -1,10 +1,10 @@ -"""Unit tests for __version__.py -""" +"""Unit tests for __version__.py.""" import diffpy.srmise def test_package_version(): - """Ensure the package version is defined and not set to the initial placeholder.""" + """Ensure the package version is defined and not set to the initial + placeholder.""" assert hasattr(diffpy.srmise, "__version__") assert diffpy.srmise.__version__ != "0.0.0" From 52edc717f67e617c0d906565ca73c44e936885f5 Mon Sep 17 00:00:00 2001 From: Kai Wagoner-Oshima Date: Mon, 23 Jun 2025 17:07:07 -0400 Subject: [PATCH 8/9] chore: Replace scikit-package-logo-text.png and example-table.rst with placeholder files, fix docformatter for arbitrary.py --- doc/source/img/.placeholder | 0 doc/source/img/scikit-package-logo-text.png | Bin 187608 -> 0 bytes doc/source/snippets/.placeholder | 0 doc/source/snippets/example-table.rst | 28 -------------------- pyproject.toml | 3 +++ src/diffpy/srmise/baselines/arbitrary.py | 21 ++++++++------- 6 files changed, 14 insertions(+), 38 deletions(-) create mode 100644 doc/source/img/.placeholder delete mode 100644 doc/source/img/scikit-package-logo-text.png create mode 100644 doc/source/snippets/.placeholder delete mode 100644 doc/source/snippets/example-table.rst diff --git a/doc/source/img/.placeholder b/doc/source/img/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/doc/source/img/scikit-package-logo-text.png b/doc/source/img/scikit-package-logo-text.png deleted file mode 100644 index 823178dcb1316d5cfd09bc43d8210e5c4ce38f28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187608 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 h|9pew|C30$uOMa3u}J+)EaB{~z=&QIY@v diff --git a/doc/source/snippets/.placeholder b/doc/source/snippets/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/doc/source/snippets/example-table.rst b/doc/source/snippets/example-table.rst deleted file mode 100644 index 7c4c11d..0000000 --- a/doc/source/snippets/example-table.rst +++ /dev/null @@ -1,28 +0,0 @@ -.. list-table:: 5 levels of reusing/sharing code - :widths: 5 15 40 40 - :header-rows: 1 - - * - Level - - Name - - Scope - - How to setup - * - 1 - - ``function`` - - Reuse code in the single file. - - See Level 1 tutorial - * - 2 - - ``module`` - - Reuse code across files. - - See Level 2 tutorial - * - 3 - - ``workspace`` - - Reuse code across project folders. - - ``package create workspace`` - * - 4 - - ``system`` - - Reuse code across any files in the computer. - - ``package create system`` - * - 5 - - ``public`` - - Share code as publicly installable package. - - ``package create public`` diff --git a/pyproject.toml b/pyproject.toml index 0a98f3b..cc5fa75 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -67,6 +67,9 @@ skip = "*.cif,*.dat" recursive = true wrap-summaries = 72 wrap-descriptions = 72 +exclude = [ + "src/diffpy/srmise/baselines/arbitrary.py" +] [tool.black] line-length = 115 diff --git a/src/diffpy/srmise/baselines/arbitrary.py b/src/diffpy/srmise/baselines/arbitrary.py index 4da634c..9098b17 100644 --- a/src/diffpy/srmise/baselines/arbitrary.py +++ b/src/diffpy/srmise/baselines/arbitrary.py @@ -26,16 +26,17 @@ class Arbitrary(BaselineFunction): """Methods for evaluating a baseline from an arbitrary function. - Supports baseline calculations with arbitrary functions. These - functions, if implemented, must have the following signatures and - return values: valuef(pars, x) ==> numpy.array of length x if x is a - sequence ==> number if x is a number jacobianf(pars, - x, free) ==> list, each element a numpy.array of length x if - x is a sequence or None if value of free for - that parameter is False. ==> list, each - element a number if x is a number or - None if value of free for that parameter is - False estimatef(x, y) ==> numpy.array of length npars + Supports baseline calculations with arbitrary functions. These functions, + if implemented, must have the following signatures and return values: + valuef(pars, x) ==> numpy.array of length x if x is a sequence + ==> number if x is a number + jacobianf(pars, x, free) ==> list, each element a numpy.array of length x if + x is a sequence or None if value of free for + that parameter is False. + ==> list, each element a number if x is a number + or None if value of free for that parameter is + False + estimatef(x, y) ==> numpy.array of length npars """ def __init__(self, npars, valuef, jacobianf=None, estimatef=None, Cache=None): From 27625edaa14a3b490267895cbbc2ab682b05759e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 23 Jun 2025 21:26:32 +0000 Subject: [PATCH 9/9] [pre-commit.ci] auto fixes from pre-commit hooks --- src/diffpy/srmise/baselines/arbitrary.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/diffpy/srmise/baselines/arbitrary.py b/src/diffpy/srmise/baselines/arbitrary.py index 9098b17..6101bbb 100644 --- a/src/diffpy/srmise/baselines/arbitrary.py +++ b/src/diffpy/srmise/baselines/arbitrary.py @@ -26,17 +26,17 @@ class Arbitrary(BaselineFunction): """Methods for evaluating a baseline from an arbitrary function. - Supports baseline calculations with arbitrary functions. These functions, - if implemented, must have the following signatures and return values: - valuef(pars, x) ==> numpy.array of length x if x is a sequence - ==> number if x is a number - jacobianf(pars, x, free) ==> list, each element a numpy.array of length x if - x is a sequence or None if value of free for - that parameter is False. - ==> list, each element a number if x is a number - or None if value of free for that parameter is - False - estimatef(x, y) ==> numpy.array of length npars + Supports baseline calculations with arbitrary functions. These + functions, if implemented, must have the following signatures and + return values: valuef(pars, x) ==> numpy.array of length x + if x is a sequence ==> number if x is a + number jacobianf(pars, x, free) ==> list, each element a numpy.array + of length x if x is a sequence or None + if value of free for that parameter is + False. ==> list, each element a number if x + is a number or None if value of free for + that parameter is False estimatef(x, y) + ==> numpy.array of length npars """ def __init__(self, npars, valuef, jacobianf=None, estimatef=None, Cache=None):