{ "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 }