MDF¶
This class acts as a proxy for the MDF3 and MDF4 classes. All attribute access is delegated to the underlying _file attribute (MDF3 or MDF4 object). See MDF3 and MDF4 for available extra methods.
An empty MDF file is created if the name argument is not provided. If the name argument is provided then the file must exist in the filesystem, otherwise an exception is raised.
-
class
asammdf.mdf.
MDF
(name=None, load_measured_data=True, version='3.20')¶ Unified access to MDF v3 and v4 files.
Parameters: name : string
mdf file name, if provided it must be a real file name
load_measured_data : bool
load data option; default True
- if True the data group binary data block will be loaded in RAM
- if False the channel data is read from disk on request
version : string
mdf file version (‘3.00’, ‘3.10’, ‘3.20’, ‘3.30’, ‘4.00’, ‘4.10’, ‘4.11’); default ‘3.20’
Methods
convert
export
filter
iter_to_pandas
-
convert
(to, load_measured_data=True)¶ convert MDF to other versions
Parameters: to : str
new mdf version from (‘3.00’, ‘3.10’, ‘3.20’, ‘3.30’, ‘4.00’, ‘4.10’, ‘4.11’)
load_measured_data : bool
load data option; default True
- if True the data group binary data block will be loaded in RAM
- if False the channel data is stored to a temporary file and read from disk on request
Returns: out : MDF
new MDF object
-
export
(format, filename=None)¶ export MDF to other formats. The MDF file name is used is available, else the filename aragument must be provided.
Parameters: format : string
can be one of the following:
- csv : CSV export that uses the ”;” delimiter. This option wil generate a new csv file for each data group (<MDFNAME>_DataGroup_XX.csv).
- hdf5 : HDF5 file output; each MDF data group is mapped to a HDF5 group with the name ‘DataGroup_xx’ (where xx is the index)
- excel : Excel file output (very slow). This option wil generate a new excel file for each data group (<MDFNAME>_DataGroup_XX.xlsx).
filename : string
export file name
-
filter
(channels)¶ return new MDF object that contains only the channels listed in channels argument
Parameters: channels : list
list of channel names to be filtered
Returns: mdf : MDF
new MDF file
-
iter_to_pandas
()¶ generator that yields channel groups as pandas DataFrames
Notes about load_measured_data argument¶
By default when the MDF object is created the raw channel data is loaded into RAM. This will give you the best performance from asammdf.
However if you reach the physical memmory limit asammdf gives you the option use the load_measured_data flag. In this case the raw channel data is not read.
MDF defaults¶
Advantages
- best performance
Disadvantages
- higher RAM usage, there is the chance the file will exceed available RAM
Use case
- when data fits inside the system RAM
MDF with load_measured_data¶
Advantages
- lowest RAM usage
- can handle files that do not fit in the available physical memory
Disadvantages
- slow performance for getting channel data
Use case
- when default data exceeds available RAM
Note
See benchmarks for the effects of using the flag