lumicks.pylake.File¶
-
class
File(filename)¶ A convenient HDF5 file wrapper for reading data exported from Bluelake
Parameters: - filename : str
The HDF5 file to open in read-only mode
Examples
from lumicks import pylake file = pylake.File("example.h5") file.force1x.plot() file.kymos["name"].plot()
-
__init__(filename)¶ Initialize self. See help(type(self)) for accurate signature.
Methods
__init__(filename)Initialize self. from_h5py(h5py_file)Directly load an existing h5py.Filesave_as(filename[, compression_level, omit_data])Write a modified h5 file to disk. Attributes
SUPPORTED_FILE_FORMAT_VERSIONSblue_photon_countblue_photon_time_tagsbluelake_versionThe version of Bluelake which exported this file descriptionThe description of the measurement as entered by the user in Bluelake distance1distance2downsampled_force1downsampled_force1xdownsampled_force1ydownsampled_force2downsampled_force2xdownsampled_force2ydownsampled_force3downsampled_force3xdownsampled_force3ydownsampled_force4downsampled_force4xdownsampled_force4yexperimentThe name of the experiment as entered by the user in Bluelake export_timeThe moment this file was exported fdcurvesforce1xforce1yforce2xforce2yforce3xforce3yforce4xforce4yformat_versionThe version of the Bluelake-specific HDF5 file structure green_photon_countgreen_photon_time_tagsguidAn ID which uniquely identifies each exported file kymosmarkerspoint_scansred_photon_countred_photon_time_tagsscans-
__getitem__(item)¶ Return a subgroup or a bluelake timeline channel
-
classmethod
from_h5py(h5py_file)¶ Directly load an existing
h5py.File
-
save_as(filename, compression_level=5, omit_data={})¶ Write a modified h5 file to disk.
When transferring data, it can be beneficial to omit some channels from the h5 file, or use a higher compression ratio. High frequency channels tend to take up a lot of space and aren’t always necessary for every single analysis. It is also worth mentioning that Bluelake exports files at compression level 1 for performance reasons, so this function can help reduce the file size even when no data is omitted.
Parameters: - filename : str
Output file name.
- compression_level : int
Compression level for gzip compression (default: 5).
- omit_data : Set[str]
Which data sets to omit. Should be a set of h5 paths (e.g. {“Force HF/Force 1y”}).
fnmatchpatterns are used to specify which fields to omit, which means you can use wildcards as well (see examples below).
Examples
import lumicks.pylake as lk file = lk.File("example.h5") file.save_as("smaller.h5", compression_level=9) # Saves a file with a high compression level file.save_as("no_hf.h5", omit_data={"Force HF/*"}) # Omit high frequency force data. file.save_as("no_hf.h5", omit_data={"*/Force 1y"}) # Omit Force 1y data file.save_as("no_1y.h5", omit_data={"Force HF/Force 1y"}) # Omit high frequency force data for channel 1y
-
bluelake_version¶ The version of Bluelake which exported this file
-
description¶ The description of the measurement as entered by the user in Bluelake
-
experiment¶ The name of the experiment as entered by the user in Bluelake
-
export_time¶ The moment this file was exported
-
format_version¶ The version of the Bluelake-specific HDF5 file structure
-
guid¶ An ID which uniquely identifies each exported file