- Improve performance by operating on contiguous rows of pixels in-place.
- Generate a mask to represent significant and insignificant pixels and only bother performing noise-spot removal on pixels that are not already masked.
- Also instead of reducing images size, simply treat the boundary pixels as insignificant.
- Improve structure to allow easier external scripting.
The algorithm performs roughly 2x faster with these optimizations.