Description of the error
Currently the trajectory filter loads the entire trajectory before applying the filtering. This means that for some machine with lower amounts of RAM or very long trajectories this job might cause some out of memory issues.
I think there might be way around this since what we want to do is
$$\mathrm{FT}^{-1}[r(\omega) g(\omega)] = r(x) * g(x) = r'(x)$$
where $r'(x)$ is the filtered positions, $r(\omega)$ is the FT of the positions, $g(\omega)$ is the frequency filter, and $g(x)$ is the inverse FT of the frequency filter.
If we use the convolution of $r(x)$ and $g(x)$ to determine $r'(x)$ then I think we can use one of the following methods
https://en.wikipedia.org/wiki/Overlap%E2%80%93add_method
https://en.wikipedia.org/wiki/Overlap%E2%80%93save_method
so we should be able to calculate the convolution of $r(x)$ and $g(x)$ and therefore $r'(x)$ in parts maybe something like 200 frames at a time or something.
Description of the error
Currently the trajectory filter loads the entire trajectory before applying the filtering. This means that for some machine with lower amounts of RAM or very long trajectories this job might cause some out of memory issues.
I think there might be way around this since what we want to do is
where$r'(x)$ is the filtered positions, $r(\omega)$ is the FT of the positions, $g(\omega)$ is the frequency filter, and $g(x)$ is the inverse FT of the frequency filter.
If we use the convolution of$r(x)$ and $g(x)$ to determine $r'(x)$ then I think we can use one of the following methods
https://en.wikipedia.org/wiki/Overlap%E2%80%93add_method
https://en.wikipedia.org/wiki/Overlap%E2%80%93save_method
so we should be able to calculate the convolution of$r(x)$ and $g(x)$ and therefore $r'(x)$ in parts maybe something like 200 frames at a time or something.