National Instruments TDM and TDMS files
| January 27, 2009 - 12:44 | |||
|---|---|---|---|
|
I have had a couple of requests for Igor support for National Instruments TDM and TDMS files. I confess that I am largely ignorant about these formats. Quickly reading some of the National Instruments web pages, it seems like this is something Igor should support. However because of time constraints and competing priorities, I can't say when or if we will get to it. In the mean time, a user-created XOP might be a good idea. I plan to read up on TDM and TDMS over the next few days to be better able to answer questions about it. I've created this forum topic in case others want to discuss it. |
|||

Joined: 2007-08-14
Location: United States
My first glance here shows that TDM is an XML format. For a first step, the XML file loader I have written here, in conjunction with a suitable XSL file, might work without needing to do XOP programming.
--
J. J. Weimer
Chemistry / Chemical & Materials Engineering, UAH
Joined: 2007-06-21
Location: United States
From my brief reading, TDM has an XML header but the data is binary. In TDMS which is a newer version, there is no XML.
Joined: 2007-03-01
Location: United States
Note that, from the licensing agreement that one must "sign" to download the DLL, you have to agree to this clause (emphasis mine):
Joined: 2007-06-21
Location: United States
I had trouble finding where to download the TDM DLL from but I found it here.
The TDM license has some obnoxious provisions.
Joined: 2007-08-14
Location: United States
Does having a .dll mean, writing a TDM/TDMS loader/generator procedure/XOP is out of the question for Mac OS? Or does it mean, we just have to work a bit harder at it?
(not that I am intending to write something, just that I was struck with the question as a preface)
--
J. J. Weimer
Chemistry / Chemical & Materials Engineering, UAH
Joined: 2007-06-21
Location: United States
It means that you would have to reverse engineer the file format to support Macintosh and that your version would be out-of-date whenever NI adds a new variant.
It seems that they should provide a Macintosh DLL, and Linux too.
Joined: 2009-06-08
Location: United States
I just saw this post in regards to TDMS support in Igor. I am the Product Manager for TDMS and would be more than happy to talk with you integrating the DLL in your product. Please feel free to email me if I can help in any way. caroline.tipton@ni.com
Thanks
Caroline Tipton
Data Management Manager
National Instruments
Joined: 2007-06-21
Location: United States
Caroline - I did write a TDMS plug-in for Igor on Windows. It will be part of the soon-to-be-released Igor Pro 6.1 installation and is available in the 6.1 beta now.
I had an email exchange with Caroline Bright (you?) about it in February.
Joined: 2008-07-22
Location: United States
Hi,
I recorded some data in SignalExpress 3.0, installed the TDM.xop, Igor 6.1 and tried uploading the file into IGOR but got the following error/output:
Loading "Voltage.tdms" from "F:UCLA Programming:TDMS Conveter:Sample Data:"
Created root:Voltage
Numeric variable datetime renamed to datetime0 because of a name conflict.
Numeric variable DateTime renamed to DateTime0 because of a name conflict.
Numeric variable DateTime renamed to DateTime0 because of a name conflict.
Numeric variable DateTime renamed to DateTime0 because of a name conflict.
Numeric variable DateTime renamed to DateTime0 because of a name conflict.
Numeric variable DateTime renamed to DateTime0 because of a name conflict.
DIAdem library error from routine during TDMLoadData: An invalid argument was passed to the library.
-Max
Joined: 2009-12-16
Location: Germany
Hi,
I do really like the ability of loading in TDM-files to Igor. However, loading the TDM into igor discards the wave properties, i.e x-scaling and x-unit, of the TDM-channel. Instead the channel becomes just an array of numbers, with a note containing the scaling factors.
Is there a easy way of adding a property to the labview generated file so that the TDMloadData treat the channel as a wave and not an array?
Or better, could the TDMloadData be updated so that the properties; "wf_xname", "wf_xunit_string", "wf_increment" ..., are mapped onto the igor wave so that the right x-unit and scaling are preserved?
Regards
Gustav
Joined: 2007-06-21
Location: United States
According to the NI documentation, the only built-in channel properties in TDM are the channel name and the channel description. Although the documentation does not mention it, I have a recollection of discovering the "unit_string" was also a standard channel property and TDMLoadData uses it to set the wave data units.
My understanding is that any other channel properties are user-defined. I'm not aware of any established conventions such as "wf_increment". At least none were mentioned in the NI documentation when I wrote TDMLoadData.
The TDM XOP loads user-defined properties into the wave note. The TDM Help file explains how to extract the user-defined properties from the wave note and use them for whatever purpose. To see this, execute:
DisplayHelpTopic "TDMLoadData"
and read the section entitled "Channel Properties".
Using the technique explained there, you should be able to do what you want.
Joined: 2007-06-21
Location: United States
On further review, I found this NI documentation.
By convention, LabVIEW defines the wf_start_time, wf_start_offset, wf_increment and wf_samples properties.
I have made a note to support this in the TDM XOP but I can't say when I will get to it.