@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() |
readResolve
addOperatorExecutionProgressEventListener, 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.ALDOperatorException
public CellMigrationAnalyzer(MTBImage img) throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
protected void operate() throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException, de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
operate
in class de.unihalle.informatik.Alida.operator.ALDOperator
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
private void getCalibration()
private void showMaskChannelTextbox()
private void showMaxDistTextbox()
public String getDocumentation()
getDocumentation
in class de.unihalle.informatik.Alida.operator.ALDOperator
Copyright © 2010–2020 Martin Luther University Halle-Wittenberg, Institute of Computer Science, Pattern Recognition and Bioinformatics. All rights reserved.