devjas1
Initial Release: Polymer Aging With ML [Standalone Appliance]
4a0e21d
Raw
History Blame Contribute Delete
1.46 kB
from typing import List, Dict
import os
from pathlib import Path
import matplotlib.pyplot as plt
import json
def list_txt_files(root_dir):
"""Recursively lists all .txt files in a directory."""
txt_files = []
for dirpath, _, filenames in os.walk(root_dir):
for file in filenames:
if file.endswith(".txt"):
full_path = os.path.join(dirpath, file)
txt_files.append(full_path)
return txt_files
def label_file(filepath):
"""
Assigns label based on filename prefix:
- 'sta-' => 0 (pristine)
- 'wea-' => 1 (weathered)
Returns None if prefix is unknown.
"""
filename = os.path.basename(filepath).lower()
if filename.startswith("sta-"):
return 0
elif filename.startswith("wea-"):
return 1
else:
return None # Unknown or irrelevant
def load_spectrum(filepath):
"""Loads a Raman spectrum from a two-column .txt file."""
x_vals, y_vals = [], []
with open(filepath, 'r', encoding='utf-8') as file:
for line in file:
parts = line.strip().split()
if len(parts) == 2:
try:
x, y = float(parts[0]), float(parts[1])
x_vals.append(x)
y_vals.append(y)
except ValueError:
continue # Skip lines that can't be converted
return x_vals, y_vals