LabKit MATLAB Workbench

app

Chrono Overlay

Chrono Overlay compares voltage and current transients from multiple Gamry DTA files on a common pulse-centered time axis and exports the aligned curves.

Requirements And Launch

Each source must contain a readable chrono curve with time, voltage, and current data.

labkit_ChronoOverlay_app

Inputs

Use Add DTA files to select one or more .DTA files from one directory. The app parses each file as chrono data and reports unreadable items. The file list controls curve order, legend labels, and removal; selection does not discard other loaded curves. Saved projects preserve the ordered file list and reopen it through portable source references.

Basic Workflow

  1. Add the DTA files to compare.
  2. Inspect the overlaid voltage and current plots.
  3. Choose seconds, milliseconds, or sample number for the X axis.
  4. Set line width, legend visibility, and grid visibility.
  5. Export the aligned curves CSV.

Plot styling does not alter exported values. Removing a file removes its curves from both plots and the next export.

Alignment Algorithm

For each valid transient, the app uses the detected cathodic/anodic blank interval and defines time zero at its center. If pulse detection or the gap center is unavailable, it explicitly falls back to the first recorded sample and reports that fallback in the app log.

If files use different sample times, export constructs a merged aligned-time axis and interpolates each voltage/current series onto that axis. Missing coverage remains missing; the app does not extrapolate a transient beyond its recorded time range.

Parameters

ParameterDefaultEffect
X axisTime (s)plot coordinate only; alternatives are Time (ms) and Sample #
Line width1.3rendered curve width
Show file-name legendonlegend visibility
Show gridonaxes grid visibility

Output

Export curves CSV writes TimeGapCenterAligned_s followed by paired voltage and current columns for each source. Column names retain a sanitized source identity. The app also writes a result manifest containing source references, current parameters, and the CSV output role.

Use Without The GUI

[items, status] = labkit.dta.loadFiles(["run01.DTA", "run02.DTA"], ...
    "chrono");
assert(all([status.ok]), "One or more DTA files could not be read.");

aligned = arrayfun(@(item) ...
    chrono_overlay.sourceFiles.alignByPulseGap(item), items);
tableOut = chrono_overlay.resultFiles.buildOverlayExportTable(aligned);

These app-owned helpers expose the workflow to scripts but are not currently listed as stable public APIs; reusable DTA reading is supported through labkit.dta.

Errors And Limitations

Change history