a8b962e317
Two strands of in-progress work, committed together because they overlap in sras_workers.py and main_window.py. Min peak frequency floor: - CACH tail bumped to version 4, adding u32 min_freq_khz provenance in fixed-point kHz (a float32 20.1 reads back as 20.10000038 and would report a spurious mismatch forever). v1-v3 tails read as no floor. - Stored FFT caches are accepted when the reader's floor is at or above the stored one, since a higher floor is re-applicable by masking. - Floor plumbed through compute_rf_image, BatchCacheWorker and the viewer. Batch Export View as Images: - New sras_render.py holds draw_view_image, shared by the Qt canvas and the headless exporter so a PNG cannot drift from what the GUI shows. Deliberately Qt-free so it is importable in a pool subprocess. - BatchExportImagesWorker renders the current view settings across many files, process-pooled with an inline fallback, reporting per-file output names so the caller can flag same-stem collisions. - _axes_extent extracted into sras_format for both render paths. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
41 lines
912 B
TOML
41 lines
912 B
TOML
[build-system]
|
|
requires = ["setuptools>=68"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "sras-viewer"
|
|
version = "0.1.0"
|
|
description = "Viewer and processing tools for SRAS .sras scan files"
|
|
requires-python = ">=3.12"
|
|
dependencies = [
|
|
"PyQt6==6.10.2",
|
|
"numpy==2.4.1",
|
|
"matplotlib==3.10.8",
|
|
"scipy==1.18.0",
|
|
# Angle alignment only: masked FFT phase correlation (skimage.registration).
|
|
"scikit-image==0.26.0",
|
|
# Mandatory rfft backend for the peak search (no SciPy fallback).
|
|
"pyFFTW==0.15.1",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = ["pytest"]
|
|
|
|
[project.scripts]
|
|
sras-viewer = "sras_viewer.main_window:main"
|
|
|
|
[tool.setuptools]
|
|
py-modules = [
|
|
"sras_format",
|
|
"sras_compute",
|
|
"sras_render",
|
|
"sras_workers",
|
|
"sras_align_export",
|
|
"sras_average",
|
|
"sras_edit_scans",
|
|
]
|
|
packages = ["sras_viewer"]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|