ALL Metrics
-
Views
-
Downloads
Get PDF
Get XML
Cite
Export
Track
Software Tool Article

KICA: A MATLAB package for high-throughput analysis of calcium and voltage imaging data from cardiac cells

[version 1; peer review: 1 approved with reservations]
PUBLISHED 17 Jul 2025
Author details Author details
OPEN PEER REVIEW
REVIEWER STATUS

This article is included in the Bioinformatics gateway.

Abstract

Background

Fluorescent time-series data reporting cellular calcium homeostasis and membrane voltage are common measures of cardiac physiology with widespread utility in areas such as disease modelling and drug screening. The growth in the use of high-throughput platforms in this area has resulted in a significantly increased requirement for automated quality control, processing and data analysis.

Methods

To support this, we developed a MATLAB package, KICA (Kinetic Imaging Cytometry Analyser), which rapidly processes and analyzes large-scale fluorescent time-series data. The KICA signal processing implementation applies denoising, drift removal, calculation of signal-to-noise ratio (SNR), and pulse/beat detection, along with subsequent pulse analysis including peak/upstroke detection, calculation of activation times, rise and fall times, beat rates, and parameters related to pulse width (action potential or calcium transient durations). The output includes quality-controlled data, summary statistics, and figures for individual cells.

Results

KICA includes example input datasets (CSV files) and a user guide to facilitate rapid understanding and verification of functionality. Users can process these examples, setting key parameters for signal type, detection thresholds, and duration calculations, to generate Excel reports summarising key pulse characteristics such as action potential duration (APD), peak amplitude, and SNR, alongside figures visualising the processed signals and detected beats for interpretation. KICA is optimised for parallel operation and achieves nearly linear speedup in computational time, demonstrating its capability for efficient high-throughput analysis.

Conclusions

KICA provides a robust and efficient automated solution, streamlining the analysis of large kinetic imaging cytometry datasets and supporting high-throughput research in cardiac physiology and drug screening.

Keywords

Kinetic Imaging Cytometer; cytometry signal analysis; action potential; calcium level; cell contractility; time-series data; high-content screening; drug discovery; cardiomyocyte imaging; bioinformatics; signal processing; time-series analysis; MATLAB software; action potential duration (APD); signal-to-noise ratio (SNR); parallel computing; fluorescence microscopy; electrophysiology

Introduction

The beat-to-beat cycling of cytosolic calcium and membrane voltage are key processes that are critical for normal func- tion of the heart.13 Measuring the dynamics of these processes is therefore a key experimental approach in understanding cardiac physiology, disease modelling and drug screening. To achieve this, cardiac cells or tissue are commonly labelled with calcium or voltage sensitive fluorophores,4,5 or genetically encoded sensors,69 and fluorescent amplitude changes, representing changes in cytosolic calcium concentration or membrane voltage, are measured over time. Recently, there has been significant growth in the use of high-throughput platforms, such as high content screening systems, or automated microscopes for this application. For example, one such advanced technique is kinetic imaging cytometry (KIC) that leverages microscopy-based imaging platforms to continuously track and quantify the fluorescent readout from populations of many individual cells over time.10,11 When applied in plate-based assays, this approach can result in acquisition of data from tens of thousands of individual cells. As a result of emerging approaches such as this, the requirement for automated, hands-off quality control, processing and analysis of these datasets has increased as the size and complexity of the datasets has grown.

To address this, we developed KICA (Kinetic Imaging Cytometry Analyser), a MATLAB-based12 package designed for efficient high-throughput processing and analysis of fluorescent time-series data. KICA automates key processes such as signal denoising, drift correction, signal-to-noise ratio (SNR) calculation, pulse detection and analysis. In addition to these features, KICA also offers scalability for large datasets by utilising parallel computing to significantly reduce computation time, so streamlining the pipeline for researchers and improving the accuracy and efficiency data analysis. Although KICA is platform agnostic (requiring only CSV describing fluorescent amplitude over time) it also specifically handles data inputs in export format from Vala Sciences CyteSeer software.13 KICA has been used in several research studies with applications to both calcium and voltage signals, in acutely isolated as well as induced pluripotent stem cell (IPSC) derived cardiomyocytes, to study both pharmacological interventions and to investigate cardiac pathologies.1418 These studies demonstrate the utility of KICA in extracting meaningful biological insights from complex datasets.

In this paper, we describe the development and implementation of KICA, detailing its architecture and features. We discuss the software’s quality control mechanisms and validate its performance using real-world data. Finally, we demonstrate KICA’s scalability and reuse potential for various cytometry applications supporting its use as a tool for laboratories or facilities undertaking high-throughput experimentation in cardiac physiology and drug screening.

