i

Flexible deconvolution using ImageJ Ops

Brian Northan, True North Intelligent Algorithms LLC

Outline

  • What is deconvolution?
  • PSF, Noise, Edges, Speed
  • Ops Deconvolution, current + future
  • Future goals
  • Preliminary Results

What is Deconvolution?

  • A procedure used to reverse convolution
  • Convolution (Blurring)
  • Deconvolution (deblurring)
    • improves measurements

Point Spread Function (PSF)

Describes response of imaging system to a point like object

Imaging Process

Noise

Images also contain noise

  • Convolution attenuates high frequencies
  • Deconvolution restores high frenquencies
  • Deconvolution can amplify noise

Deconvolution (Simple)

  • Solve the equation in the frequency domain

Deconvolution (Better)

  • Use an Iterative approach
    • Richardson Lucy

Richardson Lucy Iterations

Richardson Lucy Result (50 iterations)

Richardson Lucy with Total Variation Regularization

  • Solution is modified to better handle noise
  • Richardson Lucy with Total Variation Result (50 iterations)

    Edge Handling

    How do we make it fast?

    • Algorithm acceleration
    • Hardware acceleration
      • Fast math libraries
      • Multi-threading
      • GPU

    Current status

    Currently implemented in Ops (beta)

    Future Goals

    Preliminary Results

  • McNamara set
  • PSFs created using PSF Generator
  • IJ Macro to crop (to center) and reverse PSF

    
    run("Make Substack...", "  slices=28-155");
    run("Reverse");
    						
  • IJ-ops Script used for results
  • 
    
    # @OpService ops
    # @UIService ui
    # @Dataset image
    # @Dataset psf
    
    from net.imglib2.meta import ImgPlus
    
    deconvolved=ops.deconvolve().richardsonLucyTV(None, image, psf, [0,0,0], None, \
    None, None, None, None, None, 100, 0.0001, True, True);
    
    ui.show("deconvolved", ImgPlus(deconvolved));	
    
    						

    Left to right: Original, ImageJ-Ops-RLTV

    Original Image

    Imagej-ops RLTV 100 iterations

    Preliminary Results

    Left to right: Original, ImageJ-Ops-RLTV

    Left to right: Original, ImageJ-Ops-RLTV

    Acknowledgement:


    Christian
    Dietz

    Mark
    Hiner

    Curtis
    Rueden

    Johannes
    Schindelin