Stripe removal from movies

Some cameras will produce vertical and/or horizontal stripes in the movies that users will want to remove. Below is an example of process to remove strip from movies. The underlying function is removeStripsFromMovie and users can remove using modelPreprocessMovie module in the CIAtah class.

Vertical and horizontal stripes can be removed with the vertical and horizontal aspect of the the Fourier spectrum. In my default implementation for users I attenuate at lower frequencies since those usually do not contain the camera-induced stripes. If users have experimental induced stripes, they should lower the frequency threshold to include low frequency (spatially large) stripes.

Example implementation

Below is an example removal of stripes showing both the Fourier domain analysis in the top row and the real domain processing in the bottom row. Bottom right shows the difference between the original and filtered movie, indicating where the stripes have been removed.

picture1

removeStripsFromMovie

To run stripe removal on any inputMovie movie matrix already loaded in MATLAB, run the below code. Details on each option can be found within the removeStripsFromMovie function.

% This will produce a result similar to above.
removeStripsFromMovie(inputMovie,'stripOrientation',both,'meanFilterSize',7,'freqLowExclude',10,'bandpassType','highpass')

CIAtah

To use within the CIAtah class, select modelPreprocessMovie module and have stripeRemoval selected then on the options page, choose whether to remove vertical, horizontal, or both stripes. image image

A second example of how stripe removal can improve image quality using removeStripsFromMovie. image image