30 #ifndef ATBANISOTROPICDIFFUSIONFILTER_HH 31 #define ATBANISOTROPICDIFFUSIONFILTER_HH 52 template<
typename DataT,
int Dim>
114 double kappa()
const;
233 blitz::Array<DataT,Dim>
const &data,
234 blitz::TinyVector<double,Dim>
const &elementSizeUm,
235 blitz::Array<ResultT,Dim> &filtered,
270 blitz::Array<DataT,Dim>
const &data,
271 blitz::TinyVector<double,Dim>
const &elementSizeUm,
272 blitz::Array<ResultT,Dim> &filtered,
double kappa,
315 double _kappa, _sigmaUm, _tau, _zAnisotropyCorrection;
316 int _nIterations, _hessianUpdateStepWidth;
322 #include "AnisotropicDiffusionFilter.icc" int nIterations() const
Get the number of filtering iterations.
void setHessianUpdateStepWidth(int hessianUpdateStepWidth)
Set the iteration stride for hessian recomputation.
double tau() const
Get the solver time step.
virtual void apply(blitz::Array< DataT, Dim > const &data, blitz::TinyVector< double, Dim > const &elementSizeUm, blitz::Array< ResultT, Dim > &filtered, iRoCS::ProgressReporter *pr=NULL) const
Apply the filter to the given Array.
The Filter class is the base class for all filter implementations.
The Implementation of the convolution of the input data with a Gaussian.
The Array class is an extension to the blitz++ Array class providing additional parameters element si...
AnisotropicDiffusionFilter(BoundaryTreatmentType bt=ValueBT, DataT const &boundaryValue=traits< DataT >::zero)
Default Constructor.
void setTau(double tau)
Set the solver time step (In case of convergence problems reduce it)
BoundaryTreatmentType
BoundaryTreatment.hh "libArrayToolbox/BoundaryTreatment.hh".
The traits class provides means to query specific information about different data types...
The Implementation of the filter computing the hessian of the input data using central differences...
void setKappa(double kappa)
Set the edge weight kappa.
double sigmaUm() const
Get the standard deviations of the Gaussian pre-smoothing filter in micrometers for all dimensions...
void setSigmaUm(double sigmaUm)
Set the standard deviation of the Gaussian pre-smoothing filter in micrometers for all dimensions...
int hessianUpdateStepWidth() const
Get the iteration stride for hessian recomputation.
virtual ~AnisotropicDiffusionFilter()
Destructor.
void setZAnisotropyCorrection(double zAnisotropyCorrection)
Set the anisotropy correction constant applied in z direction.
void setNIterations(int nIterations)
Set the number of filtering iterations.
Treat positions beyond the Array domain as having a constant value.
double zAnisotropyCorrection() const
Get the anisotropy correction constant applied in z direction.
double kappa() const
Get the edge weight kappa.
The AnisotropicDiffusionFilter class implements the Filter interface and provides an anisotropic diff...