Number of iterations for extreme streak attenuation.
extreme_detect_lambda: float
Consider streaks which are stronger than lambda * local_std as extreme.
extreme_detect_size: int
Half window size for extreme streak detection -- total (2*s + 1).
extreme_replace_size: int
Half window size for extreme streak replacement -- total (2*s + 1).
max_bin_iter_horizontal: int
The number of total horizontal scales (counting the full scale).
bin_vertical: int
The factor of vertical binning, e.g. bin_vertical=32 would perform denoising in 1/32th of the original vertical size.
filter_strength: float
Strength of BM4D denoising (>0), where 1 is the standard application, >1 is stronger, and <1 is weaker.
use_slices: bool
If True, the sinograms will be split horizontally across each binning iteration into overlapping.
slice_sizes: list
A list of horizontal sizes for use of the slicing if use_slices=True. By default, slice size is either 39 pixels or 1/5th of the total width of the current iteration, whichever is larger.
slice_step_sizes: list
List of number of pixels between slices obtained with use_slices=True, one for each binning iteration. By default 1/4th of the corresponding slice size.
denoise_indices: list
Indices of sinograms to denoise; by default, denoises the full stack provided.
Returns
-------
@@ -94,8 +117,8 @@ class bm3d_ring_removal(param.ParameterizedFunction):
def__call__(self,**params):
"""See class level documentation for help."""
ifnotbm3dsr:
logger.warning("something informative")
raiseRuntimeError("probably same as warning")
logger.warning("To use method, make sure to install bm3d_streak_removal package via pip.")
raiseRuntimeError("BM3D suite not installed, please install with pip install bm3d_streak_removal")
else:
logger.info("Executing Filter: Remove Ring Artifact with BM3D")