imagej / imagej/imagej-ops

Add convolution/deconvolution ops

Open
#70 15 comments 0 reactions 1 assignee Claimed by @bnorthan View on GitHub
Dominant language
Java
Stars
94
Forks
44
PR merge metrics
No merged PRs in 30d

Description

It would be awesome to provide a permissively licensed, high performance, general purpose deconvolution implementation in OPS. This entails work on several different constituent ops:

Milestones:
- [x] FFT, FHT, etc. – We can leverage ImgLib2's `FFTMethods` code (see also #12).
- [x] base classes for linear and iterative FFT filters.
- [x] FFT Version of Convolve
- [x] Richardson Lucy Deconvolution algorithm
- [x] Kernels – see also #48
- [x] Laplacian of Gaussian – in order to implement a complete segmentation pipeline.
- [ ] Separable-ND, Non-Separable-ND, NaiveConvolve – can leverage ImgLib2's `SeparableSymmetricConvolution`
- [ ] Fast, regularized version of Richardson Lucy with boundary conditions. See [1] for possible approach (also @StephanPreibisch SPIM paper goes over some approaches [2])
- [ ] Diffraction based Point Spread Function Kernel (possibly wrap Icy plugin [3] or COSMOS, this would have to be licensed as gpl)
- [ ] Measured Point Spread Function Kernel (extract kernel from bead image)
- [ ] Common GPU infrastructure for above ops (covered separately by #60)

Considerations:
- [ ] Ops need to be "set" aware. For example x-y-channels would be handled differently then x-y-z. Need to read meta data (from ImgPlus?)
- [ ] Usability. Go over previous FFT and deconvolution questions on the listserv(s) and ensure above ops address community needs.

See also:
- [This post on imagej-devel](http://imagej.net/pipermail/imagej-devel/2014-May/002091.html).
- #60 for related work—deconvolution on the GPU is an eventual goal.

[1] http://link.springer.com/chapter/10.1007%2F978-3-540-93860-6_81
[2] http://www.nature.com/nmeth/journal/v11/n6/full/nmeth.2929.html
[3] http://icy.bioimageanalysis.org/plugin/PSF_Generator

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.