Subsetting TDMS Files

Hi,

We have very large TDMS files that we want to load into IGOR in 30-minute, 1-channel chunks. I read the IGOR TDMS Import documentation and I guess the only way to achieve this is by editing the XOP. Does anyone have experience in this, or some suggestions?

I can subset the data in SignalExpress but I want it to be more automatic.
I wrote the TDMS XOP but have forgotten most of what I knew ;)

One thing you could do is to use TDMLoadWave to load an entire channel into memory, then save it in an Igor binary wave file (using Save) or in a packed experiment file (using SaveData), then kill it. Then load the chunks in from the Igor file.

Another possibility is to use the low-level TDM functions. At the time I wrote the XOP, I believe these functions allowed you to do almost anything the TDM library was capable of. However, using them requires understanding the TDM library. Execute this to read about the low-level functions:
DisplayHelpTopic "TDM XOP Functions Overview"


The TDMGetDataValues function allows you to read a subset of a channel. The help file includes an example Igor function that shows how to use it.