de.unihalle.informatik.MiToBo.enhance
Class IlluminationCorrection

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.enhance.IlluminationCorrection
All Implemented Interfaces:
de.unihalle.informatik.Alida.datatypes.ALDConfigurationValidator, de.unihalle.informatik.Alida.operator.events.ALDOperatorExecutionProgressEventListener, EventListener

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

 
 This class corrects the uneven illumination (e.g. background gradient) of
 especially gray value bright filed or DIC images.
 The original image is transformed by a morphological closing
 (or an other morphological transformation). The correction of the uneven
 illumination is obtained by dividing the original image by the transformed
 image. This approach works well for DIC images, maybe also for bright field
 or other illumination/contrast based images. Mask size of the structuring
 element should be large to remove the cells or objects but preserve the
 (uneven) illumination function.
 
 
 The approach is adapted from:
 
 author = {Soille, Pierre},
 title = {Morphological Image Analysis: Principles
 and Applications},
 year = {2010},
 isbn = {9783642076961},
 edition = {2},
 pages = {124 -- 126},
 publisher = {Springer Berlin Heidelberg}. 
 
 
 Also other morphological operations can be used instead of the closing
 followed with a division of the images. Approach maybe depends on the image
 data.
 
 Feel free to extend this class!

Author:
Danny Misiak

Nested Class Summary
 
Nested classes/interfaces inherited from class de.unihalle.informatik.Alida.operator.ALDOperator
de.unihalle.informatik.Alida.operator.ALDOperator.HidingMode
 
Field Summary
 
Fields inherited from class de.unihalle.informatik.Alida.operator.ALDOperator
completeDAG, name, operatorExecutionEventlistenerList, portHashAccess, verbose, versionProvider
 
Constructor Summary
IlluminationCorrection()
          Standard constructor.
IlluminationCorrection(MTBImage _inputImage, BasicMorphology _morphOp, MTBImage.MTBImageType _outputType)
          Constructor to create a new IlluminationCorrection object.
 
Method Summary
 MTBImage.MTBImageType getImageType()
          Get output image type.
 MTBImage getInputImage()
          Get uneven illuminated input image.
 BasicMorphology getMorphOp()
          Get morphological operation for illumination correction, default is closing.
 MTBImage getResultImage()
          Get illumination corrected result image.
protected  void operate()
           
 void setImageType(MTBImage.MTBImageType _outputType)
          Set output image type.
 void setInputImage(MTBImage _inputImage)
          Set uneven illuminated input image.
 void setMorphOp(BasicMorphology _morphOp)
          Set morphological operation for illumination correction, default is closing.
 
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, validateCustom, validateGeneric, writeHistory, writeHistory, writeHistory
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IlluminationCorrection

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

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

IlluminationCorrection

public IlluminationCorrection(MTBImage _inputImage,
                              BasicMorphology _morphOp,
                              MTBImage.MTBImageType _outputType)
                       throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Constructor to create a new IlluminationCorrection object.

Parameters:
image - uneven illuminated input image
operator - morphological operator for correction, e.g. closing
type - MTBImageType of illumination corrected output image
Throws:
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Method Detail

getInputImage

public MTBImage getInputImage()
Get uneven illuminated input image.


setInputImage

public void setInputImage(MTBImage _inputImage)
Set uneven illuminated input image.


getMorphOp

public BasicMorphology getMorphOp()
Get morphological operation for illumination correction, default is closing.


setMorphOp

public void setMorphOp(BasicMorphology _morphOp)
Set morphological operation for illumination correction, default is closing.


getImageType

public MTBImage.MTBImageType getImageType()
Get output image type.


setImageType

public void setImageType(MTBImage.MTBImageType _outputType)
Set output image type.


getResultImage

public MTBImage getResultImage()
Get illumination corrected result image.


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.