@ALDAOperator(genericExecutionMode=ALL,
level=APPLICATION)
public class MultiChannelParticleAnalyzer2D
extends MTBOperator
This operator allows to configure a particle detector for each channel of the image separately. If a proper nucleus channel is given that one is skipped. The first detector in the vector of detectors is applied to the first non-nucleus channel, the second to the second, etc. It is important that for all channels to be processed detectors are provided.
| Modifier and Type | Class and Description |
|---|---|
static class |
MultiChannelParticleAnalyzer2D.ResultImageMode
Display mode of the result image.
|
| Modifier and Type | Field and Description |
|---|---|
private MTBImageByte |
excludeMask
Optional mask to exclude particles in certain regions.
|
private int |
height
Height of the processed image.
|
private MTBImage |
inImg
Multi-channel input image to be processed.
|
private SegResultEnums.MeasureUnit |
measureUnits
Units for measurements.
|
private ParticleDetector |
particleDetector_1 |
private ParticleDetector |
particleDetector_2 |
private ParticleDetector |
particleDetector_3 |
private ParticleDetector |
particleDetector_4 |
private ParticleDetector |
particleDetector_5 |
private SegResult_ParticlesMultiChannel |
resultData
Vector of result data objects.
|
private MultiChannelParticleAnalyzer2D.ResultImageMode |
resultDisplayMode
Mode of how to display result image.
|
private MTBImageRGB |
resultImg
Stack with result overlays corresponding to channels.
|
private int |
stackSize
Number of channels in image.
|
private int |
width
Width of the processed image.
|
| Constructor and Description |
|---|
MultiChannelParticleAnalyzer2D()
Empty constructor.
|
MultiChannelParticleAnalyzer2D(MTBImage image,
Vector<ParticleDetector> pOps)
Default constructor.
|
| Modifier and Type | Method and Description |
|---|---|
Vector<ParticleDetector> |
getDetectors()
Get a reference to configured detectors' vector.
|
SegResult_ParticlesMultiChannel |
getResultDataArray()
Returns extracted result data.
|
MTBImageRGB |
getResultImage()
Returns result image, i.e. the segmentation mask.
|
protected void |
operate() |
private void |
prepareResultImage()
Prepare visualization of result data by overlay on input image.
|
private MTBImageRGB |
prepareResultImageStack(Vector<MTBImage> imgvec)
Initialize result image stack.
|
void |
setInputImage(MTBImage img)
Specify input image.
|
void |
setMeasureUnits(SegResultEnums.MeasureUnit mu)
Specify units in which to measure areas.
|
void |
setNucleiMask(MTBImageByte mask)
Specify nuclei mask.
|
readResolveaddOperatorExecutionProgressEventListener, addParameter, addParameter, addParameterUnconditioned, fieldContained, fireOperatorExecutionProgressEvent, getALDPortHashAccessKey, getConstructionMode, getDocumentation, 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,
mode=STANDARD,
direction=IN,
description="Input image.",
dataIOOrder=-20)
private transient MTBImage inImg
@Parameter(label="Result statistics",
direction=OUT,
description="Result data.")
private transient SegResult_ParticlesMultiChannel resultData
@Parameter(label="Particle detector channel 1",
required=false,
direction=IN,
dataIOOrder=-15,
mode=STANDARD,
description="Particle detector operator(s) for channels.")
private ParticleDetector particleDetector_1
@Parameter(label="Particle detector channel 2",
required=false,
direction=IN,
dataIOOrder=-14,
mode=STANDARD,
description="Particle detector operator(s) for channels.")
private ParticleDetector particleDetector_2
@Parameter(label="Particle detector channel 3",
required=false,
direction=IN,
dataIOOrder=-13,
mode=STANDARD,
description="Particle detector operator(s) for channels.")
private ParticleDetector particleDetector_3
@Parameter(label="Particle detector channel 4",
required=false,
direction=IN,
dataIOOrder=-12,
mode=STANDARD,
description="Particle detector operator(s) for channels.")
private ParticleDetector particleDetector_4
@Parameter(label="Particle detector channel 5",
required=false,
direction=IN,
dataIOOrder=-11,
mode=STANDARD,
description="Particle detector operator(s) for channels.")
private ParticleDetector particleDetector_5
@Parameter(label="Region exclude mask",
direction=IN,
mode=ADVANCED,
required=false,
description="Region exclude mask.")
private transient MTBImageByte excludeMask
Particles in exclude regions are ignored if mask is non-null.
@Parameter(label="Measure units",
required=false,
dataIOOrder=20,
mode=ADVANCED,
direction=IN,
description="Units for area measurements.")
private SegResultEnums.MeasureUnit measureUnits
@Parameter(label="Result image",
direction=OUT,
description="Result image",
supplemental=true)
private transient MTBImageRGB resultImg
@Parameter(label="Result image display mode",
required=false,
mode=ADVANCED,
direction=IN,
supplemental=true,
description="Mode how result image is displayed.")
private MultiChannelParticleAnalyzer2D.ResultImageMode resultDisplayMode
private transient int height
private transient int width
private transient int stackSize
public MultiChannelParticleAnalyzer2D()
throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDOperatorExceptionpublic MultiChannelParticleAnalyzer2D(MTBImage image, Vector<ParticleDetector> pOps) throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
image - Image to be processed.pOps - List of detectors.de.unihalle.informatik.Alida.exceptions.ALDOperatorExceptionpublic void setInputImage(MTBImage img)
public void setNucleiMask(MTBImageByte mask)
public void setMeasureUnits(SegResultEnums.MeasureUnit mu)
public SegResult_ParticlesMultiChannel getResultDataArray()
public Vector<ParticleDetector> getDetectors()
public MTBImageRGB getResultImage()
protected 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 prepareResultImage()
private MTBImageRGB prepareResultImageStack(Vector<MTBImage> imgvec)
Transfers result images to a multi-channel RGB image.
Copyright © 2010–2020 Martin Luther University Halle-Wittenberg, Institute of Computer Science, Pattern Recognition and Bioinformatics. All rights reserved.