|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.unihalle.informatik.Alida.operator.ALDOperator
de.unihalle.informatik.MiToBo.core.operator.MTBOperator
de.unihalle.informatik.MiToBo.filters.linear.GaussFilter
@ALDAOperator(genericExecutionMode=ALL) public class GaussFilter
Multidimensional Gauss filter class. The Gauss filter is implemented as separable filter, i.e. only Gaussians with a diagonal covariance matrix can be represented. The standard deviations (sigma) for each dimension x,y,z,t,c are specified individually. If any sigma is set to 0, no filtering in the corresponding dimension is applied. It can be specified, in which way the given sigmas are interpreted: The sigmas are whether interpreted to be specified in pixels or in physical pixel size (stepsize). The latter is simplifies the specification of (e.g. isotropic) kernels in the case, that pixel size differs in the different dimensions. Filtering in the c-dimension always assumes interpretation in pixels, because it is assumed that no spatial or temporal order exists between channels. By default, sigmas are interpreted to be specified in physical pixel size.
Nested Class Summary | |
---|---|
static class |
GaussFilter.SigmaInterpretation
Indicator how to interpret the specified standard deviations: - PIXEL: Sigma is given in pixels - PHYSICALSIZE: Sigma is given in terms of the physical pixel size (see MTBImage.getStepsizeX/Y/Z/T, in c-dimension always pixel interpretation is used) |
Nested classes/interfaces inherited from class de.unihalle.informatik.Alida.operator.ALDOperator |
---|
de.unihalle.informatik.Alida.operator.ALDOperator.HidingMode |
Field Summary | |
---|---|
private MTBImageWindow.BoundaryPadding |
boundaryPadding
|
private MTBImage |
inputImg
|
private double |
kernelTrunctation
|
private MTBImage |
resultImg
|
private double |
sigmaC
|
private GaussFilter.SigmaInterpretation |
sigmaInterpretation
|
private double |
sigmaT
|
private double |
sigmaX
|
private double |
sigmaY
|
private double |
sigmaZ
|
private java.util.Vector<loci.common.StatusListener> |
statusListeners
vector of installed StatusListeners |
Fields inherited from class de.unihalle.informatik.Alida.operator.ALDOperator |
---|
completeDAG, name, portHashAccess, verbose, versionProvider |
Constructor Summary | |
---|---|
GaussFilter()
Constructor with default parameters sigmaX=1, sigmaY=1, sigmaZ=0, sigmaT=0, sigmaC=0, kernelTruncation=3, sigmaInterpretation=PHYSICALSIZE. |
|
GaussFilter(MTBImage img,
double sigmaX,
double sigmaY)
Constructor for Gaussian filtering in x- and y-dimension. |
|
GaussFilter(MTBImage img,
double sigmaX,
double sigmaY,
double sigmaZ)
Constructor for Gaussian filtering in x-, y- and z-dimension. |
|
GaussFilter(MTBImage img,
double sigmaX,
double sigmaY,
double sigmaZ,
double sigmaT,
double sigmaC,
MTBImageWindow.BoundaryPadding boundaryPadding,
double kernelTruncation,
GaussFilter.SigmaInterpretation sigmaInterpretation)
Constructor for Gaussian filtering. |
Method Summary | |
---|---|
void |
addStatusListener(loci.common.StatusListener statuslistener)
|
protected MTBImage |
gaussFilter()
compute the Gaussian filter |
MTBImageWindow.BoundaryPadding |
getBoundaryPadding()
Get value of Parameter argument boundaryPadding. |
MTBImage |
getGaussKernelC()
Get Gaussian kernel image (non-normalized) in c-dimension for given parameters, null if sigma is zero in c-dimension |
MTBImage |
getGaussKernelT()
Get Gaussian kernel image (non-normalized) in t-dimension for given parameters, null if sigma is zero in t-dimension |
MTBImage |
getGaussKernelX()
Get Gaussian kernel image (non-normalized) in x-dimension for given parameters, null if sigma is zero in x-dimension |
MTBImage |
getGaussKernelY()
Get Gaussian kernel image (non-normalized) in y-dimension for given parameters, null if sigma is zero in y-dimension |
MTBImage |
getGaussKernelZ()
Get Gaussian kernel image (non-normalized) in z-dimension for given parameters, null if sigma is zero in z-dimension |
MTBImage |
getInputImg()
Get input image. |
double |
getKernelTruncation()
Get kernel truncation factor. |
MTBImage |
getResultImg()
Get resulting image. |
double |
getSigmaC()
Get standard deviation (sigma) in c-dimension. |
GaussFilter.SigmaInterpretation |
getSigmaInterpretation()
Get the mode of how sigmas are interpreted. |
double |
getSigmaT()
Get standard deviation (sigma) in t-dimension. |
double |
getSigmaX()
Get standard deviation (sigma) in x-dimension. |
double |
getSigmaY()
Get standard deviation (sigma) in y-dimension. |
double |
getSigmaZ()
Get standard deviation (sigma) in z-dimension. |
void |
notifyListeners(loci.common.StatusEvent e)
|
protected void |
operate()
This function calls the actual Gauss filtering method. |
protected java.lang.Object |
readResolve()
Init function for deserialized objects. |
void |
removeStatusListener(loci.common.StatusListener statuslistener)
|
void |
setBoundaryPadding(MTBImageWindow.BoundaryPadding boundaryPadding)
Set value of Parameter argument boundaryPadding. |
void |
setInputImg(MTBImage img)
Set input image. |
void |
setKernelTruncation(double kernelTruncation)
Set kernel truncation factor. |
protected void |
setResultImg(MTBImage resultImg)
Set resulting image. |
void |
setSigmaC(double sigmaC)
Set standard deviation (sigma) in c-dimension. |
void |
setSigmaInterpretation(GaussFilter.SigmaInterpretation sigmaInterpretation)
Set the mode of how sigmas are interpreted. |
void |
setSigmaT(double sigmaT)
Set standard deviation (sigma) in t-dimension. |
void |
setSigmaX(double sigmaX)
Set standard deviation (sigma) in x-dimension. |
void |
setSigmaY(double sigmaY)
Set standard deviation (sigma) in y-dimension. |
void |
setSigmaZ(double sigmaZ)
Set standard deviation (sigma) in z-dimension. |
void |
validateCustom()
The validation of parameters and inputs. |
Methods inherited from class de.unihalle.informatik.Alida.operator.ALDOperator |
---|
deserializeFromXmlFile, fieldContained, getALDPortHashAccessKey, getConstructionMode, getInInoutNames, getInInoutNames, getInNames, getInOutNames, getMissingRequiredInputs, getName, getNumParameters, getOutInoutNames, getOutNames, getParameter, getParameterDescriptor, getParameterNames, getSupplementalNames, getVerbose, getVersion, isConfigured, parametersToXmlObject, print, print, print, printInterface, printInterface, readHistory, reinitializeParameterDescriptors, runOp, runOp, runOp, serializeToXmlFile, setConstructionMode, setName, setParameter, setParametersFromXml, setParametersFromXml, setVerbose, toStringVerbose, unconfiguredItems, validate, validateGeneric, writeHistory, writeHistory, writeHistory, writeParametersToXml |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
@Parameter(label="Boundary padding", required=true, direction=IN, mode=ADVANCED, description="Image is padded by the specified method", dataIOOrder=9) private MTBImageWindow.BoundaryPadding boundaryPadding
@Parameter(label="Input Image", required=true, direction=IN, mode=STANDARD, description="Input image", dataIOOrder=1) private transient MTBImage inputImg
@Parameter(label="Kernel truncation", required=true, direction=IN, mode=ADVANCED, description="Factor to determine where the kernel is truncated: sigma*kernelTruncation", dataIOOrder=8) private double kernelTrunctation
@Parameter(label="Result Image", required=true, direction=OUT, description="Result image", dataIOOrder=1) private transient MTBImage resultImg
@Parameter(label="sigmaC", required=true, direction=IN, mode=ADVANCED, description="Standard deviation of the Gaussian in c-dimension (Default: 0)", dataIOOrder=7) private double sigmaC
@Parameter(label="sigma interpretation", required=true, direction=IN, mode=ADVANCED, description="Interpretation of sigmas, whether in pixels or physical pixel size (stepsize)", dataIOOrder=2) private GaussFilter.SigmaInterpretation sigmaInterpretation
@Parameter(label="sigmaT", required=true, direction=IN, mode=ADVANCED, description="Standard deviation of the Gaussian in t-dimension (Default: 0)", dataIOOrder=6) private double sigmaT
@Parameter(label="sigmaX", required=true, direction=IN, mode=ADVANCED, description="Standard deviation of the Gaussian in x-dimension (Default: 1 micron)", dataIOOrder=3) private double sigmaX
@Parameter(label="sigmaY", required=true, direction=IN, mode=ADVANCED, description="Standard deviation of the Gaussian in y-dimension (Default: 1 micron)", dataIOOrder=4) private double sigmaY
@Parameter(label="sigmaZ", required=true, direction=IN, mode=ADVANCED, description="Standard deviation of the Gaussian in z-dimension (Default: 0)", dataIOOrder=5) private double sigmaZ
private transient java.util.Vector<loci.common.StatusListener> statusListeners
Constructor Detail |
---|
public GaussFilter() throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
public GaussFilter(MTBImage img, double sigmaX, double sigmaY) throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
img
- input imagesigmaX
- standard deviation in x-dimensionsigmaY
- standard deviation in y-dimension
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
public GaussFilter(MTBImage img, double sigmaX, double sigmaY, double sigmaZ) throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
img
- input imagesigmaX
- standard deviation in x-dimensionsigmaY
- standard deviation in y-dimensionsigmaZ
- standard deviation in z-dimension
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
public GaussFilter(MTBImage img, double sigmaX, double sigmaY, double sigmaZ, double sigmaT, double sigmaC, MTBImageWindow.BoundaryPadding boundaryPadding, double kernelTruncation, GaussFilter.SigmaInterpretation sigmaInterpretation) throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
img
- input imagesigmaX
- standard deviation in x-dimensionsigmaY
- standard deviation in y-dimensionsigmaZ
- standard deviation in z-dimensionsigmaT
- standard deviation in t-dimensionsigmaC
- standard deviation in c-dimensionboundaryPadding
- determines how pixel values outside the image domain are treated (see LinearFilter
)kernelTruncation
- the Gaussian kernel is truncated at sigma*kernelTruncationsigmaInterpretation
- how the specified standard deviations are interpreted
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
Method Detail |
---|
public void addStatusListener(loci.common.StatusListener statuslistener)
addStatusListener
in interface loci.common.StatusReporter
protected MTBImage gaussFilter() throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException, de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
de.unihalle.informatik.Alida.exceptions.ALDProcessingDAGException
public MTBImageWindow.BoundaryPadding getBoundaryPadding()
public MTBImage getGaussKernelC()
public MTBImage getGaussKernelT()
public MTBImage getGaussKernelX()
public MTBImage getGaussKernelY()
public MTBImage getGaussKernelZ()
public MTBImage getInputImg()
public double getKernelTruncation()
public MTBImage getResultImg()
public double getSigmaC()
public GaussFilter.SigmaInterpretation getSigmaInterpretation()
public double getSigmaT()
public double getSigmaX()
public double getSigmaY()
public double getSigmaZ()
public void notifyListeners(loci.common.StatusEvent e)
notifyListeners
in interface loci.common.StatusReporter
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
protected java.lang.Object readResolve()
MTBOperator
This function is called on an instance of this class being deserialized from file, prior to handing the instance over to the user. It takes care of a proper initialization of transient member variables as they are not initialized to the default values during deserialization.
readResolve
in class MTBOperator
public void removeStatusListener(loci.common.StatusListener statuslistener)
removeStatusListener
in interface loci.common.StatusReporter
public void setBoundaryPadding(MTBImageWindow.BoundaryPadding boundaryPadding)
value
- of boundaryPaddingpublic void setInputImg(MTBImage img)
public void setKernelTruncation(double kernelTruncation)
protected void setResultImg(MTBImage resultImg)
public void setSigmaC(double sigmaC)
public void setSigmaInterpretation(GaussFilter.SigmaInterpretation sigmaInterpretation)
public void setSigmaT(double sigmaT)
public void setSigmaX(double sigmaX)
public void setSigmaY(double sigmaY)
public void setSigmaZ(double sigmaZ)
public void validateCustom() throws de.unihalle.informatik.Alida.exceptions.ALDOperatorException
validateCustom
in class de.unihalle.informatik.Alida.operator.ALDOperator
de.unihalle.informatik.Alida.exceptions.ALDOperatorException
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |