{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "2d67457f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " id wafer_id batch_id scan_time status \\\n", "0 1 wafer_0 BATCH_20260317_201406 2026-02-15 20:14:17 FAIL \n", "1 2 wafer_1 BATCH_20260317_201406 2026-02-15 20:14:57 FAIL \n", "2 3 wafer_2 BATCH_20260317_201406 2026-02-15 20:14:59 FAIL \n", "3 4 wafer_3 BATCH_20260317_201406 2026-02-15 20:14:21 FAIL \n", "4 5 wafer_4 BATCH_20260317_201406 2026-02-15 20:14:36 FAIL \n", "\n", " ground_truth defect_type action confidence \\\n", "0 Center+Edge-Loc+Random Edge-Ring MOVE_TO_MICRO_STAGE 0.90 \n", "1 Center+Edge-Loc+Random Center ROUTE_TO_SCRAP 0.96 \n", "2 Center+Edge-Loc+Random Center ROUTE_TO_SCRAP 0.88 \n", "3 Center+Edge-Loc+Random Edge-Ring MOVE_TO_MICRO_STAGE 0.91 \n", "4 Center+Edge-Loc+Random Center ROUTE_TO_SCRAP 0.85 \n", "\n", " roi_coordinates defect_area_px material_wasted_pct \n", "0 [1, 0, 51, 50] 2500 92.46 \n", "1 [1, 0, 51, 50] 2500 92.46 \n", "2 [1, 0, 51, 50] 2500 92.46 \n", "3 [1, 0, 51, 50] 2500 92.46 \n", "4 [1, 0, 52, 51] 2601 96.19 \n" ] } ], "source": [ "import pandas as pd\n", "import sqlite3\n", "\n", "# 1. Connect to the database file\n", "conn = sqlite3.connect('/Users/udayan/CHITS_PR_1/middleware/wafer_control.db')\n", "\n", "# 2. Write a query to select the data you want\n", "query = \"SELECT * FROM wafer_logs\"\n", "\n", "# 3. Load the data into a DataFrame\n", "df = pd.read_sql_query(query, conn)\n", "\n", "# 4. Close the connection\n", "conn.close()\n", "\n", "# View the first few rows\n", "print(df.head())" ] }, { "cell_type": "code", "execution_count": 3, "id": "b287cad1", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
idwafer_idbatch_idscan_timestatusdefect_typeactionconfidenceroi_coordinatesdefect_area_pxmaterial_wasted_pct
01wafer_100574BATCH_20260317_0214512026-02-15 02:15:48FAILEdge-RingMOVE_TO_MICRO_STAGE0.95[1, 0, 115, 136]1550497.56
12wafer_101787BATCH_20260317_0214512026-02-15 02:15:09FAILCenterROUTE_TO_SCRAP0.96[0, 0, 43, 43]184995.51
23wafer_103333BATCH_20260317_0214512026-02-15 02:14:59FAILEdge-RingMOVE_TO_MICRO_STAGE0.98[0, 0, 43, 43]184995.51
34wafer_106281BATCH_20260317_0214512026-02-15 02:15:19FAILLocMOVE_TO_MICRO_STAGE0.60[0, 0, 30, 34]102094.01
45wafer_106301BATCH_20260317_0214512026-02-15 02:15:19FAILLocMOVE_TO_MICRO_STAGE0.96[0, 0, 29, 33]95788.20
....................................
50995100wafer_95994BATCH_20260317_0214512026-03-16 02:15:15FAILCenterROUTE_TO_SCRAP0.96[0, 0, 60, 40]240093.68
51005101wafer_96083BATCH_20260317_0214512026-03-17 02:15:17FAILCenterROUTE_TO_SCRAP0.96[0, 0, 60, 40]240093.68
51015102wafer_9637BATCH_20260317_0214512026-03-17 02:14:52FAILEdge-LocMOVE_TO_MICRO_STAGE0.98[0, 0, 28, 31]86890.70
51025103wafer_96594BATCH_20260317_0214512026-03-17 02:15:22FAILLocMOVE_TO_MICRO_STAGE0.81[0, 0, 30, 29]87090.53
51035104wafer_983BATCH_20260317_0214512026-03-17 02:15:00FAILEdge-LocMOVE_TO_MICRO_STAGE0.69[0, 0, 25, 25]62592.46
\n", "

5104 rows × 11 columns

\n", "
" ], "text/plain": [ " id wafer_id batch_id scan_time status \\\n", "0 1 wafer_100574 BATCH_20260317_021451 2026-02-15 02:15:48 FAIL \n", "1 2 wafer_101787 BATCH_20260317_021451 2026-02-15 02:15:09 FAIL \n", "2 3 wafer_103333 BATCH_20260317_021451 2026-02-15 02:14:59 FAIL \n", "3 4 wafer_106281 BATCH_20260317_021451 2026-02-15 02:15:19 FAIL \n", "4 5 wafer_106301 BATCH_20260317_021451 2026-02-15 02:15:19 FAIL \n", "... ... ... ... ... ... \n", "5099 5100 wafer_95994 BATCH_20260317_021451 2026-03-16 02:15:15 FAIL \n", "5100 5101 wafer_96083 BATCH_20260317_021451 2026-03-17 02:15:17 FAIL \n", "5101 5102 wafer_9637 BATCH_20260317_021451 2026-03-17 02:14:52 FAIL \n", "5102 5103 wafer_96594 BATCH_20260317_021451 2026-03-17 02:15:22 FAIL \n", "5103 5104 wafer_983 BATCH_20260317_021451 2026-03-17 02:15:00 FAIL \n", "\n", " defect_type action confidence roi_coordinates \\\n", "0 Edge-Ring MOVE_TO_MICRO_STAGE 0.95 [1, 0, 115, 136] \n", "1 Center ROUTE_TO_SCRAP 0.96 [0, 0, 43, 43] \n", "2 Edge-Ring MOVE_TO_MICRO_STAGE 0.98 [0, 0, 43, 43] \n", "3 Loc MOVE_TO_MICRO_STAGE 0.60 [0, 0, 30, 34] \n", "4 Loc MOVE_TO_MICRO_STAGE 0.96 [0, 0, 29, 33] \n", "... ... ... ... ... \n", "5099 Center ROUTE_TO_SCRAP 0.96 [0, 0, 60, 40] \n", "5100 Center ROUTE_TO_SCRAP 0.96 [0, 0, 60, 40] \n", "5101 Edge-Loc MOVE_TO_MICRO_STAGE 0.98 [0, 0, 28, 31] \n", "5102 Loc MOVE_TO_MICRO_STAGE 0.81 [0, 0, 30, 29] \n", "5103 Edge-Loc MOVE_TO_MICRO_STAGE 0.69 [0, 0, 25, 25] \n", "\n", " defect_area_px material_wasted_pct \n", "0 15504 97.56 \n", "1 1849 95.51 \n", "2 1849 95.51 \n", "3 1020 94.01 \n", "4 957 88.20 \n", "... ... ... \n", "5099 2400 93.68 \n", "5100 2400 93.68 \n", "5101 868 90.70 \n", "5102 870 90.53 \n", "5103 625 92.46 \n", "\n", "[5104 rows x 11 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df" ] }, { "cell_type": "code", "execution_count": 2, "id": "299c2be8", "metadata": {}, "outputs": [], "source": [ "pass_wafers = df[df['status'] == 'PASS']" ] }, { "cell_type": "code", "execution_count": 3, "id": "46fbb2d3", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
idwafer_idbatch_idscan_timestatusground_truthdefect_typeactionconfidenceroi_coordinatesdefect_area_pxmaterial_wasted_pct
3386633867wafer_33866BATCH_20260317_2014062026-03-13 20:14:29PASSNormalNoneROUTE_TO_ASSEMBLY1.0[]00.0
3386733868wafer_33867BATCH_20260317_2014062026-03-13 20:14:08PASSNormalNoneROUTE_TO_ASSEMBLY1.0[]00.0
3386833869wafer_33868BATCH_20260317_2014062026-03-13 20:14:08PASSNormalNoneROUTE_TO_ASSEMBLY1.0[]00.0
3386933870wafer_33869BATCH_20260317_2014062026-03-13 20:14:29PASSNormalNoneROUTE_TO_ASSEMBLY1.0[]00.0
3387033871wafer_33870BATCH_20260317_2014062026-03-13 20:14:31PASSNormalNoneROUTE_TO_ASSEMBLY1.0[]00.0
.......................................
823948823949wm811k_811442BATCH_20260317_2014062026-03-16 20:14:06PASSNormalNoneROUTE_TO_ASSEMBLY1.0[]00.0
823949823950wm811k_811445BATCH_20260317_2014062026-03-16 20:14:07PASSNormalNoneROUTE_TO_ASSEMBLY1.0[]00.0
823950823951wm811k_811449BATCH_20260317_2014062026-03-16 20:14:07PASSNormalNoneROUTE_TO_ASSEMBLY1.0[]00.0
823951823952wm811k_811455BATCH_20260317_2014062026-03-16 20:14:07PASSNormalNoneROUTE_TO_ASSEMBLY1.0[]00.0
823952823953wm811k_811456BATCH_20260317_2014062026-03-16 20:14:09PASSNormalNoneROUTE_TO_ASSEMBLY1.0[]00.0
\n", "

786938 rows × 12 columns

\n", "
" ], "text/plain": [ " id wafer_id batch_id scan_time \\\n", "33866 33867 wafer_33866 BATCH_20260317_201406 2026-03-13 20:14:29 \n", "33867 33868 wafer_33867 BATCH_20260317_201406 2026-03-13 20:14:08 \n", "33868 33869 wafer_33868 BATCH_20260317_201406 2026-03-13 20:14:08 \n", "33869 33870 wafer_33869 BATCH_20260317_201406 2026-03-13 20:14:29 \n", "33870 33871 wafer_33870 BATCH_20260317_201406 2026-03-13 20:14:31 \n", "... ... ... ... ... \n", "823948 823949 wm811k_811442 BATCH_20260317_201406 2026-03-16 20:14:06 \n", "823949 823950 wm811k_811445 BATCH_20260317_201406 2026-03-16 20:14:07 \n", "823950 823951 wm811k_811449 BATCH_20260317_201406 2026-03-16 20:14:07 \n", "823951 823952 wm811k_811455 BATCH_20260317_201406 2026-03-16 20:14:07 \n", "823952 823953 wm811k_811456 BATCH_20260317_201406 2026-03-16 20:14:09 \n", "\n", " status ground_truth defect_type action confidence \\\n", "33866 PASS Normal None ROUTE_TO_ASSEMBLY 1.0 \n", "33867 PASS Normal None ROUTE_TO_ASSEMBLY 1.0 \n", "33868 PASS Normal None ROUTE_TO_ASSEMBLY 1.0 \n", "33869 PASS Normal None ROUTE_TO_ASSEMBLY 1.0 \n", "33870 PASS Normal None ROUTE_TO_ASSEMBLY 1.0 \n", "... ... ... ... ... ... \n", "823948 PASS Normal None ROUTE_TO_ASSEMBLY 1.0 \n", "823949 PASS Normal None ROUTE_TO_ASSEMBLY 1.0 \n", "823950 PASS Normal None ROUTE_TO_ASSEMBLY 1.0 \n", "823951 PASS Normal None ROUTE_TO_ASSEMBLY 1.0 \n", "823952 PASS Normal None ROUTE_TO_ASSEMBLY 1.0 \n", "\n", " roi_coordinates defect_area_px material_wasted_pct \n", "33866 [] 0 0.0 \n", "33867 [] 0 0.0 \n", "33868 [] 0 0.0 \n", "33869 [] 0 0.0 \n", "33870 [] 0 0.0 \n", "... ... ... ... \n", "823948 [] 0 0.0 \n", "823949 [] 0 0.0 \n", "823950 [] 0 0.0 \n", "823951 [] 0 0.0 \n", "823952 [] 0 0.0 \n", "\n", "[786938 rows x 12 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pass_wafers" ] } ], "metadata": { "kernelspec": { "display_name": "venv", "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.13.5" } }, "nbformat": 4, "nbformat_minor": 5 }