OSCR

A pipeline for cell migration analysis in live-cell imaging data from human iPSC-derived forebrain assembloids.

Code ↔ Paper

5 matches between paragraphs of the paper and lines of its authors' code, computed by the harvester (lexical-v1). Click a colored paragraph or line to see its counterpart.

The 5 matches · 4 of them tie a paragraph to a whole file, not to given lines: weak matches, whose lines are not tinted
  1. [1] § Materials and methods › Migration metrics code suite › Instantaneous speed and speed variance ↔ 4dcelltrack/cellSpeeds.m, the whole file · a weak match · score 0.70 · speed variance, frame interval, Euclidean distance, windows, cell
  2. [2] § Materials and methods › Migration metrics code suite › Cumulative path length ↔ 4dcelltrack/cellDistances.m, the whole file · a weak match · score 0.62 · step distance, Euclidean distances, sum, consecutive, position, Cumulative
  3. [3] § Results › OrthoTrack workflow enables precise 4D manual cell tracking ↔ 4dcelltrack/cellSpeeds.m, the whole file · a weak match · score 0.56 · speed variance, Euclidean distance, tracked cell, Cumulative, error, metric
  4. [4] § Results › OrthoTrack workflow enables precise 4D manual cell tracking ↔ 4dcelltrack/cellDistances.m, the whole file · a weak match · score 0.53 · Euclidean distance, tracked cell, consecutive, straight, ratio, position
  5. [5] § Results › OrthoTrack workflow enables precise 4D manual cell tracking ↔ 4dcelltrack/plotRepresentativeGraphs.m, lines 1–95 · score 0.51 · representative tracked, hours, bounding, cell tracking, minutes, um

Paper

Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC

The paper is loaded when this pane is shown.

The authors' code