Methods

KICA is implemented in MATLAB using an object-oriented programming approach, which provides flexibility and mod- ularity. The software is composed of several core components, each responsible for a specific aspect of the data analysis pipeline, from data ingestion to signal processing and result reporting. The overall workflow of KICA is structured into five main stages:

  • 1. Data Import

  • 2. Signal Processing

  • 3. Pulse Detection and Analysis

  • 4. Quality Control

  • 5. Reporting

Each of the above stages is handled by a dedicated module, which makes up the core components of KICA.

Implementation

  • Data import module: Imports time-series data from CSV files generated by imaging software (e.g., CyteSeer). The module also checks for the correct format and extracts key metadata such as sampling rate. The csvread or readtable function in MATLAB is used to load data into the workspace. The sampling rate is inferred by analysing the timestamps or metadata in the CSV file header.

  • Signal processing module: Responsible for denoising, baseline drift correction, and SNR calculation. Figure 1 gives an overview of the signal processing performed by KICA. The initial raw signal, including a polynomial fit used for baseline correction, is depicted in Figure 1(A). Following denoising and baseline correction, the processed signal with detected individual beats is shown in Figure 1(B). Figure 1(C) provides an expanded view of two beats from the processed signal, illustrating the detection of fiducial points corresponding to depolarisation and repolarisation.

    • Denoising: Utilises a wavelet-based denoising technique to reduce noise in the time-series data. This method decomposes the signal into wavelets, removes noise components, and reconstructs the signal with minimal distortion. The MATLAB wdenoise function is applied, which automatically selects optimal thresholds based on the signal-to-noise ratio.

    • Baseline Drift Correction: Removes low-frequency components in the signal, which cause drift over time. This is achieved by fitting a polynomial to the baseline and subtracting it from the raw signal. A polynomial fitting algorithm (polyfit) is used to model the baseline drift, which is then subtracted from the signal.

    • SNR Calculation: The signal-to-noise ratio is calculated to assess the quality of the signal. This helps in iden- tifying poor-quality data before pulse detection. SNR is calculated as the ratio of the mean signal amplitude to the standard deviation of the noise.

  • Pulse detection module: Detects pulses and performs pulse-related analyses such as peak and upstroke detection, APD calculation, and pulse-stimulus validation.

    • Peak Detection: Identifies peaks in the signal that correspond to action potentials or calcium transients. The findpeaks function in MATLAB detects local maxima based on specified thresholds for peak prominence and width.

    • Upstroke Detection: Determines the rate of the signal’s upstroke, which corresponds to the rapid depolari- sation phase in action potentials. The upstroke is detected by calculating the slope of the signal between consecutive data points, and the maximum slope is identified as the upstroke.

    • Action Potential/Calcium Transient Duration (APD/CTD): Calculates the duration between the upstroke and the return of the signal to baseline levels. APD/CTD is calculated as the time difference between the upstroke time and user specified percentages (e.g., 50, 75, 90%) of the return to baseline.

    • Rise and Fall times: Calculates the time from 10% to 90% of peak in the rising phase of the calcium transient (Rise time) and from 90% to 10% of peak in the falling phase of the calcium transient (Fall time).

  • Quality control module: Ensures data integrity by validating signals based on SNR and pulse detection.

    • Ensures the quality of the data by validating each signal based on the SNR and the presence of valid pulses. Signals that do not meet the criteria are flagged and excluded from further analysis. Threshold values for SNR and pulse detection are predefined by the user. If the SNR is below the threshold or no valid pulses are detected, the signal is flagged as failing quality control.

  • Reporting module: Generates Excel reports with pulse characteristics and saves images of the analysed signals for each cell.

    • Generates detailed Excel reports that summarise the results of the analysis. The report includes key metrics for each cell, including pulse duration, peak amplitude, and APD, as well as visualisations of the analysed signals. The xlswrite function in MATLAB is used to create structured reports with embedded figures for each analysed cell. The visualisation is produced using MATLAB’s plotting functions and saved as images in the report. In addition to the Excel report, the software also allows for saving MATLAB figures (.fig) for each individual cell for more in depth interrogation and preparation of publication quality figures.

  • Parallelisation module: Utilises MATLAB’s Parallel Computing Toolbox to distribute tasks across multiple CPU cores for efficient high-throughput analysis.

    • KICA takes advantage of MATLAB’s Parallel Computing Toolbox to distribute the computational load across multiple CPU cores. This is especially important for high-throughput datasets, where the number of cells analysed can exceed thousands. The parfor function is used to parallelise the processing loop, allowing the analysis of each cell to run concurrently across available CPU cores. The time-series data from each cell is processed independently, making it an ideal candidate for parallelisation.

