A pipeline for cell migration analysis in live-cell imaging data from human iPSC-derived forebrain assembloids.
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] § 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] § 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] § 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] § 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] § 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
- function speedTable = cellSpeeds(compiledData, outputFolder, options)
- % CELLSPEEDS Calculate speed metrics for each tracked cell from
- % compiled tracking data produced by compileResultsCSV.
- %
- % For each cell track, computes average speed, cumulative speed, and
- % speed variance over the full period, as well as the first and
- % second halves independently. Results are returned as a table and
- % optionally saved to a file.
- %
- % INPUT:
- %
- % Required:
- % compiledData: (table)
- % Tracking table produced by compileResultsFromCSV. Must contain
- % columns X, Y, Z, T. All tracks must share the same time step.
- %
- % Optional:
- % outputFolder: (char | string, default: "" (no file is written))
- % Directory where the output file will be saved. Created automatically
- % if it does not exist.
- %
- % options
- %
- % OutputFilename: (char | string, default: "Speed_Results.csv")
- % Name of the output file.
- %
- % Logs: (logical, default: true)
- % Print progress messages to the command window.
- %
- % OUTPUT
- % speedTable (table)
- % One row per tracked cell. Columns:
- % Cell - 1-based index
- % AvgCellSpeed - mean speed
- % CumulativeCellSpeed - speed sum
- % VarianceEntirePeriod - speed variance across all frames
- % VarianceFirstHalf - speed variance over the first half
- % VarianceLastHalf - speed variance over the second half
- arguments
- compiledData (:,:) table
- outputFolder (1,1) string = ""
- options.OutputFilename (1,1) string = "Speed_Results.csv"
- options.Logs (1,1) logical = true
- end
- requiredCols = {'X', 'Y', 'Z', 'T'};
- missingCols = requiredCols(~ismember(requiredCols, compiledData.Properties.VariableNames));
- if ~isempty(missingCols)
- error('cellSpeeds:missingColumns', ...
- 'compiledData is missing required column(s): %s', ...
- strjoin(missingCols, ', '));
- end
- % Calculate frame interval and total frame count from T column.
- % Assumed uniform across all tracks.
- frameInterval = compiledData.T(2) - compiledData.T(1);
- numFrames = (max(compiledData.T) / frameInterval) + 1;
- if frameInterval <= 0
- error('cellSpeeds:invalidFrameInterval', ...
- 'Frame interval T(2)-T(1) is <= 0. Check compiledData.T.');
- end
- cellTracks = segmentTracks(compiledData);
- numCells = numel(cellTracks);
- if numCells == 0
- warning('cellSpeeds:noTracks', ...
- 'No cell tracks found in compiledData.');
- speedTable = table();
- return
- end
- avgSpeeds = zeros(numCells, 1);
- totalSpeeds = zeros(numCells, 1);
- variances = cell(numCells, 3);
- firstHalfEnd = floor(numFrames / 2);
- secondHalfStart = firstHalfEnd + 1;
- % Compute speed metrics for each track
- for k = 1:numCells
- track = cellTracks{k};
- nFrames = height(track);
- % Euclidean distance divided by frame interval
- trackSpeeds = zeros(nFrames - 1, 1);
- for j = 1:(nFrames - 1)
- dx = track.X(j+1) - track.X(j);
- dy = track.Y(j+1) - track.Y(j);
- dz = track.Z(j+1) - track.Z(j);
- distance = sqrt(dx^2 + dy^2 + dz^2);
- trackSpeeds(j) = distance / frameInterval;
- end
- % Average and cumulative speed
- avgSpeeds(k) = mean(trackSpeeds);
- totalSpeeds(k) = sum(trackSpeeds);
- % Variance over full period, first half, and second half
- variances{k, 1} = var(trackSpeeds);
- variances{k, 2} = var(trackSpeeds(1:firstHalfEnd));
- variances{k, 3} = var(trackSpeeds(secondHalfStart:end));
- end
- cellIndex = (1:numCells)';
- varianceEntirePeriod = cell2mat(variances(:, 1));
- varianceFirstHalf = cell2mat(variances(:, 2));
- varianceLastHalf = cell2mat(variances(:, 3));
- speedTable = table( ...
- cellIndex, ...
- avgSpeeds, ...
- totalSpeeds, ...
- varianceEntirePeriod, ...
- varianceFirstHalf, ...
- varianceLastHalf, ...
- 'VariableNames', { ...
- 'Cell', ...
- 'AvgCellSpeed', ...
- 'CumulativeCellSpeed', ...
- 'VarianceEntirePeriod', ...
- 'VarianceFirstHalf', ...
- 'VarianceLastHalf'} );
- if outputFolder ~= ""
- if ~isfolder(outputFolder)
- mkdir(outputFolder);
- end
- outputPath = fullfile(outputFolder, options.OutputFilename);
- writetable(speedTable, outputPath);
- if options.Logs
- fprintf('[speeds] Saved %d cell(s) to: %s\n', numCells, outputPath);
- end
- end
- if options.Logs
- fprintf('[speeds] Done. Processed %d cell track(s).\n', numCells);
- end
- end
cellSpeeds.m at commit 4767b41, under MIT · at the source
Overview
- Department of Biomedical Engineering, Boston University, Boston, MA, United States
- Department of Anatomy and Neurobiology, Boston University Chobanian and Avedisian School of Medicine, Boston University, Boston, MA, United States
- Neurophotonics Center, Boston University, Boston, MA, United States
- Athinoula A. Martinos Center for Biomedical Imaging, Department of Radiology, Harvard Medical School, Massachusetts General Hospital, Charlestown, MA, United States
- Center for Systems Neuroscience, Boston University, Boston, MA, United States
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
4767b41050200453eae3afed5644113fc72f9faf, 25 June 2026Availability: 1 check, the latest on 27 September 2026: the link answers
- 27 September 2026: the link answers
14 files
- 4dcelltrack/
analyzeByGroup.m , MATLAB, 405 lines - 4dcelltrack/
cellDistances.m , MATLAB, 129 lines, 2 matches - 4dcelltrack/
cellSpeeds.m , MATLAB, 142 lines, 2 matches - 4dcelltrack/
collectTrackingData.m , MATLAB, 221 lines - 4dcelltrack/
compileResultsCSV.m , MATLAB, 178 lines - 4dcelltrack/
computeMSD.m , MATLAB, 104 lines - 4dcelltrack/
computeTrackingMetrics.m , MATLAB, 200 lines - 4dcelltrack/
computeTurningAngles.m , MATLAB, 111 lines - 4dcelltrack/
filterDuplicateTracks.m , MATLAB, 337 lines - 4dcelltrack/
plotRepresentativeGraphs , MATLAB, 251 lines, 1 match.m - 4dcelltrack/
preProcessND2.m , MATLAB, 196 lines - 4dcelltrack/
segmentTracks.m , MATLAB, 22 lines - LICENSE, License, 21 lines
- README.md, Text, 133 lines
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://
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/
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://
BibTeX
@article{weidman2026pipe
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/
url = {https://
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/
VL - 14
SP - 1880548
SN - 2296-634X
PB - Frontiers Media SA
DO - 10.3389/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.3389/
"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":
"volume": "14",
"page": "1880548",
"DOI": "10.3389/
"PMID": "42459827",
"PMCID": "PMC13368796",
"ISSN": "2296-634X",
"publisher": "Frontiers Media SA",
"URL": "https://
"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.1002/adhm.202504889 [code]
- Mapping the Cerebral Organoid Landscape: A Systematic Review of Preclinical 3D Models in Neuroscience.Journal: Advanced healthcare materialsIn common: 6 references
- [2] doi:10.1038/s41593-026-02247-7 [code]
- Transcriptomic and phenotypic convergence of neurodevelopmental disorder risk genes in vitro and in vivo.Journal: Nature neuroscienceIn common: Statistics and Machine Learning Toolbox, cellular / molecular, 3 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 NeuroscienceIn common: 4 references
- [4] 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
- [5] 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 materialsIn common: 3 references
- [6] doi:10.1016/j.isci.2026.115361
- Glioblastoma invasion into different organoid hosts reveals cell-intrinsic and proliferative migratory programs.Journal: iScienceIn common: cellular / molecular, 3 references
- [7] doi: [code]
- Diffusion-relaxation MRI as virtual histology: separable microstructural signatures of AD pathology in ex vivo human brainJournal: Research squareIn common: Image Processing Toolbox, Statistics and Machine Learning Toolbox, cellular / molecular, 1 reference
- [8] doi:10.1126/sciadv.aee9298 [code]
- Synaptic zinc plasticity shapes adaptive and maladaptive cortical plasticity following cochlear injury.Journal: Science advancesIn common: Image Processing Toolbox, Statistics and Machine Learning Toolbox, cellular / molecular, 1 reference
- [9] 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 medicineIn common: cellular / molecular, 3 references
- [10] doi:10.1016/j.xpro.2026.104423 [code]
- Protocol for quality control screening of brain organoid morphology.Journal: STAR protocolsIn common: 3 references
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.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 1 repository of the authors' code, each at its verified commit and with its license, 12 scripts, and 5 matches between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:96da9e328e27c9b2…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[, paste the snippet at the top, then “Commit changes…” and, to review it first, “Create a new branch and start a pull request”. You open the pull request; OSCR asks for no permission.
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.