MATLAB · 142 lines · 4.6 KB · MIT · 2 matches

  1. function speedTable = cellSpeeds(compiledData, outputFolder, options)
  2. % CELLSPEEDS Calculate speed metrics for each tracked cell from
  3. % compiled tracking data produced by compileResultsCSV.
  4. %
  5. % For each cell track, computes average speed, cumulative speed, and
  6. % speed variance over the full period, as well as the first and
  7. % second halves independently. Results are returned as a table and
  8. % optionally saved to a file.
  9. %
  10. % INPUT:
  11. %
  12. % Required:
  13. % compiledData: (table)
  14. % Tracking table produced by compileResultsFromCSV. Must contain
  15. % columns X, Y, Z, T. All tracks must share the same time step.
  16. %
  17. % Optional:
  18. % outputFolder: (char | string, default: "" (no file is written))
  19. % Directory where the output file will be saved. Created automatically
  20. % if it does not exist.
  21. %
  22. % options
  23. %
  24. % OutputFilename: (char | string, default: "Speed_Results.csv")
  25. % Name of the output file.
  26. %
  27. % Logs: (logical, default: true)
  28. % Print progress messages to the command window.
  29. %
  30. % OUTPUT
  31. % speedTable (table)
  32. % One row per tracked cell. Columns:
  33. % Cell - 1-based index
  34. % AvgCellSpeed - mean speed
  35. % CumulativeCellSpeed - speed sum
  36. % VarianceEntirePeriod - speed variance across all frames
  37. % VarianceFirstHalf - speed variance over the first half
  38. % VarianceLastHalf - speed variance over the second half
  39. arguments
  40. compiledData (:,:) table
  41. outputFolder (1,1) string = ""
  42. options.OutputFilename (1,1) string = "Speed_Results.csv"
  43. options.Logs (1,1) logical = true
  44. end
  45. requiredCols = {'X', 'Y', 'Z', 'T'};
  46. missingCols = requiredCols(~ismember(requiredCols, compiledData.Properties.VariableNames));
  47. if ~isempty(missingCols)
  48. error('cellSpeeds:missingColumns', ...
  49. 'compiledData is missing required column(s): %s', ...
  50. strjoin(missingCols, ', '));
  51. end
  52. % Calculate frame interval and total frame count from T column.
  53. % Assumed uniform across all tracks.
  54. frameInterval = compiledData.T(2) - compiledData.T(1);
  55. numFrames = (max(compiledData.T) / frameInterval) + 1;
  56. if frameInterval <= 0
  57. error('cellSpeeds:invalidFrameInterval', ...
  58. 'Frame interval T(2)-T(1) is <= 0. Check compiledData.T.');
  59. end
  60. cellTracks = segmentTracks(compiledData);
  61. numCells = numel(cellTracks);
  62. if numCells == 0
  63. warning('cellSpeeds:noTracks', ...
  64. 'No cell tracks found in compiledData.');
  65. speedTable = table();
  66. return
  67. end
  68. avgSpeeds = zeros(numCells, 1);
  69. totalSpeeds = zeros(numCells, 1);
  70. variances = cell(numCells, 3);
  71. firstHalfEnd = floor(numFrames / 2);
  72. secondHalfStart = firstHalfEnd + 1;
  73. % Compute speed metrics for each track
  74. for k = 1:numCells
  75. track = cellTracks{k};
  76. nFrames = height(track);
  77. % Euclidean distance divided by frame interval
  78. trackSpeeds = zeros(nFrames - 1, 1);
  79. for j = 1:(nFrames - 1)
  80. dx = track.X(j+1) - track.X(j);
  81. dy = track.Y(j+1) - track.Y(j);
  82. dz = track.Z(j+1) - track.Z(j);
  83. distance = sqrt(dx^2 + dy^2 + dz^2);
  84. trackSpeeds(j) = distance / frameInterval;
  85. end
  86. % Average and cumulative speed
  87. avgSpeeds(k) = mean(trackSpeeds);
  88. totalSpeeds(k) = sum(trackSpeeds);
  89. % Variance over full period, first half, and second half
  90. variances{k, 1} = var(trackSpeeds);
  91. variances{k, 2} = var(trackSpeeds(1:firstHalfEnd));
  92. variances{k, 3} = var(trackSpeeds(secondHalfStart:end));
  93. end
  94. cellIndex = (1:numCells)';
  95. varianceEntirePeriod = cell2mat(variances(:, 1));
  96. varianceFirstHalf = cell2mat(variances(:, 2));
  97. varianceLastHalf = cell2mat(variances(:, 3));
  98. speedTable = table( ...
  99. cellIndex, ...
  100. avgSpeeds, ...
  101. totalSpeeds, ...
  102. varianceEntirePeriod, ...
  103. varianceFirstHalf, ...
  104. varianceLastHalf, ...
  105. 'VariableNames', { ...
  106. 'Cell', ...
  107. 'AvgCellSpeed', ...
  108. 'CumulativeCellSpeed', ...
  109. 'VarianceEntirePeriod', ...
  110. 'VarianceFirstHalf', ...
  111. 'VarianceLastHalf'} );
  112. if outputFolder ~= ""
  113. if ~isfolder(outputFolder)
  114. mkdir(outputFolder);
  115. end
  116. outputPath = fullfile(outputFolder, options.OutputFilename);
  117. writetable(speedTable, outputPath);
  118. if options.Logs
  119. fprintf('[speeds] Saved %d cell(s) to: %s\n', numCells, outputPath);
  120. end
  121. end
  122. if options.Logs
  123. fprintf('[speeds] Done. Processed %d cell track(s).\n', numCells);
  124. end
  125. end

cellSpeeds.m at commit 4767b41, under MIT · at the source

Overview

Authors: Maya P. Weidman1, Natalie Baker Campbell2, Cody Headings1, Samantha Chung2, Musarat Khan1, Aarnav Kandukuri1, Vianne Lim1, Gloria Olubowale1, Michelle J. Kim2, Anna Devor1,3,4, Ella Zeldich2,3,5, Martin Thunemann1,3
  1. Department of Biomedical Engineering, Boston University, Boston, MA, United States
  2. Department of Anatomy and Neurobiology, Boston University Chobanian and Avedisian School of Medicine, Boston University, Boston, MA, United States
  3. Neurophotonics Center, Boston University, Boston, MA, United States
  4. Athinoula A. Martinos Center for Biomedical Imaging, Department of Radiology, Harvard Medical School, Massachusetts General Hospital, Charlestown, MA, United States
  5. Center for Systems Neuroscience, Boston University, Boston, MA, United States
Institutions: Boston University (United States); Harvard University (United States); Massachusetts General Hospital (United States); Athinoula A. Martinos Center for Biomedical Imaging (United States)
Journal: Frontiers in cell and developmental biology, volume 14, article 1880548
Dates: received 13 May 2026; accepted 9 June 2026; published online 1 July 2026
Type: Methods article · Language: English
License: CC BY
Identifiers: DOI 10.3389/fcell.2026.1880548 · PMID 42459827 · PMCID PMC13368796 · OpenAlex W7166863752
Open access: gold, a free copy (OpenAlex)
Status: code verified
Categories: human (organism), cellular / molecular (subfield)
Methods: Connectivity, Machine learning, Graphs, fMRI & imaging, Spectral & time-frequency
Keywords: 4D image analysis, forebrain assembloids, interneuron migration, live-cell imaging, manual cell tracking, oligodendrocyte migration
Topic: Pluripotent Stem Cells Research (Molecular Biology, Biochemistry, Genetics and Molecular Biology), according to OpenAlex
Citations: not cited yet (Europe PMC); 54 references in the paper

Abstract

During forebrain development, inhibitory interneurons and oligodendrocyte progenitor cells migrate long distances into the developing dorsal cortex. Human induced pluripotent stem cell-derived forebrain assembloids (FAs) provide direct experimental access to this migratory process in vitro. Using viral labeling to express yellow fluorescent protein (EYFP) and tandem-dimer tomato (tdTomato) driven by EF1α or SOX10 promoters, respectively, we tracked cells in FAs over 15–17 h using spinning disk confocal microscopy. We developed an end-to-end processing pipeline for 4D volumetric imaging data, consisting of background subtraction and drift correction, manual cell coordinate tracking, and an analysis workflow to describe migratory cell behavior. Image preprocessing significantly improved data quality for subsequent manual tracking in datasets with heterogeneous labeling density and brightness. Trajectory analysis of 336 EYFP- and 337 tdTomato-labeled cells from twelve FAs indicates that most cells show super-diffusive directed motility. Our pipeline represents a key resource for cell tracking in FAs and similar three-dimensional platforms. This pipeline represents the first open tracking resource for iPSC-derived FAs and can be used as a ground-truth resource for the development of automated cell detection and tracking algorithms.

Reproduced under the paper's license (CC BY), from the paper cited above.

Repository

Its files are read in the Code ↔ Paper reader above, with 5 matches between paragraphs and lines of code.

codyheadings/ACMT

License: MIT
State: the link answers, verified on 27 September 2026
Evidence: files inventoried
Commit: 4767b41050200453eae3afed5644113fc72f9faf, 25 June 2026
Languages: MATLAB (12)
Size: 14 files, 12 scripts
Software Heritage: not archived
Found in: “Code and coordinate data availability”
Holds: README, license file
Not found: CITATION.cff, environment file, tests, continuous integration, documentation
Availability: 1 check, the latest on 27 September 2026: the link answers
  • 27 September 2026: the link answers
14 files

The paper's code and data availability statement is in the Data section.

Tracing map

Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.

What the map holds:

  • 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
  • 12 scripts, each with its path and the digest of its content;
  • 5 matches between paragraphs of the paper and lines of the code (method lexical-v1);
  • neither the text of the paper nor the code itself.

Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.

Data

No dataset and no data link were found in the paper.

Code and coordinate data availability

To support adoption of the tracking framework and enable future benchmarking of automated tracking algorithms for brain assembloid data, we make the following resources publicly available alongside this paper: (1) all custom MATLAB pre-processing and migration metrics scripts; (2) the FIJI OrthoTrack workflow documentation; and (3) manually annotated cell coordinate data, provided both as raw FIJI tracking outputs organized by dataset and series, and as a single aggregated file with coordinates converted to physical units (µm, minutes) ready for direct use in trajectory analysis and metric computation. Full documentation of the repository structure and file formats is provided in the repository README. All code and coordinate data are deposited at https://github.com/codyheadings/ACMT. Raw image data and pre-processed hyperstacks are available upon reasonable request from the corresponding authors.

Reproduced under the paper's license (CC BY), from the paper cited above.

Data availability statement

The datasets presented in this study can be found in online repositories. The names of the repository/repositories and accession number(s) can be found below: https://github.com/codyheadings/ACMT.

Reproduced under the paper's license (CC BY), from the paper cited above.

Versions

The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.

Version 1, 27 September 2026: the first record

Recorded: type, language, journal, volume, pages, dates, 12 authors, 6 keywords, 3 funders, 54 references.

Cite

This paper

Weidman, M. P., Campbell, N. B., Headings, C., Chung, S., Khan, M., Kandukuri, A., Lim, V., Olubowale, G., Kim, M. J., Devor, A., Zeldich, E., & Thunemann, M. (2026). A pipeline for cell migration analysis in live-cell imaging data from human iPSC-derived forebrain assembloids. Frontiers in cell and developmental biology, 14, 1880548. https://doi.org/10.3389/fcell.2026.1880548

BibTeX

