Had an interesting point raised that particle data could be stored as a Hyperspy Signal1D object where the navigation dimension is particle number and the signal dimension contains the signal in question. This would enable hyperspy functions to work on the data without iterating through particles.
One possibility is to have all "stored data" stored only in the particles object as independent Signal1D objects. Each particle object would then have an index which would allow it to reference the Signal1D navigation axis and access the data.
The main question is, does this allow any additional functionality or a speed up in processing time?