How do I load waveref waves from a pxp ?

Hello,

 

I have a experiment file with data, where the actual data waves are references by a wave reference wave, like in the attached example.
There in root a wave reference wave with a single element exists.
In the data folder dataDF a numeric wave named data is present and wref[0] refers to that wave.

I know the path to the wave reference wave in the pxp and I want to load the wave reference wave and all waves it refers to.
I thought the correct way would be to use LoadData like:
 

LoadData/S="root:"/O/L=1/P=home "sourcedata.pxp"

But it turns out, that the wave reference wave seems to be not a valid wave for LoadData as V_flag stays zero.

What I would like to have, that wref is loaded to the current data folder and all referenced waves are loaded as well, including creation of possible sub data folders like dataDF if the referenced waves were global.

How can I do that?

Best regards,
Michael Huth

sourcedata.pxp (5.17 KB)

There is no high-level way to load the waves referenced by a wave reference wave from a .pxp, aside from loading the .pxp as an experiment file.

It is conceptually possible to do this by parsing the .pxp records. This would require intimate knowledge of how such waves are written and would be quite complicated.

Possibly you could spawn another Igor instance, have it load the .pxp file, and have it export the waves of interest or the full paths to such waves. (This would not work for free waves referenced by wave reference waves since free waves have no full path.)

If you save the experiment as HDF5 (.h5xp), then I believe you could load the waves referenced by the wave reference wave, though it would be complicated. The short explanation is that each element of a wave reference wave contains an "IGORWaveID" value (an integer) and each referenced wave has an IGORWaveID attribute.