I'm studying plants - specifically how the color of their leaves change throughout a day. I have a camera pointing at a leaf which takes a picture every 47 minutes and calculates the average green color.

The result is a timeseries which repeats itself every 30ish samples (plus some noise). It's not particularly well-controlled and the lighting levels change sometimes if e.g. someone turns a nearby light on, an insect happens to be on the leaf when the picture is taken, etc.

An excerpt of the signal with underlined parts of the signal showing good candidates

My question: How should I go about getting the average shape (exact scale and mean value are unimportant) of this variation over a day?

I have a rough 3 step plan in mind, though I have uncertainty on all 3 steps:

  1. Discard data from periods where the signal is obviously useless (some days it's beautifully clear, others not so much e.g. someone turns a light on and the level shifts destroying the shape information).
  2. Progressively average together all the sections of interest into a single representative one (Just a straight up average? Can I use a weighting scheme based on a SNR or quality metric?)
  3. Decide when I have enough data that I can confidently say I have recovered the shape to a given degree of certainty (using bayes perhaps?)

I am definitely open to getting deeper into some DSP or stats theory to get me through this - if anyone has any pointers I would really appreciate it!

I would also like to know if there is a name for this type of problem (catching enough identical observations until you can faithfully describe the event) I'm sure there is one!

  • $\begingroup$ Would be interesting to throw into SSQ then recover around the range of frequencies where energy is maximal, i.e. Tx[idx-3:idx+3], where idx = argmax(sum(abs(Tx)**2, axis=-1)). This can yield a nice time-frequency curve, and from there we can selectively invert and recover the time-domain waveform. $\endgroup$ Jun 6 at 1:02


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy