Preprocessing: Stripe removal from movies - bahanonu/ciatah GitHub Wiki
https://bahanonu.github.io/ciatah/
Please use the online documentation website going forward: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 calciumImagingAnalysis
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.
removeStripsFromMovie
To run this on any inputMovie
movie matrix already loaded in MATLAB, do the following.
% This will produce a result similar to above.
removeStripsFromMovie(inputMovie,'stripOrientation',both,'meanFilterSize',7,'freqLowExclude',10,'bandpassType','highpass')
calciumImagingAnalysis
To use within the calciumImagingAnalysis
class, select modelPreprocessMovie
module and have stripeRemoval
selected then on the options page, choose whether to remove vertical, horizontal, or both stripes.