6.4. Standalone Functions for Reading Database
To load data from your database without using any Biomet.net
apps or functions, here we provide some code snippets in Matlab, R, and Python. You could add these to your general analysis and plotting scripts.
Note that they are examples and will likely require minor edits. For all snippets you will need to provide the full paths to the time vector (clean_tv
) and data variable(s) that you need.
Matlab
%% Reading time traces (clean_tv, TimeVector...) - float64 fileName = fullfile('E:\Pipeline_Projects\database\2025\RBM\Met\clean_tv'); fid = fopen(fileName); if fid >0 tv = fread(fid,'float64'); fclose(fid); end % converting time from Matlab datenum to Matlab datetime format tv_dt = datetime(tv,'ConvertFrom','datenum'); %% Reading data traces - float32 fileName = fullfile('E:\Pipeline_Projects\database\2025\RBM\Met\MET_HMP_T_6m_Avg'); fid = fopen(fileName); if fid >0 TA_1_1_1 = fread(fid,'float32'); fclose(fid); end
R
library(ggplot2) # Reading time traces (clean_tv, TimeVector...) - float64 file_path_tv <- "E:/Pipeline_Projects/database/2025/RBM/Met/clean_tv" if (file.exists(file_path_tv)) { con <- file(file_path_tv, "rb") tv <- readBin(con, what = "double", n = file.info(file_path_tv)$size / 8, size = 8) close(con) } else { tv <- numeric() } # Converting MATLAB datenum to R datetime format tv_dt <- as.POSIXct(tv * 86400, origin = "0000-01-01", tz = "UTC") # Reading data traces - float32 file_path_data <- "E:/Pipeline_Projects/database/2025/RBM/Met/MET_HMP_T_6m_Avg" if (file.exists(file_path_data)) { con <- file(file_path_data, "rb") TA_1_1_1 <- readBin(con, what = "numeric", n = file.info(file_path_data)$size / 4, size = 4) close(con) } else { TA_1_1_1 <- numeric() }
Python
import numpy as np import matplotlib.pyplot as plt from datetime import datetime, timedelta # Reading time traces (clean_tv, TimeVector...) - float64 file_path_tv = r"E:\Pipeline_Projects\database\2024\RBM\Met\clean_tv" try: with open(file_path_tv, "rb") as f: tv = np.fromfile(f, dtype=np.float64) except FileNotFoundError: tv = np.array([]) # Converting time from MATLAB datenum to Python datetime format days = tv % 1 tv_dt = [datetime.fromordinal(int(date)) + timedelta(days=float(date % 1)) - timedelta(days=366) for date in tv] # Reading data traces - float32 file_path_data = r"E:\Pipeline_Projects\database\2024\RBM\Met\MET_HMP_T_6m_Avg" try: with open(file_path_data, "rb") as f: TA_1_1_1 = np.fromfile(f, dtype=np.float32) except FileNotFoundError: TA_1_1_1 = np.array([])