feat(collect): add collect_dva for multi-cell DVA collection - #865
Merged
Conversation
DVA was the one analysis family without a Collection-based multi-cell collector, unlike summaries/cycles/ICA -- apps had to fall back to a one-cell-at-a-time special case around dva_plot. Mirror collect_ica: - collect_dva(batch, options=IcaOptions(...)) -> Collection (new cellpy/collect/dva.py), same per-cell cycle isolation as collect_ica. - IcaOptions gains capacity_resolution (dvdq differentiates along capacity via the V(q) interpolation, unlike dqdv's voltage_resolution). - dva_collector convenience wrapper; both exported from cellpy.collect. - Collection._FAMILY / render_collected wired for kind="dva" so Collection.plot() renders through the new dva_plotter (mirrors ica_plotter: x=capacity, y=dvdq) instead of silently falling back to the wrong "cycles" columns. Tests: tests/test_collect_dva.py. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
cellpy.collect.collect_dva(batch, options=IcaOptions(...)), mirroringcollect_ica, so DVA gets the sameCollection(multi-cell, grouping, save/export) treatment as summaries/cycles/ICA.IcaOptionsgainscapacity_resolution(dV/dQ differentiates along capacity via the V(q) interpolation, unlike dQ/dV'svoltage_resolution); each collector forwards only its own knob.dva_collectorconvenience wrapper, exported alongsidecollect_dvafromcellpy.collect.Collection._FAMILY/render_collectedforkind="dva"(newdva_plotter, mirrorsica_plotterwithx=capacity, y=dvdq) soCollection.plot()works out of the box instead of silently falling back to the wrongcyclescolumns.Closes #863.
Test plan
uv run pytest tests/test_collect_dva.py— 5 passeduv run pytest tests/test_collectors.py tests/test_collect.py tests/test_collected_ica_direction.py tests/test_ica_plot_prepare.py— 70 passedMPLBACKEND=Agg uv run pytest -m essential— 703 passed, 1 skipped, 2 xfailed, 1 xpassed (no regressions)black --diff/flake8on touched files — only pre-existing, unrelated findings (line-length config mismatch; fixture-shadowing F811 identical totest_collectors.py; pre-existing unused import inoptions.py)Made with Cursor