3698245e-a7ea-4167-904c-d5f00e397f1a_figure1.gif

Figure 1. Overview of signal processing using KICA.

A) Raw signal showing fluorescent reports of ten paced cardiac action potential waveforms. A polynomial fit to the baseline (used for baseline correction) is shown. B) Baseline corrected and denoised signal. Individual beats/pulses are detected via threshold crossing. C) Expanded view of first two action potentials from (B), showing fiducial points related to action potential depolarisation and repolarisation.

Comparison with existing tools

Several software tools exist for analysis of datasets in this domain, each with specific implementations and focus areas. Here, we compare KICA with other widely used tools and highlight key differences:

CellProfiler19 is a popular tool used for image-based analysis, but it primarily focuses on image segmentation and feature extraction from static images rather than time-series data. While CellProfiler is powerful for high-throughput image analysis, it lacks dedicated algorithms for time-series data processing, such as pulse detection or signal drift correction, which are core functionalities of KICA. CellProfiler’s strength lies in its image analysis capabilities, while KICA is designed specifically for time-series data, offering advanced signal processing and pulse detection features.

Fiji,20 another popular tool for biological image analysis, provides plugins for various types of signal processing, including signal analysis of fluorescent time-series data. However, the implementation is often plugin-based, requiring manual intervention and lacking the scalability for high-throughput environments. KICA, on the other hand, is optimised for high-throughput processing with multi-core parallelisation, making it more suitable for large-scale data. Fiji plugins typically operate on a per-file basis, whereas KICA is built to handle large batches of time-series data with minimal user input, offering automated workflows and parallel computing support.

Several MATLAB-based cytometry analysis tools focus on general signal processing for various biological data types.2123 While these tools offer flexibility in handling cytometry data, they often require significant customisation for specific applications such as cardiomyocyte analysis. On the other hand, KICA provides an integrated solution with ready-to-use algorithms for cardiac-specific metrics like action potential duration (APD) and rise/fall time calculations. KICA also distinguishes itself by providing a streamlined, high-throughput workflow for time-series data, with built-in quality control and reporting, which are not available as integrated features in other tools.

Validation

Ensuring the reliability and accuracy of KICA is critical for its use in high-throughput studies. Several levels of testing have been carried out on the code to ensure that it performs optimally across different scenarios.

  • Unit testing: Each core component of KICA, such as the signal processing, pulse detection, and reporting modules, has been subjected to unit testing. This ensures that individual functions perform as expected when provided with known inputs.

  • Functional testing: KICA’s entire workflow has been tested to verify that the software produces accurate re- sults when applied to realistic datasets. Functional testing includes verifying that the pulse detection algorithm identifies peaks and action potential durations correctly.

  • Load testing: KICA has been tested with large datasets (each dataset containing up to 250 cells and 2300 data points) to ensure its scalability and performance in high-throughput environments. The software was tested on both single-core and multi-core configurations using MATLAB’s Parallel Computing Toolbox. For load testing, we used a Dell OptiPlex workstation equipped with an Intel Core i7 processor and 16 GB of RAM.

  • Platform testing: KICA has been successfully tested on the Microsoft Windows operating system with MATLAB versions R2020b, R2021a and R2024b. Generating Excel reports in MATLAB requires ActiveX support, which is not available on operating systems such as Linux and MacOS. Consequently, KICA is incompatible with these platforms.

Operation

KICA requires MATLAB R2020b or newer running on a Microsoft Windows operating system (10+). The MATLAB Parallel Computing Toolbox, Audio Toolbox, Bioinformatics Toolbox, Signal Processing Toolbox, and Wavelet Toolbox are required dependencies. The workflow for users involves loading input data (CSV files), setting analysis parameters (e.g., signal type, thresholds, durations), running the main KICA script, and reviewing the generated Excel report and individual cell figures.

Use cases

To help users quickly understand if the software is functioning correctly and how to apply it to their data, KICA includes example input datasets and a detailed user guide. The example datasets can be processed using the default parameters, and the expected output is provided in the form of Excel reports and graphical visualisations. The user guide also provides instructions on how to set user parameters such as stimulation start time, stimulation period, number of stimuli, fluorescent signal type (voltage or calcium), pulse detection threshold percentage, pulse action potential durations, pulse start on stimulus detection delta duration, pulse start point type (upstroke start, upstroke end or activation point) and quality control SNR threshold.

  • Sample input: Users can load several example CSV files provided in the software package, each containing time series data for a small set of cardiomyocytes. An example input file contains columns for timestamp and fluorescent intensity for multiple cells (e.g., ‘Time (s), Cell_1_Intensity, Cell_2_Intensity, …’).

  • Running the analysis: The user executes the main KICA script, specifying the input file(s) and desired parameters. The script processes the sample data through the full workflow (data import, signal processing, pulse detection and analysis, quality control, and reporting).

  • Sample output: The expected output includes an Excel report summarising the pulse characteristics (e.g., peak amplitude, action potential duration, SNR) for each cell. The report structure includes sheets for raw data, processed data, and summary statistics. An example output row for a cell might include columns like ‘Cell ID’, ‘Average APD90’, ‘Peak Amplitude’, ‘SNR’, ‘Number of detected beats’, ‘Quality Control Status’. Visualisations of the analysed signals for each cell are also generated as figures saved alongside the report, showing the raw signal, processed signal, detected beats, and calculated fiducial points (e.g., upstroke, repolarisation points). Users can compare this output with the provided example output to verify the software is working as intended and interpret the key metrics.

