I have some stack of grayscale reconstructed images represented as a 3-dimensional matrix DPC
with dimensions [Nz,Nx,Nt]
. A single page/frame/image would be an NxMx1
slice of DPC
. Each frame has some diffuse artifacts spread out over the image swamping out the signal of interest. If I were to animate the data where I am displaying a new frame every 0.1 seconds, the signal of interest is faintly visible as a static, non-moving feature of varying intensity while the diffuse artifact spreads outward and upwards
I am looking to filter out all the "moving" diffuse artifacts so I'm just left with the signal. If I take an average over all the frames, I get something that looks like this:
While the "static" components have a much higher contrast when I take the average, I suspect the "moving" components of the image are still degrading the image quality.
I processed this data in matlab and c++ but this is more of a general image processing question.
Clarification
@ChristophRackwitz without going into overwhelming detail, each frame is a phase difference image. The moving noise (or artifacts) in each frame corresponds to an increasingly defocused copy of the fully in focus image. The algorithm that reconstructs any given frame of the image produces a dataset where the defocused artifact is mixed in to the actual signal, so fixing it before it gets corrupted is non-trivial.
@AnderBiguri in the comments is likely correct that this might be more of a research problem than a forum question. However, I was hoping to double check if I had missed any common image processing algorithms that might be applicable in this situation. (aside: since I was thinking of image processing algorithms, I thought SO was the better site, but signal processing works too)
Essentially, I wanted to view this problem as some sort of image processing problem where I'm trying to filter moving objects and extract the static objects. However, a better description might be a moving, hazy background with static objects.
For example, if you had a timelapse camera shot of some busy public square and you wanted to remove all the people from the image, you could apply median filtering. Median filtering is used to filter out moving objects in a series of images to extract a static background. Is there a comparatively simple algorithm to extract static objects from a moving background?