Class LseGaussianBlur3
java.lang.Object
gov.nih.mipav.model.algorithms.levelset.LsePdeFilter
gov.nih.mipav.model.algorithms.levelset.LsePdeFilter3
gov.nih.mipav.model.algorithms.levelset.LseGaussianBlur3
This class implements the Gaussian blur filter for 3D images
using a finite-difference-based solver for the partial differential
equation:
du/dt = Laplacian(u)
where u(x,y,z,t) is the evolved image at time t, du/dt is the time
derivative of u, and Laplacian(u) = u_xx + u_yy + u_zz, a sum of
second-order derivatives of u.
- Version:
- 0.1 November 7, 2006
- Author:
- David Eberly
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate floatThe maximum time step allowed for numerical stability of the filter.Fields inherited from class gov.nih.mipav.model.algorithms.levelset.LsePdeFilter3
m_aaabMask, m_aaafDst, m_aaafSrc, m_fFourthInvDxDy, m_fFourthInvDxDz, m_fFourthInvDyDz, m_fHalfInvDx, m_fHalfInvDy, m_fHalfInvDz, m_fInvDx, m_fInvDxDx, m_fInvDy, m_fInvDyDy, m_fInvDz, m_fInvDzDz, m_fUmmm, m_fUmmp, m_fUmmz, m_fUmpm, m_fUmpp, m_fUmpz, m_fUmzm, m_fUmzp, m_fUmzz, m_fUpmm, m_fUpmp, m_fUpmz, m_fUppm, m_fUppp, m_fUppz, m_fUpzm, m_fUpzp, m_fUpzz, m_fUzmm, m_fUzmp, m_fUzmz, m_fUzpm, m_fUzpp, m_fUzpz, m_fUzzm, m_fUzzp, m_fUzzz, m_fXSpacing, m_fYSpacing, m_fZSpacing, m_iXBound, m_iYBound, m_iZBoundFields inherited from class gov.nih.mipav.model.algorithms.levelset.LsePdeFilter
m_eScaleType, m_fBorderValue, m_fMin, m_fOffset, m_fScale, m_fTimeStep, m_iQuantity, NONE, PRESERVE_ZERO, SYMMETRIC, UNIT -
Constructor Summary
ConstructorsConstructorDescriptionLseGaussianBlur3(int iXBound, int iYBound, int iZBound, float fXSpacing, float fYSpacing, float fZSpacing, float[] afData, boolean[] abMask, float fBorderValue, int eScaleType) Creates a new LseGaussianBlur3 object. -
Method Summary
Modifier and TypeMethodDescriptionfinal floatGet the maximum time step for numerical stabilty of the filter.protected voidonUpdate(int iX, int iY, int iZ) The per-voxel update function of the PDE solver.Methods inherited from class gov.nih.mipav.model.algorithms.levelset.LsePdeFilter3
assignDirichletImageBorder, assignDirichletMaskBorder, assignNeumannImageBorder, assignNeumannMaskBorder, getMask, getU, getUx, getUxx, getUxy, getUxz, getUy, getUyy, getUyz, getUz, getUzz, getXBound, getXSpacing, getYBound, getYSpacing, getZBound, getZSpacing, lookUp27, lookUp7, onPostUpdate, onPreUpdate, onUpdateMethods inherited from class gov.nih.mipav.model.algorithms.levelset.LsePdeFilter
getBorderValue, getQuantity, getScaleType, getTimeStep, setTimeStep, update
-
Field Details
-
m_fMaximumTimeStep
private float m_fMaximumTimeStepThe maximum time step allowed for numerical stability of the filter.
-
-
Constructor Details
-
LseGaussianBlur3
public LseGaussianBlur3(int iXBound, int iYBound, int iZBound, float fXSpacing, float fYSpacing, float fZSpacing, float[] afData, boolean[] abMask, float fBorderValue, int eScaleType) Creates a new LseGaussianBlur3 object.- Parameters:
iXBound- The x-bound of the image.iYBound- The y-bound of the image.iZBound- The z-bound of the image.fXSpacing- The x-spacing of the image.fYSpacing- The y-spacing of the image.fZSpacing- The z-spacing of the image.afData- The image elements, stored in lexicographical order.abMask- The image mask, stored in lexicographical order. A pixel value is processed by the PDE solver only when the mask value is false.fBorderValue- Specifies how to handle the image value. When set to Float.MAX_VALUE, Neumann conditions are in use, in which case zero-valued derivatives are assumed on the image border. Otherwise, Dirichlet conditions are used, in which case the image is assumed to be constant on the border with value specified by fBorderValue.eScaleType- The type of scaling to apply to the input image. The choices are NONE, UNIT, SYMMETRIC, or PRESERVE_ZERO.
-
-
Method Details
-
getMaximumTimeStep
public final float getMaximumTimeStep()Get the maximum time step for numerical stabilty of the filter.- Returns:
- The maximum time step.
-
onUpdate
protected void onUpdate(int iX, int iY, int iZ) The per-voxel update function of the PDE solver.- Specified by:
onUpdatein classLsePdeFilter3- Parameters:
iX- The x-value of the voxel to be updated.iY- The y-value of the voxel to be updated.iZ- The z-value of the voxel to be updated.
-