de.unihalle.informatik.MiToBo.apps.nuclei2D
Class NuclearParticleDetector2D

java.lang.Object
  extended by de.unihalle.informatik.Alida.operator.ALDOperator
      extended by de.unihalle.informatik.MiToBo.core.operator.MTBOperator
          extended by de.unihalle.informatik.MiToBo.apps.nuclei2D.NuclearParticleDetector2D
All Implemented Interfaces:
de.unihalle.informatik.Alida.datatypes.ALDConfigurationValidator, de.unihalle.informatik.Alida.operator.events.ALDOperatorExecutionProgressEventListener, EventListener

@ALDAOperator(genericExecutionMode=ALL,
              level=APPLICATION,
              allowBatchMode=true)
@ALDMetaInfo(export=MANDATORY)
public class NuclearParticleDetector2D
extends MTBOperator

 
 This class detects nuclei and particles inside these nuclei and gives some
 statistics about particles, like particle number per nuclei, particle size,
 sum of intensities, etc.
 Nuclei are detected via the NucleusDetector2D by using the Niblack
 thresholding. As post-process the nuclei channel is gamma corrected and filter
 with a small gaussian, due to uneven illumination of the nuclei in the images.
 This may depends on the input image data and can be switched off separately.
 Particles are detected via the ParticleDetectorUWT2D.

Author:
Danny Misiak
See Also:
NucleusDetector2D, ParticleDetectorUWT2D

Nested Class Summary
 
Nested classes/interfaces inherited from class de.unihalle.informatik.Alida.operator.ALDOperator
de.unihalle.informatik.Alida.operator.ALDOperator.HidingMode
 
Field Summary
protected  Boolean correctGamma
           
protected  Boolean filterImage
           
protected  Double gamma
           
 
Fields inherited from class de.unihalle.informatik.Alida.operator.ALDOperator
completeDAG, name, operatorExecutionEventlistenerList, portHashAccess, verbose, versionProvider
 
Constructor Summary
NuclearParticleDetector2D()
          Standard constructor.
NuclearParticleDetector2D(MTBImageByte _inputImage, Integer _nucChannel, Integer _partChannel, Boolean _correctGamma, Double _gamma, Boolean _filterImage, NucleusDetector2D _nucDetector, ParticleDetectorUWT2D _partDetector)
           
 
Method Summary
 Boolean getCorrectGamma()
          Get flag to use gamma correction.
 Boolean getFilterImage()
          Get flag to use gaussian filter.
 Double getGamma()
          Get gamma correction value.
 MTBImage getInputImage()
          Get input image.
 NucleusDetector2D getNucDetector()
          Get detector for nuclei.
 Integer getNucleiChannel()
          Get nuclei channel number.
 MTBRegion2DSet getNucleiRegions()
          Get detected nuclei regions.
 Integer getPartChannel()
          Get particle channel number.
 ParticleDetectorUWT2D getPartDetector()
          Get detector for particles.
 MTBRegion2DSet getParticleRegions()
          Get detected particle regions.
 MTBTableModel getResultTable()
          Get particle statistics.
protected  void operate()
           
 void setCorrectGamma(Boolean _correctGamma)
          Set flag to use gamma correction.
 void setFilterImage(Boolean _filterImage)
          Set flag to use gaussian filter.
 void setGamma(Double _gamma)
          Set gamma correction value.
 void setInputImage(MTBImageByte _inputImage)
          Set input image.
 void setNucDetector(NucleusDetector2D _nucDetector)
          Set detector for nuclei.
 void setNucleiChannel(Integer _nucChannel)
          Set nuclei channel number.
 void setPartChannel(Integer _partChannel)
          Set particle channel number.
 void setPartDetector(ParticleDetectorUWT2D _partDetector)
          Set detector for particles.
 void validateCustom()
          Custom validation of some input parameters.
 
Methods inherited from class de.unihalle.informatik.MiToBo.core.operator.MTBOperator
readResolve
 
