-
Notifications
You must be signed in to change notification settings - Fork 0
Command line tools
Fitbauer fits without a display: both CLIs drive the same engines as the GUI
(core/), so results are identical. Full reference with worked examples in the
English manual, appendix Command-line tools.
Takes a session template saved from the GUI (File ▸ Save session…) plus one or more spectra. With several spectra it runs a warm-start series, each fit starting from the previous converged values.
python mossbauer_fit_cli.py --template template.json \
--spectrum sample.adt --out sample.fit.json
# Monte Carlo errors and asymmetric profile-likelihood intervals
python mossbauer_fit_cli.py --template template.json --spectrum sample.adt \
--out sample.fit.json --bootstrap 200 --profile-likelihoodFull options
usage: mossbauer_fit_cli.py [-h] --template TEMPLATE --spectrum SPECTRUM
[SPECTRUM ...] --out OUT [--vmax VMAX]
[--bootstrap N] [--profile-likelihood]
[--sextet-pattern {alpha_fe,normos}]
[--intensity-convention {depth,area}]
[--export-job FICHERO] [--src-frac F]
[--line-asym A] [--quiet]
Ajuste Mössbauer desde línea de comandos: una plantilla + espectros → ficheros de resultado.
Uso típico:
python mossbauer_fit_cli.py --template plantilla.json --spectrum medida.adt --out medida.fit.json
La plantilla es un fichero de sesión generado por la GUI (Archivo ▸ Guardar
sesión...). Aporta los parámetros iniciales del modelo (vars, fixed, tipos de
componente, perfil de línea, etc.). El centro de folding se detecta para cada
espectro automáticamente (la plantilla no impone el suyo).
Errores avanzados (opcionales, mismo motor que la GUI):
--bootstrap N errores por remuestreo Monte Carlo (N réplicas)
--profile-likelihood intervalos asimétricos 1σ/2σ por verosimilitud
perfilada (cruces Δχ²=1 y Δχ²=4)
Serie con warm-start: si se pasan varios espectros, cada ajuste parte de los
valores convergidos del anterior (``HeadlessSession.batch_fit_sequential``,
igual que el batch de la GUI) y ``--out`` recibe un único JSON con una fila
por fichero::
python mossbauer_fit_cli.py --template T.json --spectrum serie_010K.adt serie_050K.adt serie_100K.adt --out serie.batch.json
El proceso es completamente headless: no necesita ningún display ni Tk. Se
apoya en ``core.session.HeadlessSession`` (la misma numérica que usa la GUI
a través de ``core.fit_engine``).
Salida (un espectro): el .json escrito contiene la misma estructura que una
sesión guardada desde la GUI (``session_payload``) más una sección
``batch_fit_result`` con los valores y errores del último ajuste, y, si se
pidieron, ``bootstrap`` y ``profile_likelihood``.
options:
-h, --help show this help message and exit
--template TEMPLATE Fichero .json de sesión que sirve como plantilla.
--spectrum SPECTRUM [SPECTRUM ...]
Espectro(s) .ws5 o .adt a ajustar. Con varios, serie
con warm-start secuencial y un único JSON de salida.
--out OUT Fichero .json donde escribir el resultado.
--vmax VMAX Sobrescribe vmax (mm/s) — útil si la calibración
varía.
--bootstrap N Errores por remuestreo Monte Carlo con N réplicas
(solo con un espectro).
--profile-likelihood Intervalos asimétricos 1σ/2σ por verosimilitud
perfilada (solo con un espectro).
--sextet-pattern {alpha_fe,normos}
Convenio de posiciones del sexteto: 'alpha_fe' (patrón
publicado de α-Fe, por defecto) o 'normos' (derivado
de los momentos nucleares, como NORMOS-SITE). Afecta
al sexteto discreto, al Hamiltoniano completo y al
kernel de distribución.
--intensity-convention {depth,area}
Razones int1/int2 entre líneas de una componente:
'depth' (profundidad, histórico) o 'area' (ÁREA, que
es lo que son físicamente las probabilidades 3:2:1 y
lo que significan D13/D23 en NORMOS). Solo difieren si
las anchuras relativas no son 1.
--export-job FICHERO Escribe el modelo ajustado como fichero .JOB de
NORMOS-SITE (para comparar en NORMOS o compartir la
configuración). No ejecuta NORMOS.
--src-frac F Fracción RESONANTE de la fuente (FSO de NORMOS-SITE),
solo con el modelo de absorbente 'transmission': la
transmisión satura en 1−F en vez de en 0. Por defecto
1 (toda la radiación es resonante).
--line-asym A Asimetría de línea por interferencia (AKS de NORMOS-
SITE): el perfil se multiplica por 1 − A·(v−v0)/Γ. Por
defecto 0 (línea simétrica).
--quiet No imprimir el resumen por stdout (solo código de
salida).
Covers the same modes as the GUI: P(BHF) and P(ΔEQ), histogram / Gaussian / VBF
/ binomial shapes, Tikhonov / TV / MaxEnt regularization, Voigt kernels, δ(H) and
ΔEQ(H) correlations, and 2D distributions.
python fit_bhf_distribution_cli.py sample.ws5 --bmin 0 --bmax 50 --nbins 50 \
--gamma 0.18 --alpha 0.01 --plot --scan-alpha
# P(ΔEQ) with fixed BHF (0 = doublet); VBF shape; maximum entropy
python fit_bhf_distribution_cli.py sample.adt --variable quad --bmax 3
python fit_bhf_distribution_cli.py sample.adt --shape vbf --vbf-components 2
python fit_bhf_distribution_cli.py sample.adt --reg-mode maxentFull options
usage: fit_bhf_distribution_cli.py [-h] [--out-prefix OUT_PREFIX]
[--center CENTER] [--vmax VMAX]
[--norm-percentile NORM_PERCENTILE]
[--variable {bhf,quad,delta}]
[--fixed-bhf FIXED_BHF]
[--shape {histograma,gaussiana,vbf,binomial}]
[--vbf-components VBF_COMPONENTS]
[--reg-mode {tikhonov,tv,maxent}]
[--profile {Lorentziana,Voigt}]
[--voigt-sigma VOIGT_SIGMA]
[--delta-slope DELTA_SLOPE]
[--quad-slope QUAD_SLOPE] [--d13 D13]
[--d23 D23]
[--kernel-treatment {1er_orden,hamiltoniano}]
[--kernel-eta KERNEL_ETA]
[--source-polarized]
[--source-bhf SOURCE_BHF]
[--source-theta SOURCE_THETA]
[--absorber-theta ABSORBER_THETA]
[--dist-2d] [--qmin QMIN] [--qmax QMAX]
[--nbins-quad NBINS_QUAD]
[--alpha-quad ALPHA_QUAD] [--delta DELTA]
[--quad QUAD] [--gamma GAMMA] [--bmin BMIN]
[--bmax BMAX] [--nbins NBINS]
[--alpha ALPHA] [--no-fit-baseline]
[--no-fit-slope] [--baseline BASELINE]
[--slope SLOPE] [--sharp-bhf SHARP_BHF]
[--sharp-delta SHARP_DELTA]
[--sharp-quad SHARP_QUAD]
[--sharp-gamma SHARP_GAMMA] [--scan-alpha]
[--alpha-min ALPHA_MIN]
[--alpha-max ALPHA_MAX]
[--alpha-count ALPHA_COUNT] [--plot]
[--edge-anchor B]
[--intensity-convention {depth,area}]
[--line-asym A]
[--sextet-pattern {alpha_fe,normos}]
input
Ajusta una distribucion hiperfina P(BHF)/P(ΔEQ) a un WS5 doblado.
positional arguments:
input Fichero .ws5/.ADT
options:
-h, --help show this help message and exit
--out-prefix OUT_PREFIX
Prefijo de salida; por defecto <input>_bhf
--center CENTER Centro interno de doblado. Si se omite usa .RES o
busqueda chi2.
--vmax VMAX Velocidad maxima mm/s. Si se omite usa .JOB/.PLT o 12.
--norm-percentile NORM_PERCENTILE
Percentil para normalizar cuentas dobladas.
--variable {bhf,quad,delta}
Variable de la distribucion: bhf → P(BHF); quad →
P(ΔEQ) con BHF fijo; delta → P(δ), distribucion de
desplazamiento isomerico (paridad con METHOD=8 de
NORMOS-DIST; con --fixed-bhf 0 y --quad 0 el kernel
son singletes, que es el caso de NORMOS, pero tambien
admite sexteto o doblete).
--fixed-bhf FIXED_BHF
BHF fijo (T) del kernel cuando --variable quad (0 =
doblete).
--shape {histograma,gaussiana,vbf,binomial}
Forma de la distribucion (gaussiana = VBF con N=1 y
linea Lorentziana).
--vbf-components VBF_COMPONENTS
Numero de gaussianas del VBF (solo --shape vbf).
--reg-mode {tikhonov,tv,maxent}
Regularizador del histograma Hesse-Rübartsch.
--profile {Lorentziana,Voigt}
Perfil de linea del kernel.
--voigt-sigma VOIGT_SIGMA
Anchura gaussiana instrumental (mm/s) con --profile
Voigt.
--delta-slope DELTA_SLOPE
Correlacion lineal δ(H): dδ/dH (mm/s por unidad de la
malla). 0 = clasico.
--quad-slope QUAD_SLOPE
Correlacion lineal ΔEQ(H): dΔEQ/dH. 0 = clasico.
--d13 D13 Ratio de area lineas (1,6)/(3,4) del kernel sextete
(convenio NORMOS D13; 3 = patron estandar). Solo
--shape histograma.
--d23 D23 Ratio de area lineas (2,5)/(3,4) del kernel sextete
(convenio NORMOS D23; 2 = polvo, 0-4 = textura). Solo
--shape histograma.
--kernel-treatment {1er_orden,hamiltoniano}
Física del kernel sextete: '1er_orden' clásico o
'hamiltoniano' (promedio de polvo del Hamiltoniano
completo; --quad pasa a ser el módulo del EFG
aleatorio, análogo exacto del EXACT/QUP de NORMOS-
DIST). Solo --shape histograma.
--kernel-eta KERNEL_ETA
Asimetría η del EFG con --kernel-treatment
hamiltoniano.
--source-polarized Fuente POLARIZADA (paridad METHOD=4/POLAR de NORMOS-
DIST): kernel de peine 36 líneas por selección de
helicidad. Solo --shape histograma con --variable bhf.
--source-bhf SOURCE_BHF
Campo hiperfino de la FUENTE (T) con --source-
polarized.
--source-theta SOURCE_THETA
Ángulo fuente-haz (grados) con --source-polarized (0 =
paralelo, validado).
--absorber-theta ABSORBER_THETA
Ángulo campo del absorbente-haz (grados) con --source-
polarized (0 = alineado).
--dist-2d Distribucion bidimensional P(BHF, ΔEQ) regularizada.
--qmin QMIN ΔEQ minimo (mm/s) en modo 2D.
--qmax QMAX ΔEQ maximo (mm/s) en modo 2D.
--nbins-quad NBINS_QUAD
Bins de ΔEQ en modo 2D.
--alpha-quad ALPHA_QUAD
Regularizacion en la direccion ΔEQ (2D); por defecto
igual a --alpha.
--delta DELTA CS/delta fijo. Por defecto intenta .RES o 0.
--quad QUAD DeltaEQ fijo. Por defecto intenta .RES/.JOB o 0.
--gamma GAMMA Gamma FWHM fija. Por defecto intenta WID de .RES o
0.36.
--bmin BMIN Minimo de la malla (T para bhf, mm/s para quad). Por
defecto 0.
--bmax BMAX Maximo de la malla (T para bhf, mm/s para quad). Por
defecto 50 T / 3 mm/s.
--nbins NBINS Numero de bins de la malla
--alpha ALPHA Regularizacion
--no-fit-baseline Fija baseline
--no-fit-slope Fija slope
--baseline BASELINE Baseline inicial/fijo
--slope SLOPE Slope inicial/fijo
--sharp-bhf SHARP_BHF
Añade un sextete nítido no regularizado con este BHF.
Repetible, p.ej. --sharp-bhf 33
--sharp-delta SHARP_DELTA
Delta de sextetes nítidos; por defecto usa --delta
--sharp-quad SHARP_QUAD
Quad de sextetes nítidos; por defecto usa --quad
--sharp-gamma SHARP_GAMMA
Gamma de sextetes nítidos; por defecto usa --gamma
--scan-alpha Ademas escanea alpha para una L-curve simple
--alpha-min ALPHA_MIN
--alpha-max ALPHA_MAX
--alpha-count ALPHA_COUNT
--plot Guarda PNG con espectro y P(BHF)
--edge-anchor B Anclaje de los extremos de la malla (BETA1/BETA2 de
NORMOS-DIST): fuerza P->0 en el primer y ultimo bin. 0
= sin anclaje. Util para que el histograma no apile
peso espurio en el borde.
--intensity-convention {depth,area}
Razones de intensidad entre lineas del kernel: 'depth'
(profundidad, historico) o 'area' (AREA, convenio
D13/D23 de NORMOS). Solo difieren si las anchuras
relativas no son 1.
--line-asym A Asimetria de linea por interferencia (AKS de NORMOS-
SITE): el perfil se multiplica por 1 - A*(v-v0)/Gamma.
0 = linea simetrica.
--sextet-pattern {alpha_fe,normos}
Convenio de posiciones del sexteto del kernel:
'alpha_fe' (patron publicado de alfa-Fe, por defecto)
o 'normos' (derivado de los momentos nucleares, como
NORMOS-SITE).
See also: Distribution fitting · Batch fitting
© 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