@article{weidman2026pipeline,
author = {Weidman, Maya P. and Campbell, Natalie Baker and Headings, Cody and Chung, Samantha and Khan, Musarat and Kandukuri, Aarnav and Lim, Vianne and Olubowale, Gloria and Kim, Michelle J. and Devor, Anna and Zeldich, Ella and Thunemann, Martin},
title = {{A pipeline for cell migration analysis in live-cell imaging data from human iPSC-derived forebrain assembloids}},
journal = {Frontiers in cell and developmental biology},
year = {2026},
month = jul,
volume = {14},
pages = {1880548},
publisher = {Frontiers Media SA},
issn = {2296-634X},
doi = {10.3389/fcell.2026.1880548},
url = {https://doi.org/10.3389/fcell.2026.1880548},
pmid = {42459827},
pmcid = {PMC13368796}
}

RIS

TY - JOUR
AU - Weidman, Maya P.
AU - Campbell, Natalie Baker
AU - Headings, Cody
AU - Chung, Samantha
AU - Khan, Musarat
AU - Kandukuri, Aarnav
AU - Lim, Vianne
AU - Olubowale, Gloria
AU - Kim, Michelle J.
AU - Devor, Anna
AU - Zeldich, Ella
AU - Thunemann, Martin
TI - A pipeline for cell migration analysis in live-cell imaging data from human iPSC-derived forebrain assembloids
T2 - Frontiers in cell and developmental biology
J2 - Front Cell Dev Biol
PY - 2026
DA - 2026/07/01
VL - 14
SP - 1880548
SN - 2296-634X
PB - Frontiers Media SA
DO - 10.3389/fcell.2026.1880548
UR - https://doi.org/10.3389/fcell.2026.1880548
LA - en
ER -

CSL-JSON

{
"id": "10.3389/fcell.2026.1880548",
"type": "article-journal",
"title": "A pipeline for cell migration analysis in live-cell imaging data from human iPSC-derived forebrain assembloids",
"container-title": "Frontiers in cell and developmental biology",
"author": [
{
"family": "Weidman",
"given": "Maya P."
},
{
"family": "Campbell",
"given": "Natalie Baker"
},
{
"family": "Headings",
"given": "Cody"
},
{
"family": "Chung",
"given": "Samantha"
},
{
"family": "Khan",
"given": "Musarat"
},
{
"family": "Kandukuri",
"given": "Aarnav"
},
{
"family": "Lim",
"given": "Vianne"
},
{
"family": "Olubowale",
"given": "Gloria"
},
{
"family": "Kim",
"given": "Michelle J."
},
{
"family": "Devor",
"given": "Anna"
},
{
"family": "Zeldich",
"given": "Ella"
},
{
"family": "Thunemann",
"given": "Martin"
}
],
"container-title-short": "Front Cell Dev Biol",
"volume": "14",
"page": "1880548",
"DOI": "10.3389/fcell.2026.1880548",
"PMID": "42459827",
"PMCID": "PMC13368796",
"ISSN": "2296-634X",
"publisher": "Frontiers Media SA",
"URL": "https://doi.org/10.3389/fcell.2026.1880548",
"language": "en",
"issued": {
"date-parts": [
[
2026,
7,
1
]
]
}
}

The tracing map gets a citation of its own once an author has validated it and it has a DOI.

Similar papers

The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.

[1] doi:10.1038/s41593-026-02247-7 [code]
Transcriptomic and phenotypic convergence of neurodevelopmental disorder risk genes in vitro and in vivo.
Journal: Nature neuroscience
In common: Statistics and Machine Learning Toolbox, cellular / molecular, 3 references
[2] doi:10.1002/advs.202515913 [code]
Intravital Multimodal Imaging of Human Cortical Organoid Transplantation in a Mouse Model of Chronic Stroke.
Journal: Advanced science (Weinheim, Baden-Wurttemberg, Germany)
In common: 4 references
[3] doi:10.1002/jdn.70161 [code]
Spatio-Temporal Dynamics of Macroglial Cell Organization and Proximity to Blood Vessels During Postnatal Development.
Journal: International journal of developmental neuroscience : the official journal of the International Society for Developmental Neuroscience
In common: 4 references
[4] doi:10.1002/adhm.202504842
Flash Assembloids: A Rapid Biofabrication of a Platform for Modeling Early Glioblastoma Invasion at the Glioblastoma-Brain Organoid Interfaces.
Journal: Advanced healthcare materials
In common: 3 references
[5] doi:10.1126/sciadv.aee9298 [code]
Synaptic zinc plasticity shapes adaptive and maladaptive cortical plasticity following cochlear injury.
Journal: Science advances
In common: Image Processing Toolbox, Statistics and Machine Learning Toolbox, cellular / molecular, 1 reference
[6] doi: [code]
Diffusion-relaxation MRI as virtual histology: separable microstructural signatures of AD pathology in ex vivo human brain
Journal: Research square
In common: Image Processing Toolbox, Statistics and Machine Learning Toolbox, cellular / molecular, 1 reference
[7] doi:10.1038/s44321-026-00488-4 [code]
DeepPlaque: a scalable multimodal platform for Aβ pathology and cell analysis in Alzheimer's disease.
Journal: EMBO molecular medicine
In common: cellular / molecular, 3 references
[8] doi:10.1126/sciadv.aeh7220 [code]
Central complex representations of self-movement are sufficient to compute wind direction in flight.
Journal: Science advances
In common: Image Processing Toolbox, Statistics and Machine Learning Toolbox, 1 reference
[9] doi:10.1016/j.celrep.2026.117852 [code]
Graph theory identifies altered prefrontal microcircuit organization in Shank3 mice, a mouse Model of autism.
Journal: Cell reports
In common: Image Processing Toolbox, Statistics and Machine Learning Toolbox, 1 reference
[10] doi:10.1038/s41593-026-02377-y [code]
Representations of the intrinsic value of information in mouse orbitofrontal cortex.
Journal: Nature neuroscience
In common: Image Processing Toolbox, Statistics and Machine Learning Toolbox, 1 reference

Contribute

The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.

Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.

Request its removal

To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).

Discussion, reproductions, activity

Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.

Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.

Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.