GeezerVison is showing github.com — filter.gauss implementation scales poorly with image size/dimensions · Issue #278 · scijava/scijava
filter.gauss implementation scales poorly with image size/dimensions #278
Activity
hinerm commented on Oct 29, 2024
Note that you can easily reproduce this in Fiji with a script like:
#@ OpEnvironment ops
#@ Img (label = "Input image:", autofill = false) img
#@ Float (label="Sigma:", style="format:0.00", min=0.0, value=8.00) sigma
#@output Img result
# convert input ImgPlus to float32
img = ops.op("convert.float32").input(img).apply()
# apply gaussian blur
img_g = ops.op("filter.gauss").input(img, sigma).apply()
# subtract input ImgPlus from gaussian blurred image
result = ops.op("math.subtract").input(img, img_g).apply()
and this sample data. It hits OOM if you run on the full image (352MB image, with 16GB of memory allocated in Fiji's memory and threads). If you split the channels first, it does not OOM.
changed the title
[-]filter.gauss implementation scales poorly[/-] [+]filter.gauss implementation scales poorly with image size/dimensions[/+] on Oct 29, 2024gselzer commented on Oct 30, 2024
I've yet to run this code, but I'd be interested to know where the OOM is happening - SciJava Ops more or less wraps gaussian convolutions from imglib2-algorithm, so this issue might best be moved upstream.
Alternatively, maybe we should be wrapping different/better algorithms
Metadata
Metadata
Development
No branches or pull requestsIssue actions