Methods inherited from class de.unihalle.informatik.Alida.operator.ALDOperator
addOperatorExecutionProgressEventListener, fieldContained, fireOperatorExecutionProgressEvent, getALDPortHashAccessKey, getConstructionMode, getHidingMode, getInInoutNames, getInInoutNames, getInNames, getInOutNames, getMissingRequiredInputs, getName, getNumParameters, getOutInoutNames, getOutNames, getParameter, getParameterDescriptor, getParameterNames, getSupplementalNames, getVerbose, getVersion, handleOperatorExecutionProgressEvent, isConfigured, print, print, print, printInterface, printInterface, readHistory, reinitializeParameterDescriptors, removeOperatorExecutionProgressEventListener, runOp, runOp, runOp, setConstructionMode, setHidingMode, setName, setParameter, setVerbose, toStringVerbose, unconfiguredItems, validate, validateGeneric, writeHistory, writeHistory, writeHistory
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

correctGamma

@Parameter(label="Use Gamma Correction",
           required=true,
           direction=IN,
           description="Flag to use gamma correction.",
           mode=ADVANCED,
           dataIOOrder=3)
protected Boolean correctGamma

gamma

@Parameter(label="Gamma Value",
           required=true,
           direction=IN,
           description="Gamma correction value.",
           mode=ADVANCED,
           dataIOOrder=4)
protected Double gamma

filterImage

@Parameter(label="Use Gaussian Filter",
           required=true,
           direction=IN,
           description="Flag to use gaussian filter.",
           mode=ADVANCED,
           dataIOOrder=5)
protected Boolean filterImage
Constructor Detail

NuclearParticleDetector2D

public NuclearParticleDetector2D()
                          throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Standard constructor.

Throws:
de.unihalle.informatik.Alida.exceptions.ALDOperatorException

NuclearParticleDetector2D

public NuclearParticleDetector2D(MTBImageByte _inputImage,
                                 Integer _nucChannel,
                                 Integer _partChannel,
                                 Boolean _correctGamma,
                                 Double _gamma,
                                 Boolean _filterImage,
                                 NucleusDetector2D _nucDetector,
                                 ParticleDetectorUWT2D _partDetector)
                          throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Parameters:
_inputImage - input image
_nucChannel - channel number of nuclei stain
_partChannel - channel number of particle stain
_correctGamma - flag to use gamma correction
_gamma - gamma correction value
_filterImage - flag to use gaussian filter
_nucDetector - detector for nuclei
_partDetector - detector for particles
Throws:
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Method Detail

validateCustom

public void validateCustom()
                    throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Custom validation of some input parameters.

Overrides:
validateCustom in class de.unihalle.informatik.Alida.operator.ALDOperator
Throws:
de.unihalle.informatik.Alida.exceptions.ALDOperatorException

getInputImage

public MTBImage getInputImage()
Get input image.


setInputImage

public void setInputImage(MTBImageByte _inputImage)
Set input image.


getNucleiChannel

public Integer getNucleiChannel()
Get nuclei channel number.


setNucleiChannel

public void setNucleiChannel(Integer _nucChannel)
Set nuclei channel number.


getPartChannel

public Integer getPartChannel()
Get particle channel number.


setPartChannel

public void setPartChannel(Integer _partChannel)
Set particle channel number.


getCorrectGamma

public Boolean getCorrectGamma()
Get flag to use gamma correction.


setCorrectGamma

public void setCorrectGamma(Boolean _correctGamma)
Set flag to use gamma correction.


getGamma

public Double getGamma()
Get gamma correction value.


setGamma

public void setGamma(Double _gamma)
Set gamma correction value.


getFilterImage

public Boolean getFilterImage()
Get flag to use gaussian filter.


setFilterImage

public void setFilterImage(Boolean _filterImage)
Set flag to use gaussian filter.


getNucDetector

public NucleusDetector2D getNucDetector()
Get detector for nuclei.


setNucDetector

public void setNucDetector(NucleusDetector2D _nucDetector)
Set detector for nuclei.


getPartDetector

public ParticleDetectorUWT2D getPartDetector()
Get detector for particles.


setPartDetector

public void setPartDetector(ParticleDetectorUWT2D _partDetector)
Set detector for particles.


getNucleiRegions

public MTBRegion2DSet getNucleiRegions()
Get detected nuclei regions.


getParticleRegions

public MTBRegion2DSet getParticleRegions()
Get detected particle regions.


getResultTable

public MTBTableModel getResultTable()
Get particle statistics.


operate

protected void operate()
                throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException,
                       de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
Specified by:
operate in class de.unihalle.informatik.Alida.operator.ALDOperator
Throws:
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException


Copyright © 2010–2015 Martin Luther University Halle-Wittenberg. All rights reserved.