big refactor
This commit is contained in:
parent
8099c5eba8
commit
1b763fc11c
3 changed files with 0 additions and 74 deletions
|
|
@ -1,37 +0,0 @@
|
|||
"""
|
||||
SA2 Performance Profiling & Vector Edge Debug Export Module.
|
||||
Saves input vector edge debug data and cProfile statistics when debug_sa2 is enabled.
|
||||
"""
|
||||
from typing import Any
|
||||
import numpy as np
|
||||
from numpy.typing import NDArray
|
||||
|
||||
|
||||
def save_sa2_debug_data(
|
||||
edges: NDArray[np.float64] | None,
|
||||
obj_name: str,
|
||||
filepath: str | Any
|
||||
) -> None:
|
||||
"""
|
||||
Saves debug edge vector data files in the same folder as the output PDF:
|
||||
- {name}_sa2_debug_edges.txt (Input 2D edge vector coordinates fed to SA2)
|
||||
"""
|
||||
if filepath is None:
|
||||
return
|
||||
from pathlib import Path
|
||||
pdf_path = Path(filepath)
|
||||
out_dir = pdf_path.parent
|
||||
out_dir.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
clean_name = pdf_path.stem if pdf_path.suffix.lower() == ".pdf" else str(obj_name)
|
||||
base_prefix = out_dir / f"{clean_name}_sa2_debug"
|
||||
|
||||
# Save input edge coordinates as text file
|
||||
if edges is not None and len(edges) > 0:
|
||||
txt_file = f"{base_prefix}_edges.txt"
|
||||
with open(txt_file, "w") as f:
|
||||
f.write(f"# SA2 Input 2D Edges Debug for {clean_name}\n")
|
||||
f.write(f"# Format: x1 y1 x2 y2\n")
|
||||
for segment in edges:
|
||||
(x1, y1), (x2, y2) = segment[0], segment[1]
|
||||
f.write(f"{x1:.4f} {y1:.4f} {x2:.4f} {y2:.4f}\n")
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
from functools import lru_cache
|
||||
|
||||
import csv
|
||||
import os
|
||||
|
||||
@lru_cache(maxsize=128)
|
||||
def _load_csv(filename: str, mtime: float, encoding: str | None = None) -> tuple[tuple[str, ...], ...]:
|
||||
with open(filename, 'r', newline='', encoding=encoding) as f:
|
||||
reader = csv.reader(f)
|
||||
return tuple(tuple(row) for row in reader)
|
||||
|
||||
def parse_csv_to_tuples(filename: str) -> list[tuple[str, ...]]:
|
||||
current_mtime = os.path.getmtime(filename)
|
||||
data: tuple[tuple[str, ...], ...] = _load_csv(filename, current_mtime)
|
||||
return sorted(data, key=lambda x: x[1])
|
||||
|
||||
def parse_csv_to_dict(filename: str) -> dict[str, list[str]]:
|
||||
current_mtime = os.path.getmtime(filename)
|
||||
data: tuple[tuple[str, ...], ...] = _load_csv(filename, current_mtime, encoding='utf-8-sig')
|
||||
result = {}
|
||||
for row in data:
|
||||
if row:
|
||||
result[row[0]] = list(row[1:])
|
||||
return result
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
import os, json
|
||||
|
||||
def dict_from_json(path):
|
||||
with open(path, 'r') as file:
|
||||
return json.load(file)
|
||||
|
||||
def dump_dict_to_json(dictionary, path):
|
||||
folder = os.path.dirname(path)
|
||||
if folder and not os.path.exists(folder):
|
||||
os.makedirs(folder, exist_ok=True)
|
||||
|
||||
with open(path, 'w') as file:
|
||||
json.dump(dictionary, file, indent=2)
|
||||
Loading…
Add table
Reference in a new issue