maskTracks {sojourner} | R Documentation |
apply binary image masks to lists of track lists
maskTracks(folder, trackll) indexCell(folder, trackll, areaFilter = c(0, Inf), intensityFilter = c(0, Inf), export = FALSE, max.pixel = 128) filterOnCell(trackll, numTracks = 0) sampleTracks(trackll, num = 0)
folder |
Full path to the output files. |
trackll |
A list of track lists. |
export |
Logical indicate if .csv output file should be generated |
max.pixel |
Pixel dimension of image |
areaFilter |
Range of cell areas (pixel sq) to keep in filtering |
intensityFilter |
Range of avg cell intensities (grayscale) to keep in filtering |
numTracks |
Minimum number of required tracks in the trackll |
num |
Number of tracks to randomly sample per trackl in trackll |
IMPORTANT: It will take an extremely long time to mask large datasets. Filter/trim first using filterTrack() and trimTrack(), then mask using maskTracks(folder, trackll)! Note the mask file should have the same name as the output files with a '_MASK.tif' ending. If there are more mask files than trackll, masking will fail. If there are less mask files, trackls without masks will be deleted. Users can use plotMask() and plotTrackOverlay() to see the mask and its effect on screening tracks.
indexCell() will mask a trackll, separate each cell into a trackl, display all cell areas and mean intensities, and then apply any area and intensity filters. There is also the capability to export the final areas/intensities as 'indexCell.csv' to the home directory and the pixel dimensions can be changed.
filterOnCell() eliminates all trackl in trackll that has less than numTracks tracks.
sampleTracks() randomly samples num number of tracks for each trackl in trackll.
masked tracks in trackll format
#Basic masking with folder path with image masks folder = system.file('extdata','ImageJ',package='sojourner') trackll = createTrackll(folder=folder, input=3) trackll.masked <- maskTracks(folder = folder, trackll = trackll) #Compare the masking effect plotTrackOverlay(trackll) plotTrackOverlay(trackll.masked) #Plot mask mask.list=list.files(path=folder,pattern='_MASK.tif',full.names=TRUE) plotMask(folder) #If Nuclear image is available plotNucTrackOverlay(folder=folder,trackll=trackll) plotNucTrackOverlay(folder=folder,trackll=trackll.masked) #Plot mask plotMask(folder=folder) # To mask a trackll, separate each cell into a trackl, and apply any # intensity and area filters str(trackll, max.level=1) trackll_indexed = indexCell(folder = folder, trackll = trackll) str(trackll_indexed, max.level=1) # To eliminate all trackl in trackll that has less than numTracks = 5 tracks # In this example, we eliminate all cells less with less than 5 tracks trackll_filterOnCell = filterOnCell(trackll=trackll_indexed, numTracks = 5) str(trackll_filterOnCell, max.level=1) # To randomly sample num = 5 tracks fo each trackl in trackll # In this example, we randomly sample 5 tracks for each cell trackll_sampled = sampleTracks(trackll=trackll_filterOnCell, num=5) str(trackll_sampled, max.level=1)