Skip to content

feat: expose ReflectionProfileDoubleExponentialPseudoVoigt TOF profile - #120

Merged
vincefn merged 3 commits into
diffpy:mainfrom
cadenmyers13:expose-tof-profile
Nov 3, 2026
Merged

vincefn merged 3 commits into
diffpy:mainfrom
cadenmyers13:expose-tof-profile

Conversation

@cadenmyers13

Copy link
Copy Markdown
Contributor

‼️PLEASE NOTE I DO NOT KNOW C++ AND THIS AND THE ISSUE ARE ENTIRELY CLAUDE GENERATED‼️

closes #117

Bind the double-exponential pseudo-Voigt profile in reflectionprofile_ext.cpp so TOF Rietveld refinement no longer needs an XMLInput workaround. PowderPatternDiffraction.SetProfile now gives this profile the component crystal's unit cell, as ObjCryst++ does in SetCrystal and XMLInput, since it needs d_hkl.

@cadenmyers13

Copy link
Copy Markdown
Contributor Author

I'm opening this PR because this is a feature I want exposed for a package I am working on

@sbillinge

Copy link
Copy Markdown
Contributor

@SYMSCAE @vincefn please could you check this?

@vincefn vincefn self-assigned this Oct 28, 2026
cadenmyers13 and others added 3 commits November 3, 2026 09:14
Bind the double-exponential pseudo-Voigt profile in
reflectionprofile_ext.cpp so TOF Rietveld refinement no longer needs an
XMLInput workaround. PowderPatternDiffraction.SetProfile now gives this
profile the component crystal's unit cell, as ObjCryst++ does in
SetCrystal and XMLInput, since it needs d_hkl.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@vincefn
vincefn force-pushed the expose-tof-profile branch from cdf558b to 72bda18 Compare November 3, 2026 08:15
@vincefn
vincefn merged commit c0681c0 into diffpy:main Nov 3, 2026
5 checks passed
vincefn added a commit that referenced this pull request Nov 3, 2026
…obind (#122)

* feat: port March-Dollase texture (#119) and TOF profile (#120) to nanobind

- Bind TextureMarchDollase and PowderPatternDiffraction.GetTextureMarchDollase.
  SetPhasePar is bound directly (no RefinablePar workaround) since the
  objcryst submodule (ba6ca89, vincefn/objcryst#105) now clicks the texture
  clock; DeletePhase is also exposed.
- TextureMarchDollase has RefinableObj as a second (non-zero offset) base, so
  it is registered standalone with bind_refinableobj_forwarding and added to
  extractRefinableObjArg.
- Bind ReflectionProfileDoubleExponentialPseudoVoigt; SetProfile gives a TOF
  profile copy the crystal's unit cell.
- Port tests and news items, with extra DeletePhase tests.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* [pre-commit.ci] auto fixes from pre-commit hooks

* ci: check out submodules and exclude vendored extern/ from pre-commit

- Pass submodules: 'true' to the scikit-package reusable workflows, so that
  extern/objcryst is available when building.
- Exclude extern/ (objcryst submodule, vendored cctbx and newmat) from
  pre-commit hooks.
- Remove duplicated test_lsq_compiled_refined_obj_erase_all_param_set (F811)
  and fix a typo flagged by codespell.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* [pre-commit.ci] auto fixes from pre-commit hooks

* [pre-commit.ci] auto fixes from pre-commit hooks

* docs: keep inline code on one line so prettier output is stable

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* revert: restore vendored extern/ sources modified by pre-commit.ci autofix

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
@cadenmyers13
cadenmyers13 deleted the expose-tof-profile branch November 3, 2026 14:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: expose ReflectionProfileDoubleExponentialPseudoVoigt (TOF profile) to Python

4 participants