Some Tektronix oscilloscopes, including the TDS 360 for which I wrote this function, can save a waveform to a file in an "internal" format. These files have the extension: ISF. They consist of a text (ASCII) header, followed by binary waveform data.
ISFREAD parses the header into a MATLAB structure, reads the binary data, and calculates the horizontal (x) and vertical (y) points that make up the waveform.
The TDS 360 and similar models can save data in multiple formats, however the internal (ISF) format is the most useful for several reasons. As the data is binary, it is saved very quickly. The files also include important information in the header, such as the oscilloscope settings.
Thanks for writing this. It works perfectly for me except for a warning:
> Warning: All expected data was read from tek0007CH1.isf, but there still appears to be data remaining.
> In isfread (line 165)
This doesn't appear to be a problem as the full waveform is available.
Files read from the oscilloscope's serial port have some minor differences to files saved to disk. I made some modifications to the header parsing to allow it to read both.