I have data in form of a grayscale bitmaps. The x axis represents different instances and the y axis represents time. For example each pixel's gray value could represent the number of bytes transferred during one second by a computer (and every column in this bitmap is a different computer). Now I want to identify all columns, which have similar patterns and see what these patterns look like.
- are not previously known
- will have very different starting points in time/are shifted
- are not exactly the same (data points of a pattern might have slightly different distances or values)
- are covered by noise
- might occur multiple times in one dataset (most likely different patterns)
This is an example bitmap with 255 (white) meaning "no bytes transferred" and 0 (black) meaning "many bytes transferred". The x axis represents different data sets and the y axis is time:
The real datasets are thousands of pixels long.
I was thinking about using FFTs to identify certain frequency patterns, but believe there could be easier approaches which also can help sort patterns by similarity.
If possible I appreciate answers pointing me to python implementations covering my requirements.