-
Notifications
You must be signed in to change notification settings - Fork 0
ES Comparacion de espectros
⚙️ Página generada — no la edites aquí. Origen:
docs/comparacion_espectros.md. Corrígela en el repositorio y el wiki se regenera solo.
Disponible desde v4.10.0 · Menú Archivo → Comparar espectro…
Módulos: gui/file_actions.py (on_open_comparison, on_clear_comparison),
gui/canvas.py (render), gui/state.py
(ComparisonSpectrum)
Permite cargar uno o más espectros adicionales y superponerlos al espectro principal como líneas finas de colores distintos, sin tocar el motor de ajuste ni el estado de calibración. Es una ayuda puramente visual para comparar muestras, seguir una serie de temperatura de un vistazo o contrastar un espectro con una referencia.
- Hasta 6 espectros de comparación simultáneos.
- Cada uno con un color distinto de la paleta: naranja, teal, rosa, lima, violeta, azul cielo.
- Aparecen también en la figura Plotly exportable (HTML interactivo).
- El ajuste sigue funcionando con espectros de comparación activos: no interfieren.
- Cargar primero un espectro principal (Archivo → Cargar…). Sin espectro principal, "Comparar espectro…" muestra un aviso y no hace nada.
- Archivo → Comparar espectro… → seleccionar un fichero ADT/WS5/CSV.
- El espectro se normaliza y se superpone (primera línea: naranja).
- Repetir para añadir más (segunda: teal, etc.), hasta 6.
- Archivo → Limpiar comparación elimina todos (la acción se habilita solo cuando hay al menos uno).
on_open_comparison admite los mismos formatos que el espectro principal:
| Formato | Tratamiento |
|---|---|
.csv, .txt, .dat, .exp
|
load_velocity_csv — ya doblado en velocidad |
.ws5, .adt
|
Doblado automático: find_best_integer_or_half_center + fold_and_normalize con el centro óptimo, eje por velocity_axis
|
Tras cargar, el espectro se normaliza a transmisión relativa (baseline ≈ 1.0) dividiendo por el percentil 90:
norm = float(np.percentile(y_raw, 90)) or 1.0
y_data = y_raw / normEl resultado se guarda como un ComparisonSpectrum:
@dataclass
class ComparisonSpectrum:
"""Espectro cargado solo para comparación visual (sin ajuste)."""
path: Path
velocity: np.ndarray
y_data: np.ndarray
label: stry se añade a self.comparison_spectra (lista inicializada en __init__ de
MossbauerQtWindow). La etiqueta es el nombre del fichero sin extensión.
render() acepta un parámetro comparison= (lista de ComparisonSpectrum). Las
líneas de comparación se dibujan antes del espectro principal, con la paleta
_COMPARISON_PALETTE. Se almacenan en self._artists["cmp_lines"] y la firma de
layout (layout_sig) incluye n_cmp = len(comparison) para forzar un redibujado
completo cuando cambia el número de espectros comparados.
- Los
ComparisonSpectrumson solo de display: no entran enFitState, no se guardan en la sesión, no afectan a la calibración ni al modelo. -
on_clear_comparisonvacía la lista y deshabilita la acción de limpiar. - El reescalado de cada espectro es independiente (percentil 90 propio), de modo que espectros con distinta profundidad de absorción se comparan en la misma escala relativa de transmisión.
Las etiquetas de menú y mensajes están en locales/{es,en,fr}/strings.json:
-
file.compare_spectrum,file.clear_comparison -
status.comparison_added,status.comparison_cleared msg.comparison_needs_main
© Jorge Sánchez Marcos, Nieves Menéndez González — Departamento de Química Física, UAM · Wiki generado desde docs/ para Fitbauer v5.0.0
Fitbauer v5.0.0
Start
- Home
- Installation
- User flows Data
- Folding
- Calibration (33 T)
- Spectrum comparison Fitting
- Distribution fitting
- Peak detection
- Profile likelihood
- Batch fitting Reference
- Command-line tools
- NORMOS (.JOB)
- Session format
- Sextet model (spec)
- Architecture
Inicio
- Inicio
- Instalación
- Flujos de usuario Datos
- Plegado (folding)
- Calibración (33 T)
- Comparación de espectros Ajuste
- Distribuciones
- Detección de mínimos
- Verosimilitud perfilada
- Ajuste en serie Referencia
- Línea de comandos
- NORMOS (.JOB)
- Formato de sesión
- Modelo de sextete (spec)
- Arquitectura