Skip to content

Nordic Electrochemistry tdms#167

Merged
FrederikLizakJohansen merged 13 commits into
mainfrom
tdms
Feb 23, 2026
Merged

Nordic Electrochemistry tdms#167
FrederikLizakJohansen merged 13 commits into
mainfrom
tdms

Conversation

@ScottSoren

@ScottSoren ScottSoren commented Feb 18, 2024

Copy link
Copy Markdown
Member

A reader for the .tdms files made by the labview-based EC4-DAQ software by Nordic Electrochemistry for their potentiostats.
It makes use of the npTDMS package.

The demo runs on these test files.

The feature is available in the pre-release 0.2.9.dev3

(If #166 is merged first, this branch should be rebased and merged to main.)

@ScottSoren ScottSoren force-pushed the spectromeasurements branch 2 times, most recently from da2a735 to 3d6ea33 Compare April 12, 2024 09:09
Base automatically changed from spectromeasurements to main April 12, 2024 12:46

@ScottSoren ScottSoren left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Additional notes from Gustav:

  • call tstamp "unix_time", at least in export.
  • Make a human-readable timestamp (iso 8601)
  • Overload some methods to allow multiple units, eg A_el_m2 in ECMeasurement.calibrate (though ideally SI should be default and others like cm^2 should require subsctipt)
  • Make default symbol for potential configurable (most electrochemists prefer "E" for potential)
  • use "positive" and "negative" instead of "anodic" and "cathodic" when talking about scan direction (probably only affects docstrings)

Comment thread src/ixdat/readers/nordic.py Outdated
@ScottSoren ScottSoren requested a review from kdf545 March 13, 2025 17:23
@FrederikLizakJohansen

FrederikLizakJohansen commented Feb 23, 2026

Copy link
Copy Markdown
Contributor

I've made the following changes to the TDMS reader class:

  • Units are now read from the TDMS channel properties (unit_string) rather than hardcoded. Current is converted from A to mA to follow ixdat convention.
  • Phase_E unit is now read from the file (rad, radians) instead of None.
  • ISO 8601 datetime is included in the measurement metadata.
  • Macro file parsing: if a *.EC_Macro file is present in the same directory as the .tdms file, it is automatically parsed and included in the metadata as a list of experiment steps (hardware control, gas, CV, hold parameters). The user is warned if no macro file is found, or if multiple are found.
  • Minor fixes: removed unused import, replaced print() with warnings.warn(), fixed a scope bug where tseries_EIS could be undefined when Phase_E was present without Z_E.

The following points raised in the review are left for a future PR as they concern the broader ixdat API:

  • Renaming tstamp to unix_time in exports
  • Supporting multiple units in ECMeasurement.calibrate (e.g. A_el_m2)
  • Making the default potential symbol configurable
  • Replacing "anodic"/"cathodic" with "positive"/"negative" in docstrings

@FrederikLizakJohansen

Copy link
Copy Markdown
Contributor

CI tests for python 3.7 are currently failing due to unrelated issues, which are being addressed separately in PR #194

@FrederikLizakJohansen

Copy link
Copy Markdown
Contributor

Everything else look great!
Resolving the conflict with NEXT_CHANGES.rst and then merging 🎉

@FrederikLizakJohansen FrederikLizakJohansen merged commit 47afb76 into main Feb 23, 2026
9 checks passed
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.

3 participants