Files
acsm-fairifier/notebooks/demo_visualize_diagnostic_flags_from_hdf5_file.ipynb

149 lines
4.4 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import sys\n",
"import os\n",
"# Set up project root directory\n",
"\n",
"\n",
"notebook_dir = os.getcwd() # Current working directory (assumes running from notebooks/)\n",
"project_path = os.path.normpath(os.path.join(notebook_dir, \"..\")) # Move up to project root\n",
"dima_path = os.path.normpath(os.path.join(project_path, \"dima\")) # Move up to project root\n",
"\n",
"if project_path not in sys.path: # Avoid duplicate entries\n",
" sys.path.append(project_path)\n",
"if dima_path not in sys.path:\n",
" print(dima_path, ':)')\n",
" #sys.path.insert(0,dima_path)\n",
"#sys.path.append(os.path.join(root_dir,'dima','instruments'))\n",
"#sys.path.append(os.path.join(root_dir,'dima','src'))\n",
"#sys.path.append(os.path.join(root_dir,'dima','utils'))\n",
"\n",
"#import dima.visualization.hdf5_vis as hdf5_vis\n",
"#import dima.pipelines.data_integration as data_integration\n",
"#import subprocess\n",
"\n",
"import pandas as pd\n",
"for item in sys.path:\n",
" print(item)\n",
"\n",
"CAMPAIGN_DATA_FILE = \"../data/collection_JFJ_2024_2025-03-14_2025-03-14.h5\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import dima.src.hdf5_ops as dataOps\n",
"\n",
"\n",
"path_to_data_file = CAMPAIGN_DATA_FILE\n",
"dataManager = dataOps.HDF5DataOpsManager(path_to_data_file)\n",
"\n",
"dataManager.load_file_obj()\n",
"dataManager.extract_and_load_dataset_metadata()\n",
"dataset_metadata_df = dataManager.dataset_metadata_df\n",
"\n",
"print(dataset_metadata_df.head(n=15))\n",
"dataManager.unload_file_obj()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"dataManager.load_file_obj()\n",
"# Specify diagnostic variables and the associated flags \n",
"dataset_name = 'ACSM_TOFWARE/2024/ACSM_JFJ_2024_meta.txt/data_table'\n",
"flags_dataset_name = 'ACSM_TOFWARE_flags/2024/ACSM_JFJ_2024_meta_flags.csv/data_table'\n",
"b''.decode()\n",
"dataset_df = dataManager.extract_dataset_as_dataframe(dataset_name)\n",
"flags_df = dataManager.extract_dataset_as_dataframe(flags_dataset_name)\n",
"flags_df['t_base'] = pd.to_datetime(flags_df['t_base'].apply(lambda x : x.decode(encoding=\"utf-8\")))\n",
"\n",
"dataManager.unload_file_obj()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"dataset_df.columns"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import pipelines.steps.visualize_datatable_vars as vis\n",
"\n",
"\n",
"\n",
"dataset_name = 'ACSM_TOFWARE/2024/ACSM_JFJ_2024_meta.txt/data_table'\n",
"flags_dataset_name = 'ACSM_TOFWARE_flags/2024/ACSM_JFJ_2024_meta_flags.csv/data_table'\n",
"\n",
"diagnostic_variables = ['VaporizerTemp_C', 'HeaterBias_V', 'FlowRefWave', 'FlowRate_mb', 'FlowRate_ccs', 'FilamentEmission_mA', 'Detector_V',\n",
" 'AnalogInput06_V', 'ABRefWave', 'ABsamp', 'ABCorrFact']\n",
"fig, ax = vis.visualize_table_variables(path_to_data_file, \n",
" dataset_name, \n",
" flags_dataset_name,\n",
" x_var = 't_base',\n",
" y_vars = diagnostic_variables)\n",
"\n",
"\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "dash_multi_chem_env",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.9"
}
},
"nbformat": 4,
"nbformat_minor": 2
}