Title: | Track Cells, Analyze Cell Trajectories and Compute Migration Statistics |
---|---|
Description: | Import TIFF images of fluorescently labeled cells, and track cell movements over time. Parallelization is supported for image processing and for fast computation of cell trajectories. In-depth analysis of cell trajectories is enabled by 15 trajectory analysis functions. |
Authors: | Salim Ghannoum [aut, cph], Damiano Fantini [aut, cph], Waldir Leoncio [cre, aut], Øystein Sørensen [aut] |
Maintainer: | Waldir Leoncio <[email protected]> |
License: | GPL-2 |
Version: | 1.15.0 |
Built: | 2024-11-29 04:26:13 UTC |
Source: | https://github.com/bioc/cellmigRation |
Aggregate two or more CellMig-class objects together. Input objects must carry information of trajectory analyses (otherwise an error will be raised). All trajectory results form the different experiments/conditions are returned in two data frames.
aggregateFR(x, ..., export = FALSE)
aggregateFR(x, ..., export = FALSE)
x |
|
... |
one or more CellMig-class object(s) where cells' trajectories have already been analyzed. |
export |
if 'TRUE' (default), exports function output to CSV file |
The visualization shows centered trajectories where the starting point of each track is located at the origin of the coordinate system (X=0,Y=0).
two data frames: The first data frame shows the average of each parameter per experiment/condition. The second data frame shows the parameters of individual cells of all experiments/conditions.
Damiano Fantini and Salim Ghannoum [email protected] Damiano Fantini, [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
data(WSADataset) wasDF1 <- WSADataset[seq(1,300,by=1), ] wsaTD1 <- CellMig(wasDF1) wsaTD1 <- wsaPreProcessing(wsaTD1,FrameN=55) wsaTD1 <-FMI(wsaTD1,TimeInterval=10) wsaTD1 <-FinRes(wsaTD1,ParCor=FALSE, export=FALSE) wasDF2 <- WSADataset[seq(500,700,by=1), ] wsaTD2 <- CellMig(wasDF2) wsaTD2 <- wsaPreProcessing(wsaTD2,FrameN=55) wsaTD2 <-FMI(wsaTD2,TimeInterval=10) wsaTD2 <-FinRes(wsaTD2,ParCor=FALSE, export=FALSE) AGG<-aggregateFR(wsaTD1 ,wsaTD2 ,export=FALSE)
data(WSADataset) wasDF1 <- WSADataset[seq(1,300,by=1), ] wsaTD1 <- CellMig(wasDF1) wsaTD1 <- wsaPreProcessing(wsaTD1,FrameN=55) wsaTD1 <-FMI(wsaTD1,TimeInterval=10) wsaTD1 <-FinRes(wsaTD1,ParCor=FALSE, export=FALSE) wasDF2 <- WSADataset[seq(500,700,by=1), ] wsaTD2 <- CellMig(wasDF2) wsaTD2 <- wsaPreProcessing(wsaTD2,FrameN=55) wsaTD2 <-FMI(wsaTD2,TimeInterval=10) wsaTD2 <-FinRes(wsaTD2,ParCor=FALSE, export=FALSE) AGG<-aggregateFR(wsaTD1 ,wsaTD2 ,export=FALSE)
Aggregate two or more trackedCells-class objects together. Input objects must carry information of cell tracks (otherwise an error will be raised). All tracks form the different experiments/images are returned in a large data.frame. A new unique ID is assigned to specifically identify each cell track from each image/experiment.
aggregateTrackedCells( x, ..., meta_id_field = c("tiff_file", "experiment", "condition", "replicate") )
aggregateTrackedCells( x, ..., meta_id_field = c("tiff_file", "experiment", "condition", "replicate") )
x |
a |
... |
one or more trackedCells-class object(s) where cells have already been tracked |
meta_id_field |
string, can take one of the following values, c("tiff_file", "experiment", "condition", "replicate"). Indicates the meta-data column used as unique ID for the image/experiment. Can be abbreviated. Defaults to "tiff_file". |
each trackedCells-class object passed to this function requires a unique identifier (such as a unique tiff_file name). Any of the metadata columns can be used as unique ID for an image/experiment. The function will raise an error if non-unique identifiers are found across the input objects.
An aggregate data.frame including all cells that were tracked over two or more images/experiments. The data.frame includes the following columns: "new.ID", "frame.ID", "X", "Y", "cell.ID", "tiff_name", "experiment", "condition", "replicate". The "new.ID" uniquely identifies a cell in a given image/experiment.
Damiano Fantini, [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
# Please, see the package vignette # for an example of how to use this function. # A pseudo-code example is shown below # Let x0, x1, x2, ... be trackedCells-class objects # with a non-empty tracks slot. x0 <- get(data(TrackCellsDataset)) x0 <- setCellsMeta(x0, experiment = "my_exp_01", condition = "CTRL") x1 <- setCellsMeta(x0, experiment = "my_exp_01", condition = "DMSO") x2 <- setCellsMeta(x0, experiment = "my_exp_01", condition = "DRUG") y <- aggregateTrackedCells(x0, x1, x2, meta_id_field = "condition") utils::head(y, 50)
# Please, see the package vignette # for an example of how to use this function. # A pseudo-code example is shown below # Let x0, x1, x2, ... be trackedCells-class objects # with a non-empty tracks slot. x0 <- get(data(TrackCellsDataset)) x0 <- setCellsMeta(x0, experiment = "my_exp_01", condition = "CTRL") x1 <- setCellsMeta(x0, experiment = "my_exp_01", condition = "DMSO") x2 <- setCellsMeta(x0, experiment = "my_exp_01", condition = "DRUG") y <- aggregateTrackedCells(x0, x1, x2, meta_id_field = "condition") utils::head(y, 50)
The CellMig class represents objects storing all information for both random migration (RM) and wound scratch assay (WSA). It comprises 14 slots.
CellMig(..., ExpName = NULL) ## S4 method for signature 'CellMig' initialize(.Object, trajdata) CellMig(..., ExpName = NULL)
CellMig(..., ExpName = NULL) ## S4 method for signature 'CellMig' initialize(.Object, trajdata) CellMig(..., ExpName = NULL)
... |
arguments to pass to the CellMig constructor |
ExpName |
string, experiment name (optional) |
.Object |
the CellMig object being built |
trajdata |
data frame including trajectory data |
An S4-class object
a CellMig object
trajdata
The raw trajectory data matrix organized into four columns: cell ID, X coordinates, Y coordinates and Track number, which is the track's path order.
adjDS
A data frame of the trajectory data passed from the WSAprep function.
cellpos
A binary vector showing on which side of the wound cells are located. "0" refers to a cell located above the wound whereas "1" refers to a cell located below the wound.
parE
A numeric vector contains estimations for the imageH, woundH, upperE and lowerE.
preprocessedDS
list object of data frames, each data frame shows the trajectories of a single cell.
DRtable
A data frame of the results of running the DiRatio() function.
MSDtable
A data frame of the results of running the MSD() function.
PerAanSpeedtable
A data frame of the results of running the PerAndSpeed() function.
DACtable
A data frame of the results of running the DiAutoCor() function.
VACtable
A data frame of the results of running the VeAutoCor() function.
ForMigtable
A data frame of the results of running the ForwardMigration() function.
FMItable
A data frame of the results of running the FMI() function.
results
A data frame of all the results.
parCor
A data frame for Parameters Correlation.
meta
A list including experiment name, meta data and other information.
Salim Ghannoum [email protected]
data("TrajectoryDataset") CellMig(TrajectoryDataset)
data("TrajectoryDataset") CellMig(TrajectoryDataset)
The CellMigPCA function automatically generates Principal Component Analysis.
CellMigPCA(object, parameters = c(1, 2, 3))
CellMigPCA(object, parameters = c(1, 2, 3))
object |
|
parameters |
A numeric vector contains the parameters to be included in the Principal Component Analysis. These numbers can be obtained from the outcome of the FinRes() function. |
PCA Graph of cells and PCA Graph of variables.
Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
data(WSADataset) wasDF=WSADataset[seq(1,300,by=1),] wsaTD <- CellMig(wasDF) wsaTD <- wsaPreProcessing(wsaTD,FrameN=55) wsaTD <-FMI(wsaTD,TimeInterval=10) wsaTD <-ForwardMigration(wsaTD,TimeInterval=10) wsaTD <-FinRes(wsaTD,ParCor=FALSE) PCAplot<-CellMigPCA(wsaTD,parameters=c(1,4))
data(WSADataset) wasDF=WSADataset[seq(1,300,by=1),] wsaTD <- CellMig(wasDF) wsaTD <- wsaPreProcessing(wsaTD,FrameN=55) wsaTD <-FMI(wsaTD,TimeInterval=10) wsaTD <-ForwardMigration(wsaTD,TimeInterval=10) wsaTD <-FinRes(wsaTD,ParCor=FALSE) PCAplot<-CellMigPCA(wsaTD,parameters=c(1,4))
The CellMigPCAclust function automatically generates clusters based on the Principal Component Analysis.
CellMigPCAclust( object, parameters = c(1, 2, 3), export = FALSE, interactive = TRUE )
CellMigPCAclust( object, parameters = c(1, 2, 3), export = FALSE, interactive = TRUE )
object |
|
parameters |
A numeric vector contains the parameters to be included in the Principal Component Analysis. These numbers can be obtained from the outcome of the FinRes() function. |
export |
if 'TRUE' (default), exports function output to CSV file |
interactive |
logical, shall the PCA analysis be generated in a interactive fashion |
PCA Graph of cells and PCA Graph of variables.
Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
## The analysis only supports the interactive method! ## If interactive=FALSE, the function will return NULL data(WSADataset) wasDF <- WSADataset[seq(1, 300, by=1), ] wsaTD <- CellMig(wasDF) CellMigPCAclust(wsaTD, parameters=c(1,9), interactive=FALSE) ## ## A real world example is shown below (uncomment) # data(WSADataset) # wasDF <- WSADataset[seq(1,300,by=1),] # wsaTD <- CellMig(wasDF) # wsaTD <- wsaPreProcessing(wsaTD,FrameN=55) # wsaTD <-FMI(wsaTD,TimeInterval=10) # wsaTD <-ForwardMigration(wsaTD,TimeInterval=10) # wsaTD <-FinRes(wsaTD,ParCor=FALSE) # PCAclust <- CellMigPCAclust(wsaTD,parameters=c(1,9))
## The analysis only supports the interactive method! ## If interactive=FALSE, the function will return NULL data(WSADataset) wasDF <- WSADataset[seq(1, 300, by=1), ] wsaTD <- CellMig(wasDF) CellMigPCAclust(wsaTD, parameters=c(1,9), interactive=FALSE) ## ## A real world example is shown below (uncomment) # data(WSADataset) # wasDF <- WSADataset[seq(1,300,by=1),] # wsaTD <- CellMig(wasDF) # wsaTD <- wsaPreProcessing(wsaTD,FrameN=55) # wsaTD <-FMI(wsaTD,TimeInterval=10) # wsaTD <-ForwardMigration(wsaTD,TimeInterval=10) # wsaTD <-FinRes(wsaTD,ParCor=FALSE) # PCAclust <- CellMigPCAclust(wsaTD,parameters=c(1,9))
The CellMigPCAclust function automatically generates clusters based on the Principal Component Analysis.
CellMigPCAclustALL( object, ExpName = "PCA_Clusters", parameters = c(1, 2, 3), export = FALSE, interactive = TRUE )
CellMigPCAclustALL( object, ExpName = "PCA_Clusters", parameters = c(1, 2, 3), export = FALSE, interactive = TRUE )
object |
|
ExpName |
A character string. The ExpName will be appended to all exported tracks and statistics data. |
parameters |
A numeric vector contains the parameters to be included in the Principal Component Analysis. These numbers can be obtained from the outcome of the FinRes() function. |
export |
if 'TRUE' (default), exports function output to CSV file |
interactive |
logical, shall the PCA analysis be generated in a interactive fashion |
PCA Graph of cells and PCA Graph of variables.
Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
## The analysis only supports the interactive method! ## If interactive=FALSE, the function will return NULL data(WSADataset) wasDF1 <- WSADataset[seq(1,300,by=1), ] wsaTD1 <- CellMig(wasDF1) wsaTD1 <- wsaPreProcessing(wsaTD1,FrameN=55) wsaTD1 <-FMI(wsaTD1,TimeInterval=10) wsaTD1 <-FinRes(wsaTD1,ParCor=FALSE, export=FALSE) wasDF2 <- WSADataset[seq(500,700,by=1), ] wsaTD2 <- CellMig(wasDF2) wsaTD2 <- wsaPreProcessing(wsaTD2,FrameN=55) wsaTD2 <-FMI(wsaTD2, TimeInterval=10) wsaTD2 <-FinRes(wsaTD2, ParCor=FALSE, export=FALSE) AGG <- aggregateFR(wsaTD1, wsaTD2, export=FALSE) CellMigPCAclustALL(AGG,ExpName="Aggregated_Conditions", parameters=c(1,6), export=FALSE, interactive=FALSE) # The previous line returns NULL # In an interactive session, try running the following command (uncomment!) # CellMigPCAclustALL(AGG,ExpName="Aggregated_Conditions", # parameters=c(1,6), export=FALSE)
## The analysis only supports the interactive method! ## If interactive=FALSE, the function will return NULL data(WSADataset) wasDF1 <- WSADataset[seq(1,300,by=1), ] wsaTD1 <- CellMig(wasDF1) wsaTD1 <- wsaPreProcessing(wsaTD1,FrameN=55) wsaTD1 <-FMI(wsaTD1,TimeInterval=10) wsaTD1 <-FinRes(wsaTD1,ParCor=FALSE, export=FALSE) wasDF2 <- WSADataset[seq(500,700,by=1), ] wsaTD2 <- CellMig(wasDF2) wsaTD2 <- wsaPreProcessing(wsaTD2,FrameN=55) wsaTD2 <-FMI(wsaTD2, TimeInterval=10) wsaTD2 <-FinRes(wsaTD2, ParCor=FALSE, export=FALSE) AGG <- aggregateFR(wsaTD1, wsaTD2, export=FALSE) CellMigPCAclustALL(AGG,ExpName="Aggregated_Conditions", parameters=c(1,6), export=FALSE, interactive=FALSE) # The previous line returns NULL # In an interactive session, try running the following command (uncomment!) # CellMigPCAclustALL(AGG,ExpName="Aggregated_Conditions", # parameters=c(1,6), export=FALSE)
Analyze Stacks, detect cells in each frame, and analyze cell tracks over time
CellTracker( tc_obj, import_optiParam_from = NULL, min_frames_per_cell = 1, lnoise = NULL, diameter = NULL, threshold = NULL, maxDisp = NULL, memory_b = 0, goodenough = 0, threads = 1, show_plots = FALSE, verbose = FALSE, dryrun = FALSE )
CellTracker( tc_obj, import_optiParam_from = NULL, min_frames_per_cell = 1, lnoise = NULL, diameter = NULL, threshold = NULL, maxDisp = NULL, memory_b = 0, goodenough = 0, threads = 1, show_plots = FALSE, verbose = FALSE, dryrun = FALSE )
tc_obj |
a |
import_optiParam_from |
a |
min_frames_per_cell |
numeric, minimum number of consecutive frames in which a cell shall be found in order to retain that cell in the final cell tracks data.frame. Defaults to 1. |
lnoise |
numeric, lnoise parameter; can be NULL if OptimizeParams() has already been run |
diameter |
numeric, diameter parameter; can be NULL if OptimizeParams() has already been run |
threshold |
numeric, threshold parameter; can be NULL if OptimizeParams() has already been run |
maxDisp |
numeric, maximum displacement of a cell per time interval. When many cells are detected in each frame, small maxDisp values should be used. |
memory_b |
numeric, memory_b parameter as used in the original track.m function. In the current R implementation, only the value memory_b=0 is accepted |
goodenough |
numeric, goodenough parameter as used in the original track.m function. In the current R implementation, only the value goodenough=0 is accepted |
threads |
integer, number of cores to use for parallelization |
show_plots |
logical, shall cells detected in each frame of the image stack be visualized |
verbose |
logical, shall info about the progress of the cell tracking job be printed |
dryrun |
logical, shall a dryrun be performed |
The lnoise param is used to guide a lowpass blurring operation, while the lobject param is used to guide a highpass background subtraction. The threshold param is used for a background correction following the initial image convolution
lnoise: Characteristic lengthscale of noise in pixels. Additive noise averaged over this length should vanish. May assume any positive floating value. May be also set to 0, in which case only the highpass "background subtraction" operation is performed.
lobject Integer length in pixels somewhat larger than a typical object. Can also be set to 0, in which case only the lowpass "blurring" operation defined by lnoise is done without the background subtraction defined by lobject
threshold Numeric. By default, after the convolution, any negative pixels are reset to 0. Threshold changes the threshhold for setting pixels to 0. Positive values may be useful for removing stray noise or small particles.
a trackedCells object
Damiano Fantini, [email protected]
https://www.data-pulse.com/dev_site/cellmigration/ https://www.mathworks.com/matlabcentral/fileexchange/60349-fasttracks
x <- get(data(TrackCellsDataset)) x <- CellTracker(x, dryrun=TRUE) getTracks(x)[seq(1,12,by=1),]
x <- get(data(TrackCellsDataset)) x <- CellTracker(x, dryrun=TRUE) getTracks(x)[seq(1,12,by=1),]
Wrapper for the MigrationStats() function. It computes statistics for a trackedCells object where cells have already been tracked.
ComputeTracksStats(tc_obj, time_between_frames, resolution_pixel_per_micron)
ComputeTracksStats(tc_obj, time_between_frames, resolution_pixel_per_micron)
tc_obj |
a |
time_between_frames |
integer, time interval between two successive frames were taken |
resolution_pixel_per_micron |
integer, image resolution, i.e. number of pixels per micron |
a trackedCells object, including cell track statistics
Damiano Fantini, [email protected]
https://www.data-pulse.com/dev_site/cellmigration/ https://www.mathworks.com/matlabcentral/fileexchange/60349-fasttracks
x <- get(data(TrackCellsDataset)) x <- ComputeTracksStats(x, time_between_frames = 10, resolution_pixel_per_micron = 20) getCellsStats(x)
x <- get(data(TrackCellsDataset)) x <- ComputeTracksStats(x, time_between_frames = 10, resolution_pixel_per_micron = 20) getCellsStats(x)
The DiAutoCor function automatically compute the angular persistence across several sequantial time intervals.
DiAutoCor( object, TimeInterval = 10, sLAG = 0.25, sPLOT = TRUE, aPLOT = TRUE, export = FALSE, ExpName = NULL )
DiAutoCor( object, TimeInterval = 10, sLAG = 0.25, sPLOT = TRUE, aPLOT = TRUE, export = FALSE, ExpName = NULL )
object |
|
TimeInterval |
A numeric value of the time elapsed between successive frames in the time-lapse stack. |
sLAG |
A numeric value to be used to get the number of lags for the slope fitting. Default is 0.25, which represents 25 percent of the steps. |
sPLOT |
A logical vector that allows generating individual plots showing the angular persistence across several sequantial time intervals. Default is TRUE. |
aPLOT |
A logical vector that allows generating a plot showing the angular persistence across several sequantial time intervals of all cells. Default is TRUE. |
export |
if 'TRUE' (default), exports function output to CSV file |
ExpName |
string, name of the experiment. Can be NULL |
An CellMig class Object with a data frame and plots. The data frame, which contains six rows: "Cell Number", "Angular Persistence", "Intercept of DA quadratic model", "Mean Direction AutoCorrelation (all lags)", "Stable Direction AutoCorrelation through the track" and "Difference between Mean DA and Intercept DA".
Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
data(TrajectoryDataset) rmDF=TrajectoryDataset[seq(1,220,by=1),] rmTD <- CellMig(rmDF) rmTD <- rmPreProcessing(rmTD,FrameN=55) rmTD <- DiAutoCor(rmTD, TimeInterval=10, sLAG=0.25, sPLOT=FALSE, aPLOT=FALSE, export=FALSE)
data(TrajectoryDataset) rmDF=TrajectoryDataset[seq(1,220,by=1),] rmTD <- CellMig(rmDF) rmTD <- rmPreProcessing(rmTD,FrameN=55) rmTD <- DiAutoCor(rmTD, TimeInterval=10, sLAG=0.25, sPLOT=FALSE, aPLOT=FALSE, export=FALSE)
Directionality Ratio is the displacement divided by the total length of the total path distance, where displacement is the straight line length between the start point and the endpoint of the migration trajectory,
DiRatio(object, TimeInterval = 10, export = FALSE, ExpName = NULL)
DiRatio(object, TimeInterval = 10, export = FALSE, ExpName = NULL)
object |
|
TimeInterval |
A numeric value of the time elapsed between successive frames in the time-lapse stack. |
export |
if 'TRUE' (default), exports function output to CSV file |
ExpName |
string |
Directionality Ratio and Directional persistence
An CellMig class object with a data frame stored in the DRtable slot. It contains nine rows: "Cell Number", "Directionality Ratio","Mean Cumulative Directionality Ratio", "Stable Directionality Ratio", "Number of returns","Min CumDR", "Location of Min CumDR, Steps with less CumDR than DR", "Directional Persistence"
Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
rmTD <- get(data(preProcCellMig)) rmTD <- DiRatio(rmTD, export=FALSE)
rmTD <- get(data(preProcCellMig)) rmTD <- DiRatio(rmTD, export=FALSE)
Directionality Ratio is the displacement divided by the total length of the total path distance, where displacement is the straightline length between the start point and the endpoint of the migration trajectory,
DiRatioPlot(object, TimeInterval = 10, export = FALSE, ExpName = NULL)
DiRatioPlot(object, TimeInterval = 10, export = FALSE, ExpName = NULL)
object |
|
TimeInterval |
A numeric value of the time elapsed between successive frames in the time-lapse stack. |
export |
if 'TRUE' (default), exports plot to JPG file |
ExpName |
string, name of the experiment. Can be NULL |
Directionality Ratio
Directionality Ratio plots
Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
rmTD <- get(data(preProcCellMig)) DiRatioPlot(object=rmTD, export=FALSE)
rmTD <- get(data(preProcCellMig)) DiRatioPlot(object=rmTD, export=FALSE)
Estimates the diameters of particles in a numeric matrix
EstimateDiameterRange( x, px.margin = 2, min.px.diam = 5, quantile.val = 0.99, plot = TRUE )
EstimateDiameterRange( x, px.margin = 2, min.px.diam = 5, quantile.val = 0.99, plot = TRUE )
x |
numeric matrix corresponding to a digital image |
px.margin |
integer, number of pixels used as margin while searching/filtering for neighboring particles |
min.px.diam |
integer, minimum diameter of a particle (cell). Particles with a diameter smaller than min.px.diam are discarded |
quantile.val |
numeric, must be bigger than 0 and smaller than 1. Quantile for discriminating signal and background; only pixels with intensity higher than the corresponding quantile will count as signal while estimating particle diameters |
plot |
logial, shall a histogram of the distribution of diameters be shown |
list including summary stats and data about the particles found in the image
Damiano Fantini, [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
a <- cbind(c(1, 1, 1, 0, 0, 0, 0, 0, 1, 1), c(1, 1, 0, 0, 0, 0, 0, 0, 1, 1), c(1, 0, 0, 0, 0, 0, 0, 0, 0, 0), c(0, 0, 0, 0, 1, 1, 0, 0, 0, 0), c(0, 0, 0, 1, 1, 1, 0, 0, 0, 0)) graphics::image(a) b <- EstimateDiameterRange(a, min.px.diam = 2) print(b$estim.cell.num) print(b$raw)
a <- cbind(c(1, 1, 1, 0, 0, 0, 0, 0, 1, 1), c(1, 1, 0, 0, 0, 0, 0, 0, 1, 1), c(1, 0, 0, 0, 0, 0, 0, 0, 0, 0), c(0, 0, 0, 0, 1, 1, 0, 0, 0, 0), c(0, 0, 0, 1, 1, 1, 0, 0, 0, 0)) graphics::image(a) b <- EstimateDiameterRange(a, min.px.diam = 2) print(b$estim.cell.num) print(b$raw)
Filter an Aggregated Table (data.frame) of cell tracks (from multiple images/experiments) and retain cell tracks from images/experiments of interest
FilterTrackedCells(x, id_list, meta_id_field)
FilterTrackedCells(x, id_list, meta_id_field)
x |
data.frame, is an aggregated Table of Cell Tracks. Must include the following columns: "new.ID", "frame.ID", "X", "Y", "cell.ID", "tiff_name", "experiment", "condition", "replicate" |
id_list |
character vector, indicates the IDs (such as tiff_filenames) to be retained in the output data.frame |
meta_id_field |
string, can take one of the following values, c("tiff_file", "experiment", "condition", "replicate"). Indicates the meta-data column used as unique ID for the image/experiment. Can be abbreviated. Defaults to "tiff_file". |
data.frame, a filtered aggregated Table of Cell Tracks
Damiano Fantini, [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
A <- data.frame(new.ID = seq(1,10,by=1), frame.ID = seq(10,1,by=(-1)), X = sample(seq(1,100,by=1), size = 10), Y = sample(seq(1,100,by=1), size = 10), cell.ID = c(rep(1, 5), rep(2, 5)), tiff_file= c(rep("ii", 3), rep("jj", 5), rep('kk', 2))) FilterTrackedCells(A, id_list = c("jj", "kk"), "tiff_file")
A <- data.frame(new.ID = seq(1,10,by=1), frame.ID = seq(10,1,by=(-1)), X = sample(seq(1,100,by=1), size = 10), Y = sample(seq(1,100,by=1), size = 10), cell.ID = c(rep(1, 5), rep(2, 5)), tiff_file= c(rep("ii", 3), rep("jj", 5), rep('kk', 2))) FilterTrackedCells(A, id_list = c("jj", "kk"), "tiff_file")
The FinRes function automatically generates a data frame that contains all the results.
FinRes(object, ParCor = TRUE, export = FALSE, ExpName = NULL)
FinRes(object, ParCor = TRUE, export = FALSE, ExpName = NULL)
object |
|
ParCor |
A logical vector that allows generating a correlation table. Default is TRUE. |
export |
if 'TRUE' (default), exports function output to CSV file |
ExpName |
string, name of the experiment. Can be NULL |
A data frame that contains all the results.
Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
data(WSADataset) wasDF <- WSADataset[seq(1,300,by=1), ] wsaTD <- CellMig(wasDF) wsaTD <- wsaPreProcessing(wsaTD,FrameN=55) wsaTD <-FMI(wsaTD,TimeInterval=10) wsaTD <-ForwardMigration(wsaTD,TimeInterval=10,) wsaTD <-FinRes(wsaTD,ParCor=FALSE, export=FALSE)
data(WSADataset) wasDF <- WSADataset[seq(1,300,by=1), ] wsaTD <- CellMig(wasDF) wsaTD <- wsaPreProcessing(wsaTD,FrameN=55) wsaTD <-FMI(wsaTD,TimeInterval=10) wsaTD <-ForwardMigration(wsaTD,TimeInterval=10,) wsaTD <-FinRes(wsaTD,ParCor=FALSE, export=FALSE)
The FMI function automatically generates data for the forward migration index
FMI(object, TimeInterval = 10, export = FALSE, ExpName = NULL)
FMI(object, TimeInterval = 10, export = FALSE, ExpName = NULL)
object |
|
TimeInterval |
A numeric value of the time elapsed between successive frames in the time-lapse stack. |
export |
if 'TRUE' (default), exports function output to CSV file |
ExpName |
string, name of the experiment. Can be NULL |
An CellMig class Object with a data frame. The data frame is stored in the FMItable slot.
Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
data(WSADataset) wasDF=WSADataset[seq(1,300,by=1),] wsaTD <- CellMig(wasDF) wsaTD <- wsaPreProcessing(wsaTD,FrameN=55) wsaTD <-FMI(wsaTD,TimeInterval=10, export=FALSE)
data(WSADataset) wasDF=WSADataset[seq(1,300,by=1),] wsaTD <- CellMig(wasDF) wsaTD <- wsaPreProcessing(wsaTD,FrameN=55) wsaTD <-FMI(wsaTD,TimeInterval=10, export=FALSE)
The ForwardMigration function automatically generates data and plots for forward persistence and speed.
ForwardMigration( object, TimeInterval = 10, sfptPLOT = TRUE, afptPLOT = TRUE, sfpPLOT = TRUE, afpPLOT = TRUE, export = FALSE, ExpName = NULL )
ForwardMigration( object, TimeInterval = 10, sfptPLOT = TRUE, afptPLOT = TRUE, sfpPLOT = TRUE, afpPLOT = TRUE, export = FALSE, ExpName = NULL )
object |
|
TimeInterval |
A numeric value of the time elapsed between successive frames in the time-lapse stack. |
sfptPLOT |
A logical vector that allows generating individual plots of persistence time vs speed per cell. Default is TRUE. |
afptPLOT |
A logical vector that allows generating a plot of persistence time vs speed for all cells. Default is TRUE. |
sfpPLOT |
A logical vector that allows generating individual plots of angular persistence vs speed per cell. Default is TRUE. |
afpPLOT |
A logical vector that allows generating a plot of angular persistence vs speed of all cells. Default is TRUE. |
export |
if 'TRUE' (default), exports function output to CSV file |
ExpName |
string, name of the experiment. Can be NULL |
An CellMig class Object with a data frame and plots. The data frame is stored in the ForMigtable slot.
Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
data(WSADataset) wsaDF <- WSADataset[seq(1,500,by=1),] wsaTD <- CellMig(wsaDF) wsaTD <- wsaPreProcessing(wsaTD,FrameN=55) wsaTD <-ForwardMigration(wsaTD, TimeInterval=10, sfptPLOT=FALSE, afptPLOT= FALSE,sfpPLOT= FALSE, afpPLOT= FALSE, export=FALSE)
data(WSADataset) wsaDF <- WSADataset[seq(1,500,by=1),] wsaTD <- CellMig(wsaDF) wsaTD <- wsaPreProcessing(wsaTD,FrameN=55) wsaTD <-ForwardMigration(wsaTD, TimeInterval=10, sfptPLOT=FALSE, afptPLOT= FALSE,sfpPLOT= FALSE, afpPLOT= FALSE, export=FALSE)
Retrieve a list of metrics computed for an aggregated result object. This getter function takes the output of aggregateFR() as input.
getAvailableAggrMetrics(object)
getAvailableAggrMetrics(object)
object |
list of length 2, returned by the aggregateFR() function |
character vector listing all available metrics
Damiano Fantini and Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
data(WSADataset) wasDF1 <- WSADataset[seq(1,300,by=1), ] wsaTD1 <- CellMig(wasDF1) wsaTD1 <- wsaPreProcessing(wsaTD1,FrameN=65) wsaTD1 <- FMI(wsaTD1,TimeInterval=10) wsaTD1 <- FinRes(wsaTD1,ParCor=FALSE, export=FALSE) wasDF2 <- WSADataset[seq(1001,1300,by=1), ] wsaTD2 <- CellMig(wasDF2) wsaTD2 <- wsaPreProcessing(wsaTD2,FrameN=65) wsaTD2 <-FMI(wsaTD2,TimeInterval=10) wsaTD2 <-FinRes(wsaTD2,ParCor=FALSE, export=FALSE) AGG <- aggregateFR(wsaTD1 ,wsaTD2 ,export=FALSE) getAvailableAggrMetrics(AGG)
data(WSADataset) wasDF1 <- WSADataset[seq(1,300,by=1), ] wsaTD1 <- CellMig(wasDF1) wsaTD1 <- wsaPreProcessing(wsaTD1,FrameN=65) wsaTD1 <- FMI(wsaTD1,TimeInterval=10) wsaTD1 <- FinRes(wsaTD1,ParCor=FALSE, export=FALSE) wasDF2 <- WSADataset[seq(1001,1300,by=1), ] wsaTD2 <- CellMig(wasDF2) wsaTD2 <- wsaPreProcessing(wsaTD2,FrameN=65) wsaTD2 <-FMI(wsaTD2,TimeInterval=10) wsaTD2 <-FinRes(wsaTD2,ParCor=FALSE, export=FALSE) AGG <- aggregateFR(wsaTD1 ,wsaTD2 ,export=FALSE) getAvailableAggrMetrics(AGG)
Retrieve Images from a trackedCells
object.
getCellImages(x) ## S4 method for signature 'trackedCells' getCellImages(x)
getCellImages(x) ## S4 method for signature 'trackedCells' getCellImages(x)
x |
a |
a list including all images
data("TrackCellsDataset") getCellImages(TrackCellsDataset)
data("TrackCellsDataset") getCellImages(TrackCellsDataset)
Get Data from a slot in a CellMig
object.
getCellMigSlot(x, slot) ## S4 method for signature 'CellMig,character' getCellMigSlot(x, slot)
getCellMigSlot(x, slot) ## S4 method for signature 'CellMig,character' getCellMigSlot(x, slot)
x |
a |
slot |
string pointing to the slot to be retrieved |
a slot from a CellMig object
data("TrajectoryDataset") x <- CellMig(TrajectoryDataset) getCellMigSlot(x, "trajdata")
data("TrajectoryDataset") x <- CellMig(TrajectoryDataset) getCellMigSlot(x, "trajdata")
Extract MetaData from a trackedCells object
getCellsMeta(tc_obj)
getCellsMeta(tc_obj)
tc_obj |
a trackedCells object |
a list including four items: tiff filename, experiment name, condition label, and replicate ID.
Damiano Fantini, [email protected]
https://www.data-pulse.com/dev_site/cellmigration/ https://www.mathworks.com/matlabcentral/fileexchange/60349-fasttracks
x0 <- get(data(TrackCellsDataset)) getCellsMeta(x0)
x0 <- get(data(TrackCellsDataset)) getCellsMeta(x0)
Extract cell migration statistics from a trackedCells object
getCellsStats(tc_obj)
getCellsStats(tc_obj)
tc_obj |
a |
data.frame including cell migration stats
Damiano Fantini, [email protected]
https://www.data-pulse.com/dev_site/cellmigration/ https://www.mathworks.com/matlabcentral/fileexchange/60349-fasttracks
x <- get(data(TrackCellsDataset)) getCellsStats(x)
x <- get(data(TrackCellsDataset)) getCellsStats(x)
Retrieve Metadata from a trackedCells
object.
getCellTrackMeta(x) ## S4 method for signature 'trackedCells' getCellTrackMeta(x)
getCellTrackMeta(x) ## S4 method for signature 'trackedCells' getCellTrackMeta(x)
x |
a |
a list including Meta Data
data("TrackCellsDataset") getCellTrackMeta(TrackCellsDataset)
data("TrackCellsDataset") getCellTrackMeta(TrackCellsDataset)
Retrieve Cell Tracks from a trackedCells
object.
getCellTracks(x) ## S4 method for signature 'trackedCells' getCellTracks(x)
getCellTracks(x) ## S4 method for signature 'trackedCells' getCellTracks(x)
x |
a |
a data.frame including Cell Tracks
data("TrackCellsDataset") getCellTracks(TrackCellsDataset)
data("TrackCellsDataset") getCellTracks(TrackCellsDataset)
Retrieve Stats from a trackedCells
object.
getCellTrackStats(x) ## S4 method for signature 'trackedCells' getCellTrackStats(x)
getCellTrackStats(x) ## S4 method for signature 'trackedCells' getCellTrackStats(x)
x |
a |
a list including Track statistics
data("TrackCellsDataset") getCellTrackStats(TrackCellsDataset)
data("TrackCellsDataset") getCellTrackStats(TrackCellsDataset)
The DiAutoCor function automatically compute the angular persistence across several sequantial time intervals.
getDACtable(object)
getDACtable(object)
object |
|
A data frame which contains six rows: "Cell Number", "Angular Persistence", "Intercept of DA quadratic model", "Mean Direction AutoCorrelation (all lags)", "Stable Direction AutoCorrelation through the track" and "Difference between Mean DA and Intercept DA".
Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
data(TrajectoryDataset) rmDF=TrajectoryDataset[seq(1,300,by=1),] rmTD <- CellMig(rmDF) rmTD <- rmPreProcessing(rmTD,FrameN=55) rmTD <- DiAutoCor(rmTD, TimeInterval=10, sLAG=0.25, sPLOT=FALSE, aPLOT=FALSE, export=FALSE) head(getDACtable(rmTD))
data(TrajectoryDataset) rmDF=TrajectoryDataset[seq(1,300,by=1),] rmTD <- CellMig(rmDF) rmTD <- rmPreProcessing(rmTD,FrameN=55) rmTD <- DiAutoCor(rmTD, TimeInterval=10, sLAG=0.25, sPLOT=FALSE, aPLOT=FALSE, export=FALSE) head(getDACtable(rmTD))
Directionality Ratio is the displacement divided by the total length of the total path distance, where displacement is the straight line length between the start point and the endpoint of the migration trajectory,
getDiRatio(object)
getDiRatio(object)
object |
|
Directionality Ratio and Directional persistence
A data frame. It contains nine rows: "Cell Number", "Directionality Ratio","Mean Cumulative Directionality Ratio", "Stable Directionality Ratio", "Number of returns","Min CumDR", "Location of Min CumDR, Steps with less CumDR than DR", "Directional Persistence".
Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
rmTD <- get(data(preProcCellMig)) rmTD <- DiRatio(rmTD, export=FALSE) head(getDiRatio(rmTD))
rmTD <- get(data(preProcCellMig)) rmTD <- DiRatio(rmTD, export=FALSE) head(getDiRatio(rmTD))
The FMI function automatically generates data for the forward migration index
getFMItable(object)
getFMItable(object)
object |
|
A data frame for the FMI.
Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
data(WSADataset) wasDF=WSADataset[seq(1,300,by=1),] wsaTD <- CellMig(wasDF) wsaTD <- wsaPreProcessing(wsaTD,FrameN=55) wsaTD <-FMI(wsaTD,TimeInterval=10, export=FALSE) head(getFMItable(wsaTD))
data(WSADataset) wasDF=WSADataset[seq(1,300,by=1),] wsaTD <- CellMig(wasDF) wsaTD <- wsaPreProcessing(wsaTD,FrameN=55) wsaTD <-FMI(wsaTD,TimeInterval=10, export=FALSE) head(getFMItable(wsaTD))
The ForwardMigration function automatically generates data and plots for forward persistence and speed.
getForMigtable(object)
getForMigtable(object)
object |
|
A data frame inclusing values of the forward migration analysis.
Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
data(WSADataset) wsaDF <- WSADataset[seq(1,300,by=1),] wsaTD <- CellMig(wsaDF) wsaTD <- wsaPreProcessing(wsaTD,FrameN=55) wsaTD <-ForwardMigration(wsaTD, TimeInterval=10, sfptPLOT=FALSE, afptPLOT= FALSE, sfpPLOT= FALSE, afpPLOT= FALSE, export=FALSE) head(getForMigtable(wsaTD))
data(WSADataset) wsaDF <- WSADataset[seq(1,300,by=1),] wsaTD <- CellMig(wsaDF) wsaTD <- wsaPreProcessing(wsaTD,FrameN=55) wsaTD <-ForwardMigration(wsaTD, TimeInterval=10, sfptPLOT=FALSE, afptPLOT= FALSE, sfpPLOT= FALSE, afpPLOT= FALSE, export=FALSE) head(getForMigtable(wsaTD))
Retrieve Image Centroids from a trackedCells
object.
getImageCentroids(x) ## S4 method for signature 'trackedCells' getImageCentroids(x)
getImageCentroids(x) ## S4 method for signature 'trackedCells' getImageCentroids(x)
x |
a |
a list including all centroids
data("TrackCellsDataset") getImageCentroids(TrackCellsDataset)
data("TrackCellsDataset") getImageCentroids(TrackCellsDataset)
Extract Images Stacks from a trackedCells object
getImageStacks(tc_obj)
getImageStacks(tc_obj)
tc_obj |
a |
a list including stack images (formatted as numeric matrices)
Damiano Fantini, [email protected]
https://www.data-pulse.com/dev_site/cellmigration/ https://www.mathworks.com/matlabcentral/fileexchange/60349-fasttracks
x0 <- get(data(TrackCellsDataset)) y0 <- getImageStacks(x0) graphics::image(y0[[1]])
x0 <- get(data(TrackCellsDataset)) y0 <- getImageStacks(x0) graphics::image(y0[[1]])
The MSD function automatically computes the mean square displacements across several sequential time intervals. MSD parameters are used to assess the area explored by cells over time.
getMSDtable(object)
getMSDtable(object)
object |
|
A data frame of MSD values.
Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
data(TrajectoryDataset) rmDF <- TrajectoryDataset[seq(1,600,by=1), ] rmTD <- CellMig(rmDF) rmTD <- rmPreProcessing(rmTD,FrameN=100) rmTD <- MSD(rmTD, sLAG=0.25, ffLAG=0.25, export=FALSE) head(getMSDtable(rmTD))
data(TrajectoryDataset) rmDF <- TrajectoryDataset[seq(1,600,by=1), ] rmTD <- CellMig(rmDF) rmTD <- rmPreProcessing(rmTD,FrameN=100) rmTD <- MSD(rmTD, sLAG=0.25, ffLAG=0.25, export=FALSE) head(getMSDtable(rmTD))
Extract Parameters that were automatically optimized
getOptimizedParameters(tc_obj)
getOptimizedParameters(tc_obj)
tc_obj |
a |
a list including optimized parameter values (lnoise, diameter, and threshold)
Damiano Fantini, [email protected]
https://www.data-pulse.com/dev_site/cellmigration/ https://www.mathworks.com/matlabcentral/fileexchange/60349-fasttracks
x <- get(data(TrackCellsDataset)) getOptimizedParameters(x)
x <- get(data(TrackCellsDataset)) getOptimizedParameters(x)
Retrieve Optimized Params from a trackedCells
object.
getOptimizedParams(x) ## S4 method for signature 'trackedCells' getOptimizedParams(x)
getOptimizedParams(x) ## S4 method for signature 'trackedCells' getOptimizedParams(x)
x |
a |
a list including Optimized Parameters
data("TrackCellsDataset") getOptimizedParams(TrackCellsDataset)
data("TrackCellsDataset") getOptimizedParams(TrackCellsDataset)
The PerAndSpeed() generates data and plots for persistence and speed.
getPerAndSpeed(object)
getPerAndSpeed(object)
object |
|
A data frame of Persistence and Speed.
Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
rmTD <- get(data(preProcCellMig)) rmTD <- PerAndSpeed(rmTD,TimeInterval=10, export=FALSE) head(getPerAndSpeed(rmTD))
rmTD <- get(data(preProcCellMig)) rmTD <- PerAndSpeed(rmTD,TimeInterval=10, export=FALSE) head(getPerAndSpeed(rmTD))
Extract cell population statistics from a trackedCells object
getPopulationStats(tc_obj)
getPopulationStats(tc_obj)
tc_obj |
a trackedCells object |
data.frame including cell population stats
Damiano Fantini, [email protected]
https://www.data-pulse.com/dev_site/cellmigration/ https://www.mathworks.com/matlabcentral/fileexchange/60349-fasttracks
x <- get(data(TrackCellsDataset)) getPopulationStats(x)
x <- get(data(TrackCellsDataset)) getPopulationStats(x)
Retrieve Processed Images from a trackedCells
object.
getProcessedImages(x) ## S4 method for signature 'trackedCells' getProcessedImages(x)
getProcessedImages(x) ## S4 method for signature 'trackedCells' getProcessedImages(x)
x |
a |
a list including all processed images
data("TrackCellsDataset") getProcessedImages(TrackCellsDataset)
data("TrackCellsDataset") getProcessedImages(TrackCellsDataset)
Retrieve Processing Status from a trackedCells
object.
getProcessingStatus(x) ## S4 method for signature 'trackedCells' getProcessingStatus(x)
getProcessingStatus(x) ## S4 method for signature 'trackedCells' getProcessingStatus(x)
x |
a |
a list including Processing Status
data("TrackCellsDataset") getProcessingStatus(TrackCellsDataset)
data("TrackCellsDataset") getProcessingStatus(TrackCellsDataset)
The FinRes function automatically generates a data frame that contains all the results.
getResults(object)
getResults(object)
object |
|
A data frame that contains all the results.
Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
data(WSADataset) wasDF <- WSADataset[seq(1,300,by=1), ] wsaTD <- CellMig(wasDF) wsaTD <- wsaPreProcessing(wsaTD,FrameN=55) wsaTD <-FMI(wsaTD,TimeInterval=10) wsaTD <-ForwardMigration(wsaTD,TimeInterval=10,) wsaTD <-FinRes(wsaTD,ParCor=FALSE, export=FALSE) head(getResults(wsaTD))
data(WSADataset) wasDF <- WSADataset[seq(1,300,by=1), ] wsaTD <- CellMig(wasDF) wsaTD <- wsaPreProcessing(wsaTD,FrameN=55) wsaTD <-FMI(wsaTD,TimeInterval=10) wsaTD <-ForwardMigration(wsaTD,TimeInterval=10,) wsaTD <-FinRes(wsaTD,ParCor=FALSE, export=FALSE) head(getResults(wsaTD))
Extract Track Data from a trackedCells object
getTracks(tc_obj, attach_meta = FALSE)
getTracks(tc_obj, attach_meta = FALSE)
tc_obj |
a |
attach_meta |
logical, shall metaData be attached to tracks |
a data.frame including cell tracks data
Damiano Fantini, [email protected]
https://www.data-pulse.com/dev_site/cellmigration/ https://www.mathworks.com/matlabcentral/fileexchange/60349-fasttracks
x <- get(data(TrackCellsDataset)) getTracks(x)[seq(1,10,by=1),]
x <- get(data(TrackCellsDataset)) getTracks(x)[seq(1,10,by=1),]
The VeAutoCor function automatically compute the changes in both speed and direction across several sequantial time intervals.
getVACtable(object)
getVACtable(object)
object |
|
A data frame, which contains six rows: "Cell Number", "Velocity AutoCorrelation (lag=1)", "2nd normalized Velocity AutoCorrelation", "Intercept of VA quadratic model", "Mean Velocity AutoCorrelation (all lags)", "Mean |Acceleration|" and "Average Speed".
Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
data(TrajectoryDataset) rmDF=TrajectoryDataset[seq(1,300,by=1),] rmTD <- CellMig(rmDF) rmTD <- rmPreProcessing(rmTD,FrameN=55) rmTD <- VeAutoCor(rmTD, TimeInterval=10, sLAG=0.25, sPLOT=FALSE, aPLOT=FALSE, export=FALSE) head(getVACtable(rmTD))
data(TrajectoryDataset) rmDF=TrajectoryDataset[seq(1,300,by=1),] rmTD <- CellMig(rmDF) rmTD <- rmPreProcessing(rmTD,FrameN=55) rmTD <- VeAutoCor(rmTD, TimeInterval=10, sLAG=0.25, sPLOT=FALSE, aPLOT=FALSE, export=FALSE) head(getVACtable(rmTD))
Import a .tif stack containing fluorescently labeled point particles to be tracked
LoadTiff(tiff_file, experiment = NULL, condition = NULL, replicate = NULL)
LoadTiff(tiff_file, experiment = NULL, condition = NULL, replicate = NULL)
tiff_file |
path to a TIFF file to be read in |
experiment |
string, a label to describe the experiment (optional) |
condition |
string, a label to describe the experimental condition |
replicate |
string, a label to identify the replicate (optional) |
a trackedCells object
'experiment', 'condition' and 'replicate' are optional arguments and can be NULL.
Damiano Fantini, [email protected]
https://www.data-pulse.com/dev_site/cellmigration/ https://www.mathworks.com/matlabcentral/fileexchange/60349-fasttracks
# Let `path/to/tiff_file.tiff` be the path to tiff file we want to # import. If an error is thrown, NULL is returned. x <- LoadTiff(tiff_file = "path/to/tiff_file.tiff")
# Let `path/to/tiff_file.tiff` be the path to tiff file we want to # import. If an error is thrown, NULL is returned. x <- LoadTiff(tiff_file = "path/to/tiff_file.tiff")
The MSD function automatically computes the mean square displacements across several sequential time intervals. MSD parameters are used to assess the area explored by cells over time.
MSD( object, TimeInterval = 10, sLAG = 0.25, ffLAG = 0.25, SlopePlot = TRUE, AllSlopesPlot = TRUE, FurthPlot = TRUE, AllFurthPlot = TRUE, export = FALSE, ExpName = NULL )
MSD( object, TimeInterval = 10, sLAG = 0.25, ffLAG = 0.25, SlopePlot = TRUE, AllSlopesPlot = TRUE, FurthPlot = TRUE, AllFurthPlot = TRUE, export = FALSE, ExpName = NULL )
object |
|
TimeInterval |
A numeric value of the time elapsed between successive frames in the time-lapse stack. |
sLAG |
A numeric value to be used to get the number of lags for the slope fitting. Default is 0.25, which represents 25 percent of the steps. |
ffLAG |
A numeric value to be used to get the number of lags for the Furth formula fitting. Default is 0.25, which represents 25 percent of the steps. |
SlopePlot |
A logical vector that allows generating individual plots showing the slope of the mean square displacement of the movement of individual cells. Default is TRUE. |
AllSlopesPlot |
A logical vector that allows generating a plot showing the slope of the mean square displacement of the movement of all cells. Default is TRUE. |
FurthPlot |
A logical vector that allows generating individual plots fitting the Furth formula using generalized regression by the Nelder–Mead method simplex method per cell. Default is TRUE. |
AllFurthPlot |
A logical vector that allows generating a plot fitting the Furth formula using generalized regression by the Nelder–Mead method simplex method for all cells. Default is TRUE. |
export |
if 'TRUE' (default), exports function output |
ExpName |
string, anem of the Experiment. Can be NULL |
An CellMig class object with a data frame and plots. The data frame is stored in the MSDtable slot.
Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
data(TrajectoryDataset) rmDF <- TrajectoryDataset[seq(1,220,by=1), ] rmTD <- CellMig(rmDF) rmTD <- rmPreProcessing(rmTD,FrameN=100) rmTD <- MSD(rmTD, sLAG=0.25, ffLAG=0.25, export=FALSE)
data(TrajectoryDataset) rmDF <- TrajectoryDataset[seq(1,220,by=1), ] rmTD <- CellMig(rmDF) rmTD <- rmPreProcessing(rmTD,FrameN=100) rmTD <- MSD(rmTD, sLAG=0.25, ffLAG=0.25, export=FALSE)
Optimize Detection Parameters for running a cell tracking job
OptimizeParams( tc_obj, lnoise_range = NULL, min.px.diam = 5, diameter_range = NULL, threshold_range = NULL, target_cell_num = NULL, threads = 1, quantile.val = NULL, px.margin = NULL, plot = FALSE, verbose = FALSE, dryrun = FALSE )
OptimizeParams( tc_obj, lnoise_range = NULL, min.px.diam = 5, diameter_range = NULL, threshold_range = NULL, target_cell_num = NULL, threads = 1, quantile.val = NULL, px.margin = NULL, plot = FALSE, verbose = FALSE, dryrun = FALSE )
tc_obj |
a |
lnoise_range |
numeric vector of lnoise values to be used in the optimization step. Can be NULL |
min.px.diam |
integer, minimum diameter of a particle (cell). Particles with a diameter smaller than min.px.diam are discarded |
diameter_range |
numeric vector of diameter values to be used in the optimization step. Can be NULL |
threshold_range |
numeric vector of threshold values to be used in the optimization step. Can be NULL |
target_cell_num |
integer, the expected (optimal) number of cells to be detected in each frame |
threads |
integer, number of cores to use for parallelization |
quantile.val |
numeric, argument passed to EstimateDiameterRange(). If NULL, it is defaulted to 0.99 |
px.margin |
numeric, argument passed to EstimateDiameterRange(). If NULL, it ia defaulted to 2 |
plot |
if 'TRUE', plots results in the end |
verbose |
shall information about the progress of the operation be printed to screen/console |
dryrun |
shall a dryrun be performed |
The lnoise param is used to guide a lowpass blurring operation, while the lobject param is used to guide a highpass background subtraction. The threshold param is used for a background correction following the initial image convolution
lnoise: Characteristic lengthscale of noise in pixels. Additive noise averaged over this length should vanish. May assume any positive floating value. May be also set to 0, in which case only the highpass "background subtraction" operation is performed.
lobject Integer length in pixels somewhat larger than a typical object. Can also be set to 0, in which case only the lowpass "blurring" operation defined by lnoise is done without the background subtraction defined by lobject
threshold Numeric. By default, after the convolution, any negative pixels are reset to 0. Threshold changes the threshhold for setting pixels to 0. Positive values may be useful for removing stray noise or small particles.
a trackedCells object
Damiano Fantini, [email protected]
https://www.data-pulse.com/dev_site/cellmigration/ https://www.mathworks.com/matlabcentral/fileexchange/60349-fasttracks
x <- get(data(TrackCellsDataset)) x <- OptimizeParams(tc_obj = x, lnoise_range = c(5,7,10), diameter_range = c(12,14,18), threshold_range = c(4,7), dryrun = TRUE) getOptimizedParameters(x)
x <- get(data(TrackCellsDataset)) x <- OptimizeParams(tc_obj = x, lnoise_range = c(5,7,10), diameter_range = c(12,14,18), threshold_range = c(4,7), dryrun = TRUE) getOptimizedParameters(x)
The PerAndSpeed() generates data and plots for persistence and speed.
PerAndSpeed( object, TimeInterval = 10, PtSplot = TRUE, AllPtSplot = TRUE, ApSplot = TRUE, AllApSplot = TRUE, export = FALSE, ExpName = NULL )
PerAndSpeed( object, TimeInterval = 10, PtSplot = TRUE, AllPtSplot = TRUE, ApSplot = TRUE, AllApSplot = TRUE, export = FALSE, ExpName = NULL )
object |
|
TimeInterval |
A numeric value of the time elapsed between successive frames in the time-lapse stack. |
PtSplot |
A logical vector that allows generating individual plots of persistence time vs speed per cell. Default is TRUE. |
AllPtSplot |
A logical vector that allows generating a plot of persistence time vs speed for all cells. Default is TRUE. |
ApSplot |
A logical vector that allows generating individual plots of angular persistence vs speed per cell. Default is TRUE. |
AllApSplot |
A logical vector that allows generating a plot of angular persistence vs speed of all cells. Default is TRUE. |
export |
if 'TRUE' (default), exports function output |
ExpName |
string, indicates the name of the experiment. Can be NULL |
An CellMig class object with a data frame and plots. The data frame is stored in the PerAanSpeedtable slot.
Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
rmTD <- get(data(preProcCellMig)) rmTD <- PerAndSpeed(rmTD,TimeInterval=10, export=FALSE)
rmTD <- get(data(preProcCellMig)) rmTD <- PerAndSpeed(rmTD,TimeInterval=10, export=FALSE)
Plotting the trajectory data of all cells in 3D.
plot3DAllTracks(object, VS = 3, size = 2, interactive = TRUE)
plot3DAllTracks(object, VS = 3, size = 2, interactive = TRUE)
object |
|
VS |
A numeric value of the vertical separator between cells. |
size |
A numeric value of the point's size. |
interactive |
logical, shall the 3D plot be generated in a interactive fashion |
The 3D visualization shows centered trajectories where the starting point of each track is located at the origin of the coordinate system (X=0,Y=0).
A 3D rose-plot showing the tracks of all cells.
This function requires the rgl
package to be installed on your
system.
Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
if (Sys.info()[["sysname"]] != "Darwin") { # interactive shall be set to TRUE (default) rmTD <- get(data(preProcCellMig)) plot3DAllTracks(rmTD, VS=3, size=2, interactive = FALSE) }
if (Sys.info()[["sysname"]] != "Darwin") { # interactive shall be set to TRUE (default) rmTD <- get(data(preProcCellMig)) plot3DAllTracks(rmTD, VS=3, size=2, interactive = FALSE) }
Plotting the trajectory data of particular cells in 3D.
plot3DTracks(object, VS = 3, size = 2, cells, interactive = TRUE)
plot3DTracks(object, VS = 3, size = 2, cells, interactive = TRUE)
object |
|
VS |
A numeric value of the vertical separator between cells. |
size |
A numeric value of the point's size. |
cells |
A numeric vector containing the cell's numbers to be plotted. |
interactive |
logical, shall a 3D plot built in an interactive way. |
The 3D visualization shows centered trajectories where the starting point of each track is located at the origin of the coordinate system (X=0,Y=0).
A 3D rose-plot showing the tracks of particular cells.
This function requires the rgl
package to be installed on your
system.
Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
if (Sys.info()[["sysname"]] != "Darwin") { # interactive shall be set to TRUE (default) rmTD <- get(data(preProcCellMig)) plot3DTracks(rmTD, VS=3, size=2, cells=seq(1,5,by=1), interactive = FALSE) }
if (Sys.info()[["sysname"]] != "Darwin") { # interactive shall be set to TRUE (default) rmTD <- get(data(preProcCellMig)) plot3DTracks(rmTD, VS=3, size=2, cells=seq(1,5,by=1), interactive = FALSE) }
Plotting the trajectory data of all cells.
plotAllTracks( object, Type = "l", FixedField = TRUE, export = FALSE, ExpName = NULL )
plotAllTracks( object, Type = "l", FixedField = TRUE, export = FALSE, ExpName = NULL )
object |
|
Type |
has to be one of the following: c("p", "l", "b", "o") "p": Points; "l": Lines; "b": Both; "o": Both "overplotted". |
FixedField |
logical(1) Allows generating a plot with fixed field 800um x 800um. Default is TRUE. |
export |
if 'TRUE' (default), exports plot to JPG file |
ExpName |
string, name of the experiment. Can be NULL |
The visualization shows centered trajectories where the starting point of each track is located at the origin of the coordinate system (X=0,Y=0).
A 2D rose-plot showing the tracks of all cells.
Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
rmTD <- get(data(preProcCellMig)) plotAllTracks(object=rmTD, Type="l", FixedField=TRUE,export=FALSE)
rmTD <- get(data(preProcCellMig)) plotAllTracks(object=rmTD, Type="l", FixedField=TRUE,export=FALSE)
Plotting the trajectory data of some cells.
plotSampleTracks( object, Type = "l", celNum = 35, FixedField = TRUE, export = FALSE, ExpName = NULL )
plotSampleTracks( object, Type = "l", celNum = 35, FixedField = TRUE, export = FALSE, ExpName = NULL )
object |
|
Type |
has to be one of the following: c("p", "l", "b", "o") |
celNum |
A numeric value showing the desired number of cells to be plotted. |
FixedField |
logical(1) Allows generating a plot with fixed field 800um x 800um. Default is TRUE. |
export |
if 'TRUE' (default), exports plot to JPG file "p": Points; "l": Lines; "b": Both; "o": Both "overplotted". |
ExpName |
string, name of the experiment. Can be NULL |
The visualization shows centered trajectories where the starting point of each track is located at the origin of the coordinate system (X=0,Y=0).
A 2D rose-plot showing the tracks of sample cells selected randomly based on the desired number of cells selected by the user.
Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
preProcCellMig <- get(data(preProcCellMig)) plotSampleTracks(preProcCellMig, Type="l", FixedField=TRUE, celNum=5, export=FALSE, ExpName = NULL)
preProcCellMig <- get(data(preProcCellMig)) plotSampleTracks(preProcCellMig, Type="l", FixedField=TRUE, celNum=5, export=FALSE, ExpName = NULL)
Plotting the trajectory data of each cell.
PlotTracksSeparately( object, Type = "l", FixedField = TRUE, export = FALSE, ExpName = NULL )
PlotTracksSeparately( object, Type = "l", FixedField = TRUE, export = FALSE, ExpName = NULL )
object |
|
Type |
has to be one of the following: [p, l, b, o] "p": Points "l": Lines "b": Both "o": Both "overplotted" |
FixedField |
logical(1) Allows generating individual plots with fixed field. Default is TRUE. |
export |
if 'TRUE' (default), exports plot to JPG file |
ExpName |
string, name of the experiment. Can be NULL |
The visualization shows centered trajectories where the starting point of each track is located at the origin of the coordinate system (X=0,Y=0).
2D rose-plots of the cells' track Separately.
Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
rmTD <- get(data(preProcCellMig)) PlotTracksSeparately(rmTD,Type="b", FixedField=FALSE, export = FALSE)
rmTD <- get(data(preProcCellMig)) PlotTracksSeparately(rmTD,Type="b", FixedField=FALSE, export = FALSE)
This function allows preprocessing of the trajectory data from random migration (RM) experiments.
rmPreProcessing( object, PixelSize = 1.24, TimeInterval = 10, FrameN = NULL, ExpName = NULL )
rmPreProcessing( object, PixelSize = 1.24, TimeInterval = 10, FrameN = NULL, ExpName = NULL )
object |
|
PixelSize |
A numeric value of the physical size of a pixel. Default is 1.24. |
TimeInterval |
A numeric value of the time elapsed between successive frames in the time-lapse stack. Default is 10 min. |
FrameN |
A numeric value of the number of frames. Default is NULL |
ExpName |
string, name of the experiment. Can be NULL |
An CellMig class object with preprocessed data.
Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
TrajectoryDataset <- get(data(TrajectoryDataset)) rmDF=TrajectoryDataset[seq(1,40,by=1),] rmTD <- CellMig(rmDF) rmTD <- rmPreProcessing(rmTD, FrameN=30)
TrajectoryDataset <- get(data(TrajectoryDataset)) rmDF=TrajectoryDataset[seq(1,40,by=1),] rmTD <- CellMig(rmDF) rmTD <- rmPreProcessing(rmTD, FrameN=30)
Set Analytic Params of a trackedCells
object.
setAnalyticParams(x, params) ## S4 method for signature 'trackedCells,list' setAnalyticParams(x, params)
setAnalyticParams(x, params) ## S4 method for signature 'trackedCells,list' setAnalyticParams(x, params)
x |
a |
params |
a list including all params |
a trackedCells object
data("TrackCellsDataset") setAnalyticParams(TrackCellsDataset, list())
data("TrackCellsDataset") setAnalyticParams(TrackCellsDataset, list())
Set Data of a slot in a CellMig
object.
setCellMigSlot(x, slot, value) ## S4 method for signature 'CellMig,character' setCellMigSlot(x, slot, value)
setCellMigSlot(x, slot, value) ## S4 method for signature 'CellMig,character' setCellMigSlot(x, slot, value)
x |
a |
slot |
string pointing to the slot to be updated |
value |
ANY value to be written |
a CellMig object
data("TrajectoryDataset") x <- CellMig(TrajectoryDataset) setCellMigSlot(x, "cellpos", c(1, 2, 3))
data("TrajectoryDataset") x <- CellMig(TrajectoryDataset) setCellMigSlot(x, "cellpos", c(1, 2, 3))
Write/Replace MetaData of a trackedCells object
setCellsMeta(tc_obj, experiment = NULL, condition = NULL, replicate = NULL)
setCellsMeta(tc_obj, experiment = NULL, condition = NULL, replicate = NULL)
tc_obj |
a |
experiment |
string, a label to describe the experiment (optional). Can be NULL |
condition |
string, a label to describe the experimental condition (optional). Can be NULL |
replicate |
string, a label to identify the replicate (optional). Can be NULL |
a list including three items: experiment name, condition label, and replicate ID.
Damiano Fantini, [email protected]
https://www.data-pulse.com/dev_site/cellmigration/ https://www.mathworks.com/matlabcentral/fileexchange/60349-fasttracks
x0 <- get(data(TrackCellsDataset)) x0 <- setCellsMeta(x0, experiment = "my_exp_01", condition = "DMSO") getCellsMeta(x0)
x0 <- get(data(TrackCellsDataset)) x0 <- setCellsMeta(x0, experiment = "my_exp_01", condition = "DMSO") getCellsMeta(x0)
Set Tracks of a trackedCells
object.
setCellTracks(x, tracks) ## S4 method for signature 'trackedCells,matrix' setCellTracks(x, tracks)
setCellTracks(x, tracks) ## S4 method for signature 'trackedCells,matrix' setCellTracks(x, tracks)
x |
a |
tracks |
a matrix including all cell tracks |
a trackedCells object
data("TrackCellsDataset") setCellTracks(TrackCellsDataset, matrix())
data("TrackCellsDataset") setCellTracks(TrackCellsDataset, matrix())
Set Experiment Name of a CellMig
object.
setExpName(x, ExpName) ## S4 method for signature 'CellMig,character' setExpName(x, ExpName)
setExpName(x, ExpName) ## S4 method for signature 'CellMig,character' setExpName(x, ExpName)
x |
a |
ExpName |
string corresponding to the ExpName |
a CellMig object
data("TrajectoryDataset") x <- CellMig(TrajectoryDataset) setExpName(x, "My Fav Experiment")
data("TrajectoryDataset") x <- CellMig(TrajectoryDataset) setExpName(x, "My Fav Experiment")
Set Optimized Params of a trackedCells
object.
setOptimizedParams(x, auto_params, results) ## S4 method for signature 'trackedCells' setOptimizedParams(x, auto_params, results)
setOptimizedParams(x, auto_params, results) ## S4 method for signature 'trackedCells' setOptimizedParams(x, auto_params, results)
x |
a |
auto_params |
automatically selected parameters |
results |
optimization analysis results |
a trackedCells object
data("TrackCellsDataset") setOptimizedParams( TrackCellsDataset, auto_params = list(lnoise = 6, diameter = 20, threshold = 10), results = list())
data("TrackCellsDataset") setOptimizedParams( TrackCellsDataset, auto_params = list(lnoise = 6, diameter = 20, threshold = 10), results = list())
Set Processed Images of a trackedCells
object.
setProcessedImages(x, procImages) ## S4 method for signature 'trackedCells,list' setProcessedImages(x, procImages)
setProcessedImages(x, procImages) ## S4 method for signature 'trackedCells,list' setProcessedImages(x, procImages)
x |
a |
procImages |
a list including all metadata |
a trackedCells object
data("TrackCellsDataset") prc.im <- getProcessedImages(TrackCellsDataset) setProcessedImages(TrackCellsDataset, prc.im)
data("TrackCellsDataset") prc.im <- getProcessedImages(TrackCellsDataset) setProcessedImages(TrackCellsDataset, prc.im)
Set Operation Status of a trackedCells
object.
setProcessingStatus(x, slot, value) ## S4 method for signature 'trackedCells,character,numeric' setProcessingStatus(x, slot, value)
setProcessingStatus(x, slot, value) ## S4 method for signature 'trackedCells,character,numeric' setProcessingStatus(x, slot, value)
x |
a |
slot |
string pointing to the slot to be updated |
value |
numeric value to be written |
a trackedCells object
data("TrackCellsDataset") setProcessingStatus(TrackCellsDataset, slot="optimized_params", value=0)
data("TrackCellsDataset") setProcessingStatus(TrackCellsDataset, slot="optimized_params", value=0)
Set Metadata of a trackedCells
object.
setTrackedCellsMeta(x, meta) ## S4 method for signature 'trackedCells,list' setTrackedCellsMeta(x, meta)
setTrackedCellsMeta(x, meta) ## S4 method for signature 'trackedCells,list' setTrackedCellsMeta(x, meta)
x |
a |
meta |
a list including all metadata |
a trackedCells object
data("TrackCellsDataset") meta <- getCellTrackMeta(TrackCellsDataset) meta[["condition"]] <- "DEMO N.2" setTrackedCellsMeta(TrackCellsDataset, meta = meta)
data("TrackCellsDataset") meta <- getCellTrackMeta(TrackCellsDataset) meta[["condition"]] <- "DEMO N.2" setTrackedCellsMeta(TrackCellsDataset, meta = meta)
Set Centroids of a trackedCells
object.
setTrackedCentroids(x, centroids) ## S4 method for signature 'trackedCells,list' setTrackedCentroids(x, centroids)
setTrackedCentroids(x, centroids) ## S4 method for signature 'trackedCells,list' setTrackedCentroids(x, centroids)
x |
a |
centroids |
a list including all metadata |
a trackedCells object
data("TrackCellsDataset") setTrackedCentroids(TrackCellsDataset, list())
data("TrackCellsDataset") setTrackedCentroids(TrackCellsDataset, list())
Set positions of a trackedCells
object.
setTrackedPositions(x, positions) ## S4 method for signature 'trackedCells,data.frame' setTrackedPositions(x, positions)
setTrackedPositions(x, positions) ## S4 method for signature 'trackedCells,data.frame' setTrackedPositions(x, positions)
x |
a |
positions |
a data.frame including all positions |
a trackedCells object
data("TrackCellsDataset") setTrackedPositions(TrackCellsDataset, data.frame())
data("TrackCellsDataset") setTrackedPositions(TrackCellsDataset, data.frame())
Set Tracking Statistics of a trackedCells
object.
setTrackingStats(x, population, cells) ## S4 method for signature 'trackedCells' setTrackingStats(x, population, cells)
setTrackingStats(x, population, cells) ## S4 method for signature 'trackedCells' setTrackingStats(x, population, cells)
x |
a |
population |
population-level statistics |
cells |
cell-level statistics |
a trackedCells object
data("TrackCellsDataset") cel.sts <- getCellsStats(TrackCellsDataset) pop.sts <- getPopulationStats(TrackCellsDataset) setTrackingStats(TrackCellsDataset, pop.sts, cel.sts)
data("TrackCellsDataset") cel.sts <- getCellsStats(TrackCellsDataset) pop.sts <- getPopulationStats(TrackCellsDataset) setTrackingStats(TrackCellsDataset, pop.sts, cel.sts)
An S4 class to represent a set of cells whose movements were tracked over time.
## S4 method for signature 'trackedCells' initialize(.Object, x)
## S4 method for signature 'trackedCells' initialize(.Object, x)
.Object |
the trackedCells object being built |
x |
imported TIFF image data |
An S4-class object
a trackedCells object
images
is a list of imported images
proc_images
is a list of processed images
ops
is a list keeping track of the operations executed on the object
optimized
is a list including results of the params auto-optimization (optional)
centroids
is a list of detected centroids
positions
is a data.frame of cell positions across stacks
tracks
is a numeric matrix of cell tracks
params
is a list of parameters used for the analysis
stats
is a list of stats computed for the cell tracks
metadata
is a list including labels about the image, and the experiment
Damiano Fantini [email protected]
A dataset containing the coordinates and the ID of 350 cells from a dense random migration experiment
data(TrajectoryDataset)
data(TrajectoryDataset)
A data frame with 50216 rows and 4 columns
BT549 cell trajectories were computed using cellmigRation. Imaging experiments were performed as described by Ghannoum S et al (paper in preparation). Briefly, triple negative breast cancer BT549 cells were cultured in RPMI supplemented with 10 and 1 NucLight green lentivirus (Essen BioScience), and then sorted by fluorescence-activated cell sorting (FACS). GFP-positive cells were seeded at a 1:3 ratio with untransduced BT549 cells in 96-well image-lock plates (EssenBio) at a density of 1000 total cells per well. Once cells reached the desired density, they were scanned at ten-minute intervals over 24h using an Incucyte S3 Live-Cell microscope (EssenBio) at 10x magnification and a Basler Ace 1920-155um camera with CMOS sensor. TIFF images were imported and processed using the cellmigRation library.
data(TrajectoryDataset)
data(TrajectoryDataset)
The VeAutoCor function automatically compute the changes in both speed and direction across several sequantial time intervals.
VeAutoCor( object, TimeInterval = 10, sLAG = 0.25, sPLOT = TRUE, aPLOT = TRUE, export = FALSE, ExpName = NULL )
VeAutoCor( object, TimeInterval = 10, sLAG = 0.25, sPLOT = TRUE, aPLOT = TRUE, export = FALSE, ExpName = NULL )
object |
|
TimeInterval |
A numeric value of the time elapsed between successive frames in the time-lapse stack. |
sLAG |
A numeric value to be used to get the number of lags for the slope fitting. Default is 0.25, which represents 25 percent of the steps. |
sPLOT |
A logical vector that allows generating individual plots showing the velocity across several sequantial time intervals. Default is TRUE. |
aPLOT |
A logical vector that allows generating a plot showing the velocity across several sequantial time intervals of all cells. Default is TRUE. |
export |
if 'TRUE' (default), exports function output to CSV file |
ExpName |
string, name of the experiment. Can be NULL |
Plots and a data frame, which contains six rows: "Cell Number", "Velocity AutoCorrelation (lag=1)", "2nd normalized Velocity AutoCorrelation", "Intercept of VA quadratic model", "Mean Velocity AutoCorrelation (all lags)", "Mean |Acceleration|" and "Average Speed".
Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
data(TrajectoryDataset) rmDF=TrajectoryDataset[1:300,] rmTD <- CellMig(rmDF) rmTD <- rmPreProcessing(rmTD,FrameN=55) rmTD <- VeAutoCor(rmTD, TimeInterval=10, sLAG=0.25, sPLOT=FALSE, aPLOT=FALSE, export=FALSE)
data(TrajectoryDataset) rmDF=TrajectoryDataset[1:300,] rmTD <- CellMig(rmDF) rmTD <- rmPreProcessing(rmTD,FrameN=55) rmTD <- VeAutoCor(rmTD, TimeInterval=10, sLAG=0.25, sPLOT=FALSE, aPLOT=FALSE, export=FALSE)
Visualize Cell Tracks that originated at an Image Stack of interest
visualizeCellTracks( tc_obj, stack = 1, pnt.cex = 1.2, lwd = 1.6, col = "red2", col.untracked = "gray45", main = NULL )
visualizeCellTracks( tc_obj, stack = 1, pnt.cex = 1.2, lwd = 1.6, col = "red2", col.untracked = "gray45", main = NULL )
tc_obj |
a trackedCells object |
stack |
index of the stack |
pnt.cex |
cex of the point drawn around each cell |
lwd |
width of the lines visualizing cell tracks |
col |
color of the points and the tracks, e.g.: "red2" |
col.untracked |
color of the points that were not tracked further, e.g.: "gray45" |
main |
string used as plot title, can be NULL |
None
Damiano Fantini, [email protected]
https://www.data-pulse.com/dev_site/cellmigration/ https://www.mathworks.com/matlabcentral/fileexchange/60349-fasttracks
x <- get(data(TrackCellsDataset)) visualizeCellTracks(tc_obj = x, stack = 2)
x <- get(data(TrackCellsDataset)) visualizeCellTracks(tc_obj = x, stack = 2)
Visualize objects that were identified as cells in a given image stack
VisualizeStackCentroids( tc_obj, stack = 1, pnt.cex = 1.2, txt.cex = 0.9, offset = 0.18, main = NULL )
VisualizeStackCentroids( tc_obj, stack = 1, pnt.cex = 1.2, txt.cex = 0.9, offset = 0.18, main = NULL )
tc_obj |
a |
stack |
index of the image stack to use |
pnt.cex |
cex of the points drawn around cells |
txt.cex |
cex of the text used to annotate cells |
offset |
offset value for the annotation |
main |
string used for the plot title, can be NULL= NULL |
None
Damiano Fantini, [email protected]
https://www.data-pulse.com/dev_site/cellmigration/ https://www.mathworks.com/matlabcentral/fileexchange/60349-fasttracks
# Representative output x <- get(data(TrackCellsDataset)) VisualizeStackCentroids(tc_obj = x, stack = 2, pnt.cex = 5, offset = 1.3)
# Representative output x <- get(data(TrackCellsDataset)) VisualizeStackCentroids(tc_obj = x, stack = 2, pnt.cex = 5, offset = 1.3)
This function allows filtering of cells and preprocessing of the trajectory data from wound scratch assay (WSA) experiments.
wsaPreProcessing( object, PixelSize = 1.24, TimeInterval = 10, FrameN = NULL, imageH = 1500, woundH = 600, upperE = 400, lowerE = 1000, mar = 75, clearW = TRUE, ExpName = NULL )
wsaPreProcessing( object, PixelSize = 1.24, TimeInterval = 10, FrameN = NULL, imageH = 1500, woundH = 600, upperE = 400, lowerE = 1000, mar = 75, clearW = TRUE, ExpName = NULL )
object |
|
PixelSize |
A numeric value of the physical size of a pixel. |
TimeInterval |
A numeric value of the time elapsed between successive frames in the time-lapse stack. |
FrameN |
A numeric value of the number of frames. Default is NULL |
imageH |
A numeric value of the image height. |
woundH |
A numeric value of the image height. |
upperE |
A numeric value of the upper edge of the wound. |
lowerE |
A numeric value of the lower edge of the wound. |
mar |
A numeric value of the margin to be used to narrow the clearing zone inside the zone. |
clearW |
A logical vector that allows removing the cells within the wound. Default is TRUE. |
ExpName |
string, name of the experiment. Can be NULL |
An CellMig class object with filtered, annotated and preprocessed data.
Salim Ghannoum [email protected]
https://www.data-pulse.com/dev_site/cellmigration/
WSADataset <- get(data(WSADataset)) wasDF=WSADataset[seq(1,30,by=1),] wsaTD <- CellMig(wasDF) wsaTD <- wsaPreProcessing(wsaTD,FrameN=20)
WSADataset <- get(data(WSADataset)) wasDF=WSADataset[seq(1,30,by=1),] wsaTD <- CellMig(wasDF) wsaTD <- wsaPreProcessing(wsaTD,FrameN=20)