Referencia CLI¶
spmkit expone una CLI construida con Typer y Rich.
Opciones globales¶
| Opción | Descripción |
|---|---|
--version, -V |
Muestra la versión y sale |
--help |
Muestra ayuda |
spmkit info¶
Muestra metadatos y canales del archivo.
Argumentos:
| Argumento | Descripción |
|---|---|
FILE |
Ruta al archivo .nid o .nhf |
Ejemplo:
Salida (tabla Rich):
scan.nid · formato nid
┌──────────────────┬───────────┬───────────┬────────┬────────────────┐
│ Canal │ Dirección │ Forma │ Unidad │ Tamaño X·Y │
├──────────────────┼───────────┼───────────┼────────┼────────────────┤
│ Z-Axis │ forward │ 256×256 │ m │ 5.00×5.00 µm │
│ Z-Axis │ backward │ 256×256 │ m │ 5.00×5.00 µm │
│ Phase │ forward │ 256×256 │ ° │ 5.00×5.00 µm │
│ CPD │ forward │ 256×256 │ V │ 5.00×5.00 µm │
└──────────────────┴───────────┴───────────┴────────┴────────────────┘
spmkit roughness¶
Calcula parámetros de rugosidad areal (ISO 25178).
Argumentos:
| Argumento | Descripción |
|---|---|
FILE |
Archivo .nid o .nhf |
Opciones:
| Opción | Por defecto | Descripción |
|---|---|---|
--channel, -c |
Z-Axis |
Canal a analizar |
--level, -l |
plane |
Nivelación: plane | poly | none |
Ejemplo:
Salida:
Rugosidad · Z-Axis (m)
┌───────────┬──────────────┐
│ Parámetro │ Valor │
├───────────┼──────────────┤
│ sa │ 2.388e-08 │
│ sq │ 3.901e-08 │
│ sz │ 2.205e-07 │
│ ssk │ 2.4395 │
│ sku │ 8.2629 │
└───────────┴──────────────┘
spmkit analyze¶
Pipeline completo: rugosidad (+ KPFM si hay canal CPD) → CSV + JSON.
Opciones:
| Opción | Por defecto | Descripción |
|---|---|---|
--output, -o |
./results |
Carpeta de salida |
--channel, -c |
Z-Axis |
Canal de topografía |
--cpd-channel |
CPD |
Canal KPFM |
--level, -l |
plane |
Nivelación |
--tip-wf |
— | Función de trabajo de la punta (eV) |
Ejemplo:
Genera:
out/scan_roughness.csvyout/scan_roughness.jsonout/scan_kpfm.csvyout/scan_kpfm.json(si existe canal CPD)
spmkit nanomech¶
Ajusta una curva fuerza-distancia (modelo de Hertz) y estima el módulo de Young.
Opciones:
| Opción | Por defecto | Descripción |
|---|---|---|
--channel, -c |
Deflection |
Canal de fuerza (N) |
--curve |
-1 |
Índice de curva (-1 = la del centro) |
--tip-radius |
10e-9 |
Radio de punta (m) |
--model |
sphere |
Modelo: sphere | paraboloid | cone |
--spring-constant |
— | Constante de resorte del cantiléver (N/m) |
Ejemplo:
Salida:
Nanomecánica · curva 50/100 · sphere
┌──────────────────────┬───────────────┐
│ Parámetro │ Valor │
├──────────────────────┼───────────────┤
│ Módulo de Young │ 26.13 MPa │
│ Punto de contacto │ -12.45 nm │
│ Adhesión │ -3.21 nN │
│ RMSE │ 1.234e-11 │
└──────────────────────┴───────────────┘
spmkit grains¶
Detecta granos o partículas y muestra estadísticas de tamaño.
Opciones:
| Opción | Por defecto | Descripción |
|---|---|---|
--channel, -c |
Z-Axis |
Canal de topografía |
--threshold, -t |
auto | Umbral de altura en unidades del canal |
--min-size |
4 |
Tamaño mínimo del grano en píxeles |
--relative-height |
0.5 |
Fracción para umbral automático (0..1] |
Ejemplo:
spmkit batch¶
Procesa todos los archivos SPM de una carpeta y genera una tabla resumen CSV.
Argumentos:
| Argumento | Descripción |
|---|---|
FOLDER |
Carpeta con archivos .nid, .nhf o .gwy |
Opciones:
| Opción | Por defecto | Descripción |
|---|---|---|
--channel, -c |
Z-Axis |
Canal a procesar |
--output, -o |
batch_summary.csv |
Archivo CSV de salida |
Ejemplo:
spmkit figure¶
Exporta una figura de publicación con barra de escala y colormap científico.
Opciones:
| Opción | Por defecto | Descripción |
|---|---|---|
--channel, -c |
Z-Axis |
Canal a visualizar |
--output, -o |
figure.png |
Archivo de salida (.png, .svg, .pdf) |
--colormap |
batlow |
Colormap (colormaps Crameri disponibles) |
--title |
(nombre del canal) | Título de la figura |
Ejemplo:
spmkit convert¶
Convierte entre formatos (.nid → .gwy, .nid → .h5, etc.).
Formatos de salida soportados:
| Extensión | Formato |
|---|---|
.gwy |
Gwyddion (abre en Gwyddion directamente) |
.h5, .hdf5 |
HDF5 |
Ejemplo:
spmkit evaporation¶
Sensado de masa por evaporación: sigue f(t) → masa y tasa de evaporación. Ajusta la ley d² (evaporación limitada por difusión).
Argumentos:
| Argumento | Descripción |
|---|---|
FOLDER |
Carpeta con espectros de thermal tuning (archivos .nid) |
Opciones:
| Opción | Por defecto | Descripción |
|---|---|---|
--spring-constant, -k |
(del archivo) | Constante de resorte (N/m) |
--position, -x |
1.0 |
Posición de carga x/L |
--output, -o |
— | CSV de salida |
Ejemplo:
spmkit psd¶
Análisis espectral: dimensión fractal, exponente de Hurst y longitud de correlación.
Opciones:
| Opción | Por defecto | Descripción |
|---|---|---|
--channel, -c |
Z-Axis |
Canal a analizar |
Ejemplo:
Salida:
Espectral · Z-Axis · scan.nid
┌────────────────────────────┬───────────┐
│ Parámetro │ Valor │
├────────────────────────────┼───────────┤
│ Dimensión fractal D │ 2.3142 │
│ Exponente de Hurst H │ 0.6858 │
│ Pendiente β (PSD) │ -2.3716 │
│ R² (ajuste log-log) │ 0.9921 │
│ Longitud de correlación │ 312.45 nm│
└────────────────────────────┴───────────┘
spmkit gui¶
Lanza la interfaz gráfica (requiere el extra gui).
Tip
Si ves ImportError, instala el extra: pip install "spmkit[gui]"