@ALDAOperator(genericExecutionMode=ALL,
level=APPLICATION,
allowBatchMode=false,
shortDescription="Operator for segmenting, tracking and analyzing 2D image sequences of fluorescently labeled cells.")
public class CellMigrationAnalyzer
extends MTBOperator
| Modifier and Type | Field and Description |
|---|---|
private Boolean |
analyzeIntensities |
private Boolean |
analyzeShapes |
private Boolean |
analyzeTrajectories |
private Double |
avgFactor |
private Double |
deltaT |
private Double |
deltaX |
private Double |
deltaY |
private Integer |
detectionChannel |
private Double |
gamma |
private Boolean |
include |
private MTBImage |
inImg |
private String |
intReport |
private MTBImage |
labelResult |
private Integer |
maskChannel |
private Double |
maxAreaChange |
private Double |
maxDist |
private Integer |
maxIter |
private Integer |
minArea |
private Integer |
minSeedSize |
private Integer |
minTrackLength |
private Boolean |
removeBorderObjects |
private Boolean |
removeExcluded |
private MTBImage |
segmentationResult |
private String |
shapeReport |
private Boolean |
showOverlayImage |
private Boolean |
showTrajectoryMap |
private Integer |
sigma |
private String |
trackReport |
private String |
unitT |
private String |
unitXY |
private Boolean |
useAutoDistance |
private Boolean |
useMask |
| Constructor and Description |
|---|
CellMigrationAnalyzer() |
CellMigrationAnalyzer(MTBImage img) |
| Modifier and Type | Method and Description |
|---|---|
private void |
getCalibration() |
String |
getDocumentation() |
protected void |
operate() |
private void |
showMaskChannelTextbox() |
private void |
showMaxDistTextbox() |
readResolveaddOperatorExecutionProgressEventListener, addParameter, addParameter, addParameterUnconditioned, fieldContained, fireOperatorExecutionProgressEvent, getALDPortHashAccessKey, getConstructionMode, getHidingMode, getInactiveParameterNames, getInInoutNames, getInInoutNames, getInNames, getInOutNames, getMissingRequiredInputs, getName, getNumParameters, getOutInoutNames, getOutNames, getParameter, getParameterDescriptor, getParameterDescriptorUnconditioned, getParameterNames, getParameterUnconditioned, getSupplementalNames, getVerbose, getVersion, handleOperatorExecutionProgressEvent, hasInOutParameters, hasParameter, isAnnotatedParameter, isConfigured, print, print, print, printInterface, printInterface, readHistory, reinitializeParameterDescriptors, removeOperatorExecutionProgressEventListener, removeParameter, runOp, runOp, runOp, setConstructionMode, setConstructionMode, setConstructionMode, setHidingMode, setName, setParameter, setParameterUnconditioned, setVerbose, toStringVerbose, unconfiguredItems, validate, validateCustom, validateGeneric, writeHistory, writeHistory, writeHistory@Parameter(label="input image",
required=true,
direction=IN,
supplemental=false,
description="input image",
dataIOOrder=0,
callback="getCalibration",
paramModificationMode=MODIFIES_INTERFACE)
private transient MTBImage inImg
@Parameter(label="detection channel",
required=true,
direction=IN,
supplemental=false,
description="detection channel",
dataIOOrder=1)
private Integer detectionChannel
@Parameter(label="minimum seed size",
required=false,
direction=IN,
supplemental=false,
description="minimum size for seeds to be not discarded",
dataIOOrder=2,
mode=ADVANCED)
private Integer minSeedSize
@Parameter(label="\u03c3",
required=false,
direction=IN,
supplemental=false,
description="standard deviation of Gaussian filter mask",
dataIOOrder=3)
private Integer sigma
@Parameter(label=" \u03b3",
required=false,
direction=IN,
supplemental=false,
description="value for \u03b3-correction for emphasizing cells",
dataIOOrder=4)
private Double gamma
@Parameter(label="maximum number of iterations",
required=false,
direction=IN,
supplemental=false,
description="maximum number of iterations for level set evolution",
dataIOOrder=5,
mode=ADVANCED)
private Integer maxIter
@Parameter(label="use mask channel",
required=false,
direction=IN,
supplemental=false,
description="use mask channel",
dataIOOrder=6,
mode=ADVANCED,
callback="showMaskChannelTextbox",
paramModificationMode=MODIFIES_INTERFACE)
private Boolean useMask
@Parameter(label="mask channel",
required=false,
direction=IN,
supplemental=false,
description="mask channel",
dataIOOrder=7,
mode=ADVANCED)
private Integer maskChannel
@Parameter(label="include bright objects from mask",
required=false,
direction=IN,
supplemental=false,
description="include tracks that have sufficient signals in mask image (otherwise these tracks are excluded)",
dataIOOrder=8,
mode=ADVANCED)
private Boolean include
@Parameter(label="average factor",
required=false,
direction=IN,
supplemental=false,
description="object\'s mean intensity must be at least mean image intensity multiplied with this factor to be included/ excluded",
dataIOOrder=9,
mode=ADVANCED)
private Double avgFactor
@Parameter(label="remove border touching objects",
required=false,
direction=IN,
supplemental=false,
description="should border touching objects be removed",
dataIOOrder=10,
mode=ADVANCED)
private Boolean removeBorderObjects
@Parameter(label="minimum area (pixels)",
required=false,
direction=IN,
supplemental=false,
description="minimum area (number of pixels) an object should have",
dataIOOrder=11)
private Integer minArea
@Parameter(label="determine gating distance automatically",
required=false,
direction=IN,
supplemental=false,
description="determine gating distance automatically",
dataIOOrder=12,
mode=ADVANCED,
callback="showMaxDistTextbox",
paramModificationMode=MODIFIES_INTERFACE)
private Boolean useAutoDistance
@Parameter(label="maximum distance (pixels)",
required=false,
direction=IN,
supplemental=false,
description="maximum distance for two objects to be assigned to each other",
dataIOOrder=13,
mode=ADVANCED)
private Double maxDist
@Parameter(label="maximum area change",
required=false,
direction=IN,
supplemental=false,
description="maximum change in area (fraction) for two objects to be assigned to each other",
dataIOOrder=14)
private Double maxAreaChange
@Parameter(label="pixel length, x-direction",
required=false,
direction=IN,
supplemental=false,
description="pixel length in x-direction",
dataIOOrder=15)
private Double deltaX
@Parameter(label="pixel length, y-direction",
required=false,
direction=IN,
supplemental=false,
description="pixel length in y-direction",
dataIOOrder=16)
private Double deltaY
@Parameter(label="unit space",
required=false,
direction=IN,
supplemental=false,
description="unit x/y",
dataIOOrder=17)
private String unitXY
@Parameter(label="time between frames",
required=false,
direction=IN,
supplemental=false,
description="time between frames",
dataIOOrder=18)
private Double deltaT
@Parameter(label="unit time",
required=false,
direction=IN,
supplemental=false,
description="unit time",
dataIOOrder=19)
private String unitT
@Parameter(label="minimum track length",
required=false,
direction=IN,
supplemental=false,
description="minimum track length to be considered",
dataIOOrder=20)
private Integer minTrackLength
@Parameter(label="analyze trajectories",
required=false,
direction=IN,
supplemental=false,
description="should the objects\' trajectories be analyzed",
dataIOOrder=21)
private Boolean analyzeTrajectories
@Parameter(label="analyze shapes",
required=false,
direction=IN,
supplemental=false,
description="should the objects\' shapes be analyzed",
dataIOOrder=22)
private Boolean analyzeShapes
@Parameter(label="analyze intensities",
required=false,
direction=IN,
supplemental=false,
description="should the objects\' intensities be analyzed",
dataIOOrder=23)
private Boolean analyzeIntensities
@Parameter(label="show trajectory map",
required=false,
direction=IN,
supplemental=false,
description="should a 2D map of the extracted trajectories be shown",
dataIOOrder=24)
private Boolean showTrajectoryMap
@Parameter(label="show overlay image",
required=false,
direction=IN,
supplemental=false,
description="should the extracted trajectories be shown overlayed on the cells",
dataIOOrder=25)
private Boolean showOverlayImage
@Parameter(label="remove excluded objects",
required=false,
direction=IN,
supplemental=false,
description="should objects that weren\'t analyzed be removed from the label image",
dataIOOrder=26)
private Boolean removeExcluded
private transient MTBImage segmentationResult
@Parameter(label="label result",
required=true,
direction=OUT,
supplemental=false,
description="resulting label image")
private transient MTBImage labelResult
@Parameter(label="track report",
required=true,
direction=OUT,
supplemental=false,
description="track report")
private String trackReport
@Parameter(label="shape report",
required=true,
direction=OUT,
supplemental=false,
description="shape report")
private String shapeReport
@Parameter(label="intensity report",
required=true,
direction=OUT,
supplemental=false,
description="intensity report")
private String intReport
public CellMigrationAnalyzer()
throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDOperatorExceptionpublic CellMigrationAnalyzer(MTBImage img) throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDOperatorExceptionprotected void operate()
throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException,
de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
operate in class de.unihalle.informatik.Alida.operator.ALDOperatorde.unihalle.informatik.Alida.exceptions.ALDOperatorExceptionde.unihalle.informatik.Alida.exceptions.ALDProcessingDAGExceptionprivate void getCalibration()
private void showMaskChannelTextbox()
private void showMaxDistTextbox()
public String getDocumentation()
getDocumentation in class de.unihalle.informatik.Alida.operator.ALDOperatorCopyright © 2010–2020 Martin Luther University Halle-Wittenberg, Institute of Computer Science, Pattern Recognition and Bioinformatics. All rights reserved.