By providing these sample inputs and outputs, KICA ensures that users can quickly validate the software’s functionality upon installation and understand how to interpret the results. Detailed instructions for running these tests and explaining parameters are included in the software’s user guide, along with URL and contact details to report issues.

Discussion

While KICA was developed for use with fluorescent time-series data related to calcium cycling and membrane voltage, its flexible design makes it applicable to analysis of other periodic physiological datasets such as contraction data, or direct electrophysiological recordings of action potentials. Researchers working in fields such as immunology, neuroscience, and pharmacology can adapt KICA to their needs by modifying its parameters and incorporating additional signal processing steps. The object-oriented architecture facilitates these extensions.

KICA’s ability to handle large datasets and perform quality control checks makes it particularly useful for researchers conducting high-throughput screenings, where manual data analysis is impractical.

Ethics and consent

Ethical approval and consent were not required.

Software availability

Comments on this article Comments (0)

Version 1
VERSION 1 PUBLISHED 17 Jul 2025
Comment
Author details Author details
Competing interests
Grant information
Copyright
Download
 
Export To
metrics
Views Downloads
F1000Research - -
PubMed Central
Data from PMC are received and updated monthly.
- -
Citations
CITE
how to cite this article
N.V Arjunan S, Shpak A, W. Parker G and P. Hill A. KICA: A MATLAB package for high-throughput analysis of calcium and voltage imaging data from cardiac cells [version 1; peer review: 1 approved with reservations]. F1000Research 2025, 14:701 (https://doi.org/10.12688/f1000research.166855.1)
NOTE: If applicable, it is important to ensure the information in square brackets after the title is included in all citations of this article.
track
receive updates on this article
Track an article to receive email alerts on any updates to this article.

Open Peer Review

Current Reviewer Status: ?
Key to Reviewer Statuses VIEW
ApprovedThe paper is scientifically sound in its current form and only minor, if any, improvements are suggested
Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit.
Not approvedFundamental flaws in the paper seriously undermine the findings and conclusions
Version 1
VERSION 1
PUBLISHED 17 Jul 2025
Views
4
Cite
Reviewer Report 12 Sep 2025
Amelia S Power, The University of Auckland, Auckland Central, Auckland, New Zealand 
Amanda Groenewald, The University of Auckland Faculty of Medical and Health Sciences, Auckland, Auckland, New Zealand 
Approved with Reservations
VIEWS 4
This article presents a software package (KICA), which automates the analysis of high throughput fluorescent time-series calcium and action potential data. Being based in MATLAB, KICA is most accessible to users with moderate experience with the language. The software package ... Continue reading
CITE
CITE
HOW TO CITE THIS REPORT
Power AS and Groenewald A. Reviewer Report For: KICA: A MATLAB package for high-throughput analysis of calcium and voltage imaging data from cardiac cells [version 1; peer review: 1 approved with reservations]. F1000Research 2025, 14:701 (https://doi.org/10.5256/f1000research.183903.r407211)
NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article.

Comments on this article Comments (0)

Version 1
VERSION 1 PUBLISHED 17 Jul 2025
Comment
Alongside their report, reviewers assign a status to the article:
Approved - the paper is scientifically sound in its current form and only minor, if any, improvements are suggested
Approved with reservations - A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit.
Not approved - fundamental flaws in the paper seriously undermine the findings and conclusions
Sign In
If you've forgotten your password, please enter your email address below and we'll send you instructions on how to reset your password.

The email address should be the one you originally registered with F1000.

Email address not valid, please try again

You registered with F1000 via Google, so we cannot reset your password.

To sign in, please click here.

If you still need help with your Google account password, please click here.

You registered with F1000 via Facebook, so we cannot reset your password.

To sign in, please click here.

If you still need help with your Facebook account password, please click here.

Code not correct, please try again
Email us for further assistance.
Server error, please try again.